大模型真的会找漏洞吗?一次系统性实测揭示真实能力
“ 随着大语言模型(LLMs)的快速发展,从代码审计助手到自动化安全Agent,人们逐渐期待:LLM是否能够像安全专家一样,在真实代码仓库中发现漏洞?然而,已有研究存在一个明显问题:实验对象往往是小规模函数级数据集;很少在真实代码仓库中进行验证;缺乏对LLM Agent 自动化审计能力的系统评估。
为此,这篇论文提出了一项系统研究:通过构建真实仓库基准测试,全面评估 LLM 与 LLM Agent 在实际漏洞检测中的表现。 ”
📄 论文标题:Benchmarking LLMs and LLM-based Agents in Practical Vulnerability Detection for Code Repositories
📅 发表时间:Information and Software Technology, 2025
🏫 作者单位:新加坡国立大学、复旦大学、南洋理工大学等
💡开源代码:显示资源已经过期,需要自行联系作者。https://anonymous.4open.science/r/JitVul-C6C7/
01—方法介绍
该论文的核心目标是回答一个关键问题:当面对真实软件仓库时,LLM 和 LLM Agent 能否有效发现漏洞?
为此,研究团队构建了一套系统化评估框架,整体流程可以概括为三步:
① 构建真实漏洞仓库基准
收集真实项目中的已知漏洞代码。
② 设计多种检测模式
分别评估纯 LLM 与 LLM Agent 的漏洞检测能力。
③ 系统化性能评测
从检测率、误报率以及分析能力等维度进行比较。

图1. JITVUL方法框架
小结:从“函数级实验”走向“真实仓库审计”,更接近真实安全场景。
02—关键机制
- LLM 在简单漏洞识别上表现良好
对于常见模式漏洞具有较高识别率。
- 复杂跨文件漏洞仍然困难
涉及多模块逻辑时检测能力明显下降。
- LLM Agent 相比单模型有所提升
工具调用与多步分析可改善检测效果。
- 误报问题仍然明显
模型往往倾向于“过度报告”潜在问题。
|
模块 |
设计思路 |
作用 |
|---|---|---|
|
真实仓库基准 |
收集开源项目中的真实漏洞案例 |
构建实践导向测试集 |
|
LLM 漏洞检测 |
直接利用语言模型分析代码 |
评估模型原生能力 |
|
LLM Agent 审计 |
结合工具调用与多步推理 |
模拟自动化代码审计流程 |
|
评测体系 |
检测率、误报率、分析深度 |
全面评估检测效果 |
小结:该框架不仅评测模型,还评测“自动化安全分析流程”。
03—实验结果
JITVUL包含1,758个成对数据样本,其中漏洞和良性样本均为879个。每个样本由一个特定的代码库版本、一个目标函数和一个真实标签(即vul或ben)组成。这些样本来源于879个CVE条目,涵盖了91个CWE。主要实验结果如下。
实验比较了三类检测方法的效果:普通大型语言模型(Plain LLM)、增强依存关系的大型语言模型(Dependency-Augmented LLM)和ReAct Agent。结果表明,ReAct Agents相较于其他基于LLM的方法取得了更高的精确率,提升幅度从0.1%到16.61%不等。
表1. JITVUL上所研究方法的结果

此外,实验发现了两个主要现象:
(1)F1分数较高并不一定表明检测方法在捕捉漏洞特征方面具有更强的能力。
(2)ReAct Agents的思维-行动-观察框架,结合其对过程间上下文的有效利用,增强了其捕捉漏洞特征的能力。
小结:JITVUL是一个用于即时(JIT)漏洞检测的基准测试,能够对LLM和基于LLM的代理进行全面的成对评估。结果表明,利用思维-行动-观察和过程间上下文的ReAct代理表现出更好的推理能力,此外,LLM和ReAct代理往往通过忽视关键问题或过度分析良性修复来误解缺陷。
📌 总结
这篇论文的重要贡献在于:首次系统评估 LLM 与 LLM Agent 在真实代码仓库漏洞检测中的实际表现。
研究结果表明:大模型为自动化安全分析提供了新的可能,但真正的“AI审计员”仍在发展之中。
📣 欢迎留言讨论
-
你认为 LLM 是否能够成为未来的软件安全审计工具?
-
LLM Agent 是否会改变传统漏洞检测方法?
📌 点赞 + 收藏 + 分享,你的支持,是我们持续解析高水平软件安全论文的最大动力!
更多推荐




所有评论(0)