Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CODE-DETECTION — Пакет для воспроизведения исследования того, как аудиторы уязвимостей на основе LLM полагаются на данные статического анализа, с фронтендом на tree-sitter для C/C++, контролируемыми условиями подачи данных и кодом статистического анализа. | Kitploit
Инструменты/GitHubGitHub/lzh0082-cloud/code-detection
Статический анализАнализ уязвимостейАнализ КодаМашинное ОбучениеСтатьи и ИсследованияОбучение и ОбразованиеБезопасность ИИ
GitHublzh0082-cloud/code-detection

CODE-DETECTION

Пакет для воспроизведения исследования того, как аудиторы уязвимостей на основе LLM полагаются на данные статического анализа, с фронтендом на tree-sitter для C/C++, контролируемыми условиями подачи данных и кодом статистического анализа.

Репозиторий
111 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Доверяя инструменту: асимметричное подчинение LLM-аудиторов уязвимостей свидетельствам статического анализа

Пакет для воспроизведения статьи с тем же названием автора ZhiHong Liu.

LLM-аудиторам уязвимостей были предоставлены свидетельства статического анализа об уязвимых и исправленных функциях C/C++ из PrimeVul. Свидетельства были либо истинными, либо сфабрикованными, при этом код и модель оставались неизменными. Ложные заверения (утверждается, что отсутствующая проверка существует) снижали обнаружение реальных уязвимостей. Ложные тревоги (утверждается, что добавленная проверка отсутствует) никогда не снижали точность, и модели оспаривали их гораздо чаще. Зарегистрированная репликация на семи новых моделях подтвердила асимметрию. Проверка каждого утверждения в отдельном вызове и показ опровергнутых утверждений (verify-show) снизили подчинение в зарегистрированном тесте.

Этот репозиторий содержит анализатор, код эксперимента и анализа, регистрации, аннотации и сводные отчёты. Полные записи прогонов (каждое свидетельство и ответ модели) и кэш ответов LLM архивированы отдельно (см. Полные результаты).

Содержание

