From Runnable to Verifiable: An Independent Reproducibility Study of LLM/Agent-Driven Vulnerability Validation Artifacts
这项预注册复现性研究表明,尽管超过一半的由大语言模型(LLM)/智能体驱动的漏洞伪造产物是公开可用的,但大多数无法可靠地执行或产生语义确认的结果,这凸显了由于标识符不一致以及自动化判定机制不可靠,导致可运行代码与可验证安全证据之间存在关键差距。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,互联网是一座繁忙的大都市,其中的软件程序就是一座座建筑。有时,这些建筑的地基会出现隐藏的裂缝——这些被称为“漏洞”(vulnerabilities)或“缺陷”(bugs)。长期以来,安全研究人员(城市的检查员)一直在寻找这些裂缝,并编写详细的报告,说明如何破门而入以及如何修复它们。但最近,一种新型的检查员来到了这里:人工智能,具体来说是“大语言模型”或“智能体”(Agents)。这些是超级聪明的计算机程序,能够阅读代码、寻找裂缝,甚至编写自己的“概念验证”(PoC)脚本——本质上就是一些数字钥匙,用以证明锁已经坏了。
大家都在问一个大问题:我们能信任这些 AI 检查员吗?当 AI 说“我发现了一个裂缝,这是钥匙”时,它说的是真话,还是仅仅在瞎猜?在科学领域,存在着“可用性”(你可以下载该文件)、“可运行性”(它确实能启动)和“已验证”(它确实完成了它声称要做的事)之间的区别。这项研究就像是一场大规模的、预先计划好的审计,研究人员不仅听信 AI 的话,还亲自进入实验室,尝试运行每一个 AI 生成的钥匙,并检查门是否真的打开了。他们想看看 AI 究竟是一位名副其实的锁匠,还仅仅是一个极具自信的伪造者。
伟大的 AI 钥匙审计:现实性的检验
在这项研究中,研究人员扮演了怀疑论侦探的角色。他们收集了 2023 年至 2026 年间的 104 篇研究论文,这些论文的作者声称使用 AI 来发现并验证软件漏洞。你可以把这看作是一个庞大的“AI 侦探报告”图书馆。团队想要看看这些报告中有多少是真实的故事,又有多少只是吹牛。
可用性的谜团
首先,他们检查了“钥匙”(代码文件)是否真的在图书馆里。在 104 篇论文中,只有 59 篇(约 57%)拥有可以实际工作的链接。其余的就像是缺页的书籍,链接指向死胡同,或者文件已经消失在数字虚无之中。事实证明,仅仅因为论文说“代码在此”,并不意味着你真的能找到它。
“它能运行”测试
接下来,他们尝试在一台干净、全新的计算机上运行这 59 把可用的钥匙。这就像是用一个全新的发动机来启动一辆车。令人震惊的是,在测试的 18 篇论文中,只有 10 篇(56%)甚至能在没有帮助的情况下启动引擎。当遇到困难时,他们尝试进行了一些“环境修复”——安装缺失的工具或修复细微的设置——但他们被禁止修改实际的“开锁”代码。即使有了这些帮助,也只有 18 篇中的 11 篇(61%)完成了任务。大多数失败都是由于指令缺失或工具与运行环境不匹配造成的。
“假警报”问题
这里的情况变得非常有趣。研究人员发现,许多 AI 生成的脚本在并没有发现漏洞的情况下,却在疯狂鸣响“我发现了漏洞!”。他们称之为“信号产生型”(signal-producing)失败。
- 不匹配: 在 102 个案例中,有 58 个(57%)的脚本内部包含一个与文件夹标签不符的秘密标签。这就像是一名侦探写了一份关于“银行抢劫案”的报告,但实际上破入的是一家“玩具店”。AI 完全测试错了对象。
- 失效的警报: 当研究人员实际运行这些脚本时,发现“警报”(表示发现漏洞的信号)通常是不可靠的。研究人员通过检查警报是否会在“已修复”(patched)版本的软件上触发,来测试这一点。如果警报在修复后的版本上仍然响起,那就是假警报。
- 他们发现,在 30 个案例中,有 20 个(67%)在漏洞被修复后仍然触发了警报。
- “灵敏度”(捕捉真实漏洞的能力)仅为 60%,而“特异性”(忽略假漏洞的能力)则是糟糕透顶的 45%。这意味着 AI 内置的警报基本上是在瞎猜,近一半的情况下都会出错。
“金标准”检查
要真正确定一个漏洞是真实的,你需要满足三个条件:
- 脚本必须能够运行。
- 它必须触发它声称发现的特定崩溃或错误。
- 它在修复后的软件版本上必须不会触发同样的错误。
当研究人员应用这个严格的“金标准”(他们称之为 E1 证据)时,结果非常残酷。在所有产生信号的案例中,整个组中只有 2 个案例符合这三个标准。其余的要么是损坏了,要么是在测试错误的对象,要么只是在毫无理由地鸣响警报。
核心结论
这项研究并没有发现什么灵丹妙药,而是发现了一堆坏掉的手电筒。主要的启示是:仅仅因为 AI 生成了一个“能运行”且“看起来很吓人”的脚本,并不意味着它真的发现了一个真实的漏洞。
研究人员发现,“它能运行且看起来很吓人”与“它确实重现了漏洞”之间存在巨大的鸿沟。他们发现:
- 超过一半的脚本测试的是完全错误的漏洞。
- 大多数脚本在没有帮助的情况下无法运行。
- 三分之二声称发现漏洞的脚本实际上是假警报,即使在修复后的计算机上也会响起。
作者并不是在说 AI 不能做这项工作,而是在向安全界发出警告:不要信任 AI 自身的警报系统。 如果你想知道一个漏洞是否真实,你需要亲自检查工作,特别是通过测试当软件修复后,该漏洞是否消失。在此之前,许多所谓的“AI 发现”可能只是数字烟雾弹而已。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。