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 合并数据均以博客原文为准。