安全公司重算 AI 补丁基准,26% 变 86%

Trail of Bits 9 月 15 日发文,说 1Password 那份 AI 补丁基准报告的结论站不住。1Password 公布的数字是 26% 的”干净修复率”,Trail of Bits 拿同一批数据重新统计,得到的是 3067 个补丁里 2634 个成功阻止了配套的漏洞利用,86%。

两个数字差了 60 个百分点,差距来自计分方式。

四条被挑出来的毛病

Trail of Bits 列了四项:

  • 样本选得太窄:整份基准只用了 6 个复杂漏洞,各自的修复率在 3% 到 60% 之间大幅波动,用它们的平均值代表”AI 补丁能力”,抽样噪声压过了信号。
  • 提示本身有问题:22% 的数据来自故意把 Agent 引向错误修复的提示。这类试验测的是模型会不会被误导,不是它能不能修对。
  • 工具被掐掉:36% 的试验不允许模型编译或者测试代码。人类开发者在同样条件下改一个安全漏洞,成绩不会好到哪去。
  • 配置不一致:不同模型用了不同的推理设置,跑分之间横向不可比。

文章署名四位作者:Anish Naik、Dan Guido、Benjamin Samuels 和 Marcelo Morales。1Password 方面目前没有公开回应这份重新分析。

人类那条基线

这篇文章里更有说服力的部分,是它给出了对照组。Trail of Bits 引的数据是,开发者在理想条件下修补一个安全漏洞,首次尝试的失败率约 12.5%,八次里错一次。

有了这条线,“AI 修不干净”这个判断才有了坐标。26% 的干净率听上去像及格线以下,86% 放在 87.5% 的人类基线旁边,就变成了另一个故事:大致持平,还没有超过。

Trail of Bits 顺带报了自己那个 Patch the Planet 项目的数据:186 个 PR 提出去,126 个被上游合并,合并率 67.7%;合并的那些里面,72.2% 不需要再做安全修订。这组数字的口径跟基准试验不一样,它测的是”补丁能不能被真人维护者接受”,比阻止漏洞利用更接近生产环境。

顺手放出的两个技能

文章末尾公布了两个 Agent 技能:post-patch-validation 让 Agent 在提交补丁前先自测和验证,review-walkthrough 帮工程师按逻辑顺序过一遍代码改动。

这两个东西的存在本身就是对那份基准的回应。36% 的试验被禁止编译和测试,而 Trail of Bits 给出的第一个技能做的恰恰是提交前验证——它在说,补丁质量的一大半取决于 Agent 有没有机会自己检查一遍。

国内团队读这类基准时该看什么

这一年各家都在发 AI 修漏洞的成绩单,口径五花八门。这篇文章提供了一份可以照着用的检查清单:样本量有多少、有没有刻意误导的提示混在里面、模型允不允许跑编译和测试、不同模型的推理配置是否一致、有没有人类基线做对照。五条里缺一条,公布的百分比就不能直接拿来做选型依据。

对国内团队更实际的一点是,这两个技能是公开发布的,接进自己的代码审查流程不需要等谁授权。至于接进去之后能提升多少,各家代码库差异太大,没有现成答案。

参考来源:Trail of Bits 官方博客、CocoLoop、1Password 基准报告;四项方法学质疑、3067 与 2634 这组补丁计数、Patch the Planet 的 186/126 合并数据均以博客原文为准。