Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CODE-DETECTION — 一个复现包,研究 LLM 漏洞审计器如何采信静态分析证据,包含 tree-sitter C/C++ 前端、受控证据条件和统计分析代码。 | Kitploit
工具/GitHubGitHub/lzh0082-cloud/code-detection
静态分析漏洞分析代码分析机器学习论文与研究学习与教育AI 安全
GitHublzh0082-cloud/code-detection

CODE-DETECTION

一个复现包,研究 LLM 漏洞审计器如何采信静态分析证据,包含 tree-sitter C/C++ 前端、受控证据条件和统计分析代码。

查看仓库
111天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

信任工具:LLM 漏洞审计器对静态分析证据的非对称顺从

ZhiHong Liu 所著同名论文的复现包。

LLM 漏洞审计器获得了关于 PrimeVul 中易受攻击和已修补的 C/C++ 函数的静态分析证据。证据要么真实,要么是伪造的,而代码和模型保持不变。虚假的保证(声称存在一个缺失的检查)降低了对真实漏洞的检测。虚假的警报(声称缺失一个已添加的检查)从未降低准确率,而且模型对它们的质疑频率要高得多。在七个新模型上进行的注册复现证实了这种非对称性。在单独的调用中验证每个声明,并展示被驳斥的声明(verify-show),在注册测试中减少了顺从。

本仓库包含分析器、实验和分析代码、注册、注释以及摘要报告。完整的运行记录(每条证据注释和模型响应)以及 LLM 响应缓存单独归档(见完整结果)。

内容

路径内容
sgv/cfront.py过程内 C/C++ 前端(tree-sitter):敏感操作、支配性守卫、证明义务
sgv/evidence.py受控研究:证据条件 C0–C5、呈现策略、模型配置、运行器
sgv/vuln.py审计提示、判定解析和 PrimeVul 加载(也是初步漏洞研究)
sgv/contrasts.py各版本准确率和匹配对比(C4 对 C2、C5 对 C2、……)
sgv/direction.py方向感知的顺从度量(H3)
sgv/deference.py顺从和词汇“质疑”线索
sgv/mitigation.py使用配对 McNemar 检验和 Holm 校正比较呈现策略
sgv/pooled.pyH2 的事后汇总分析和数据集描述性统计
sgv/annotate.py行为编码的注释表和一致性(Cohen's kappa)
sgv/figures.py、sgv/diagrams.py论文的所有图表,根据运行记录计算
sgv/stats.pyWilson 区间、精确 McNemar 检验、配对 bootstrap
sgv/llm.py带 SQLite 响应缓存的 OpenAI 兼容客户端
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研究、留出集、开发集、测试集和 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

运行实验

模型通过 OpenAI 兼容 API(DeepSeek 和阿里云百炼/DashScope)调用。模型名称、固定快照和请求设置位于 sgv/evidence.py 中的 MODELS 中。API 密钥从环境变量读取(DeepSeek 使用 SGV_API_KEY,DashScope 使用 SGV_QWEN_KEY),或从 ~/.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。论文的数据集为

集合来源划分选择
研究集primevul_test_paired结构性 CWE,≤150 行,所有符合条件的配对
留出集primevul_test_paired--heldout --max-lines 300(所有 CWE,与研究集不相交)
开发集primevul_valid_paired所有符合条件的配对
测试集(已注册)primevul_train_paired--pairs 300 --seed 7

run_h3.ps1 运行已注册的 H3 复现(七个模型,C2/C4/C5,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}
}
下载工具