ПутьСодержимое
sgv/cfront.pyВнутрипроцедурный фронтенд C/C++ (tree-sitter): чувствительные операции, доминирующие проверки, обязательства доказательства
sgv/evidence.pyКонтролируемое исследование: условия свидетельств C0–C5, стратегии представления, конфигурации моделей, раннер
sgv/vuln.pyПромпт аудита, разбор вердикта и загрузка PrimeVul (а также предварительное исследование уязвимостей)
sgv/contrasts.pyТочность по версиям и сопоставленные контрасты (C4 vs C2, C5 vs C2, …)
sgv/direction.pyНаправленно-зависимая мера подчинения (H3)
sgv/deference.pyПодчинение и лексический признак «оспаривания»
sgv/mitigation.pyСравнение стратегий представления с парными тестами МакНемара и поправкой Холма
sgv/pooled.pyПост-хок объединённый анализ H2 и описательные статистики набора данных
sgv/annotate.pyЛисты аннотации и согласие (каппа Коэна) для поведенческого кодирования
sgv/figures.py, sgv/diagrams.pyВсе рисунки статьи, вычисленные по записям прогонов
sgv/stats.pyИнтервалы Уилсона, точный тест МакНемара, парный бутстрэп
sgv/llm.pyКлиент, совместимый с OpenAI, с кэшем ответов в SQLite
sgv/analysis.py, claims.py, verifier.py, methods.py, run.py, trace.py, labeling.py, …Предварительное исследование на Python (CRUXEval, REval): извлечение утверждений и верификация на основе структуры
preregistration/Регистрация H3 и хэши кода анализа, зафиксированные до прогонов
annotation/Руководство по аннотации, листы обоих LLM-аннотаторов, проверка автора из 20 пунктов
results/*.mdСводные отчёты исследования: held-out, development, test и H3 наборы
tests/Модульные тесты (python -m unittest discover -s tests -t .)

Установка

Python 3.12 или новее (разработано с 3.14).

pip install -r requirements.txt

Данные

PrimeVul здесь не распространяется. Загрузите парные разбиения из репозитория PrimeVul и разместите их как

data/primevul/primevul_train_paired.jsonl
data/primevul/primevul_valid_paired.jsonl
data/primevul/primevul_test_paired.jsonl

Выбор пар детерминирован при заданных файле, --pairs, --max-lines и --seed. Данные для предварительного исследования загружаются командами python -m sgv.data --dest data/cruxeval.jsonl и python -m sgv.reval --dest data/reval.

Полные результаты

Каталог с полными результатами, содержащий evidence.jsonl (заметки, отображаемые при каждом условии) и records.jsonl (каждый ответ модели и вердикт) для каждого запуска, вместе с llm_cache.sqlite (все ответы API), архивирован на Zenodo. Распакуйте его в корне репозитория, чтобы он создал results/. При наличии кэша каждый запуск ниже воспроизводится из кэша без каких-либо вызовов API, а каждый анализ воспроизводит числа из статьи.

Воспроизведение анализов (доступ к API не требуется)

python -m sgv.contrasts results/evidence_full_a                    # RQ1/RQ2 on the study set
python -m sgv.deference results/evidence_full_a                    # RQ3: deference and dispute cue
python -m sgv.mitigation results/evidence_full_a results/mitig_quote results/mitig_alarms \
       results/mitig_reframe results/mitig_provenance --model flash  # RQ4 on the study set
python -m sgv.direction results/h3_* --pooled                      # H3 (registered)
python -m sgv.pooled                                               # post-hoc pooled H2
python -m sgv.annotate score annotation/sheet_claude.csv annotation/sheet_deepseek.csv
python -m sgv.figures --out figures                                # data figures
python -m sgv.diagrams --out figures                               # schematic figures

Запуск экспериментов

Модели вызываются через API, совместимые с OpenAI (DeepSeek и Alibaba Cloud Bailian/DashScope). Названия моделей, закреплённые снимки и настройки запросов находятся в MODELS в sgv/evidence.py. Ключи API считываются из окружения (SGV_API_KEY для DeepSeek, SGV_QWEN_KEY для DashScope) или из ~/.sgv_deepseek_key / ~/.sgv_qwen_key. Они никогда не записываются в репозиторий.

# Build and inspect the evidence of every condition without calling a model
python -m sgv.evidence --pairs 0 --dry-run --out results/evidence_dry

# One run: conditions, presentation strategy and models are arguments
python -m sgv.evidence --data data/primevul/primevul_test_paired.jsonl --pairs 0 \
       --models flash --conditions C2,C4,C5 --presentation plain --out results/my_run

Основные параметры: --conditions (C0–C5), --presentation (plain, quote, alarms, reframe, provenance, verify, verify-show, commit, commit-verify), --heldout (пары, не пересекающиеся с набором исследования), --max-lines, --seed. Наборы данных из статьи:

НаборИсходное разбиениеОтбор
Studyprimevul_test_pairedструктурные CWE, ≤150 строк, все подходящие пары
Held-outprimevul_test_paired--heldout --max-lines 300 (все CWE, не пересекаются с набором исследования)
Developmentprimevul_valid_pairedвсе подходящие пары
Test (зарегистрированный)primevul_train_paired--pairs 300 --seed 7

run_h3.ps1 запускает зарегистрированную репликацию H3 (семь моделей, C2/C4/C5, presentation plain).

Замечания по аннотированию

Поведенческое кодирование выполнялось двумя LLM (Claude и deepseek-v4-pro). Автор вручную проверил 20 элементов. Статья сообщает об этом.

Лицензия

Код: MIT (см. LICENSE). PrimeVul и наборы данных предварительного исследования сохраняют собственные лицензии.

Цитирование

@misc{liu2026trusting,
  title  = {Trusting the Tool: Asymmetric Deference of {LLM} Vulnerability Auditors to Static-Analysis Evidence},
  author = {Liu, ZhiHong},
  year   = {2026},
  note   = {Preprint}
}
Скачать инструмент