LLM-based Vulnerability Detection at Project Scale: An Empirical Study
本文呈现了首个在项目规模上将专门化的基于大语言模型的漏洞检测器与传统静态分析器进行比较的全面实证研究,揭示了尽管大语言模型能够发现独特的漏洞,但目前仍面临召回率低、误报率高以及计算成本过高的问题,从而限制了它们的实际鲁棒性与可扩展性。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你是这座庞大、繁忙城市(你的软件项目)的管理者。这座城市充满了建筑、道路和隐藏的隧道。你的职责是寻找基础设施中的“裂缝”——那些可能让窃贼潜入、窃取数据或导致坍塌的地方。这些裂缝被称为漏洞(Vulnerabilities)。
多年来,你一直雇佣着传统检查员(静态分析器)。他们就像拿着剪贴板、恪守规则的安全警卫。他们非常清楚一个“破损锁头”长什么样,因为他们的清单上有 1,000 条具体的规则。如果一扇门不符合清单上的“破损锁头”模式,他们就会视而不见。他们速度快且成本低,但如果窃贼使用了新的手段或形状奇特的门,这些警卫就会漏掉。
最近,一种新型的检查员来到了:AI 侦探(基于大语言模型的检测器)。这位侦探手里没有剪贴板,但他拥有一个经过数百万本关于城市建设书籍训练过的“超级大脑”。他能够理解建筑背后的故事,能够进行推理,明白为什么一扇门可能会很危险,并且能发现那些守规矩的警卫所忽略的奇怪模式。
这篇论文是一个重大的现实世界测试,旨在看看这些 AI 侦探是否真的准备好巡逻整座城市,还是仅仅擅长在教室里解谜题。
实验内容
研究人员并没有只是让侦探们去解几个谜语。他们给了他们两个巨大的挑战:
- “标准答案”测试: 他们向工具展示了城市中已知的 222 个已知裂缝。目标是看这些工具能发现多少个。
- “实地城市”测试: 他们将工具送入了 24 个真实的、活跃的开源软件项目(如 Linux 内核或大型 Web 服务器)中,观察它们在现实世界中的表现。
研究发现
1. AI 侦探漏掉了显而易见的漏洞(低召回率)
当针对已知裂缝进行测试(标准答案测试)时,AI 侦探的表现出奇地差。
- 结果: 在 C/C++ 代码中,他们仅发现了约 21% 的已知裂缝;在 Java 代码中,这一比例为 34%。
- 类比: 想象一位侦探负责寻找一辆丢失的红车。他们在 100 辆红车中只找到了 21 辆。他们漏掉了其余的部分,因为他们无法弄清楚哪扇特定的门是“入口”(源头),哪扇门是“出口”(汇聚点)。他们被城市建筑师构建事物的具体且独特的方式搞混了,这些方式与他们受训时的通用案例并不匹配。
2. AI 侦探是“狼来了”机器(高误报率)
当工具扫描真实的城市时,它们不断地大喊“有窃贼!”。
- 结果: 旧的守规矩者和新的 AI 侦探都产生了数以千计的警告。但当人类检查这些警告时,超过 85% 到 97% 都是误报。
- 类比: AI 侦探看着一扇完全安全、锁好的门,却说:“这看起来很可疑!可能发生了入侵!”因为它看起来不像标准的门。城市管理者(开发者)必须花费大量时间去调查每一个“窃贼”报告,最后却发现那只是一扇普通的门。这使得这些工具在现实生活中很难使用,因为没有人有时间去检查 1,000 个假警报来寻找那一个真的。
3. 为什么会失败?(根本原因)
研究人员深入调查了这些误报的“犯罪现场”,发现了三个主要原因:
- 思考浅薄: AI 侦探通常只观察紧邻的社区(几个街区远),而不是追踪贯穿整个城市的路径。他们忽略了起始处的危险可能在三个街区外就被一名保安化解了。
- 混淆地图: 他们无法正确识别危险的“起点”和“终点”。他们把一个安全的函数误认为是一个危险的函数,反之亦然。
- 幻觉: 有时,AI 会凭空捏造。它看到两个名字相同的不同建筑,就假设它们是同一个建筑,从而对城市运作方式得出了错误的结论。
4. 使用 AI 的成本(可扩展性)
这是最令人震惊的一点。AI 侦探的运行成本极高。
- 结果: 为了仅仅扫描一个项目,一个 AI 工具可能会消耗数亿个“Token”(AI 思考的货币),并且需要花费数天时间才能完成。
- 类比: 传统的警卫只需 5 分钟就能检查完一栋建筑,成本仅为几美元。而 AI 侦探检查同一栋建筑需要 33 小时,而且要耗费巨额的“脑力”成本。这就像雇佣一支由 1,000 名天才组成的团队,去读一页书来寻找一个错别字。这对于日常安全检查来说太慢、也太贵了。
总结
论文的结论是,虽然 AI 侦探在某些方面比旧的守规矩者更聪明(它们能发现一些旧警卫会漏掉的独特裂缝),但它们尚未准备好投入实战。
目前它们:
- 太健忘(漏掉了大部分已知裂缝)。
- 太疑神疑鬼(对着虚假的危险大喊大叫)。
- 太昂贵(运行需要数天且耗资巨大)。
研究人员建议,在我们能够信任这些 AI 工具来守护我们的数字城市之前,我们需要教会它们思考得更深、停止捏造事实,并学习如何在不耗尽预算的情况下更快地工作。在此之前,它们是强大但不可靠的伙伴。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。