AI生成的安全漏洞补丁需要人工审查
摘要
Off-by-1 Labs(1Password)的研究发现,对于复杂且最近披露的漏洞,LLM生成的补丁有53.9%的概率存在缺陷,通常无法解决问题或引入新的漏洞。该研究强调AI生成的补丁需要人工审查,并发布了相关工具、数据集和论文。
<p><a href="https://lobste.rs/s/rkh2ux/ai_generated_vulnerability_patches">评论</a></p>
查看缓存全文
缓存时间: 2026/08/07 02:16
# Off-by-1 Labs 研究:AI 生成的安全补丁仍需人工审查 | 1Password
来源:https://1password.com/blog/why-ai-generated-patches-still-require-human-review
**我们研究了大型语言模型(LLM)为近期披露的复杂漏洞生成安全补丁时会发生什么。我们的数据显示,在需要复杂补丁的情况下,LLM 有 53.9% 的概率生成带有嵌入式缺陷的类修复产物(FLAWED,Fix-Like Artifacts with Embedded Defects)。**
**通过分享我们的研究成果,我们的目标是让防御者获得必要的工具和方法论,以大规模改善漏洞修复效果。除了这篇博客,我们还发布了我们的****工具** (https://github.com/Off-by-1-Labs/FLAWED)**、****数据集** (https://github.com/Off-by-1-Labs/FLAWED#datasets)**,以及一份****深度研究论文** (https://1password.com/files/resources/frontier-models-vulnerability-patches-flawed.pdf)**,以分享我们所学到的内容。**
随着模型和智能体框架现在能够大规模进行有影响力的漏洞发现,正如最近 Anthropic 的[Project Glasswing](https://www.anthropic.com/glasswing)所展示的那样,防御者自然开始转向 AI 智能体来生成漏洞补丁。事实上,OpenAI 在六月份宣布了[Project Daybreak](https://openai.com/daybreak/),并与多个合作伙伴合作,旨在“[Patch the Planet](https://openai.com/index/patch-the-planet/)”,这正是这种应对方式的体现。
但是,LLM 在生成补丁而不改变应用程序行为方面有多有效?它们生成的补丁是否真正缓解了相关漏洞?这些补丁引入新漏洞的频率有多高?作为 1Password 全新安全研究团队[Off-by-1 Labs](https://1password.com/research)的首个研究项目,我们着手回答这些问题。该论文标题为*《Frontier Models' Vulnerability Patches are Often F.L.A.W.E.D.》*,与该领域的其他研究不同,本研究针对的是前沿模型训练数据中不太可能出现的新型漏洞,然后测试前沿模型以确定其成功生成补丁的能力。
针对六个近期披露的 CVE,我们使用两个具有网络能力的前沿推理模型生成了 6,080 个补丁。**完全解决漏洞(而未实质性改变应用程序行为)的补丁平均成功率仅为 26.0%**。成功解决漏洞但在过程中改变了应用程序行为的补丁发生率为 20.1%。我们观察到的应用程序行为变化示例包括重新实现文件本地解析器、将“允许列表”逻辑改为“拒绝列表”逻辑,以及其他类似更改。
相反,**LLM 生成的补丁未能解决漏洞、添加了新漏洞,或两者兼有的情况平均占 53.9%**。您可以在我们随本文发布的研究论文中阅读有关我们发现、观察和结论的更多细节。
## 目标漏洞
为了验证 LLM 生成补丁的有效性,我们针对开源软件中六个近期披露的新型漏洞,这些漏洞需要复杂的补丁实现才能完全解决潜在问题。用于评估补丁有效性的漏洞包括:
- [CVE-2026-31431](https://nvd.nist.gov/vuln/detail/CVE-2026-31431) - Linux 权限提升(“Copy Fail”)
- [CVE-2026-34197](https://nvd.nist.gov/vuln/detail/CVE-2026-34197) - ActiveMQ 远程代码执行
- [CVE-2026-8512](https://nvd.nist.gov/vuln/detail/CVE-2026-8512) - Chrome 在 macOS 上文件系统访问 API 中的释放后使用(Use-after-free)
- [CVE-2026-45185](https://nvd.nist.gov/vuln/detail/CVE-2026-45185) - EXIM 未认证远程代码执行
- [CVE-2026-22738](https://nvd.nist.gov/vuln/detail/CVE-2026-22738) - SpringAI SpEL 远程代码执行
- [GHSA-wpqr-6v78-jr5g](https://github.com/google-github-actions/run-gemini-cli/security/advisories/GHSA-wpqr-6v78-jr5g) - Gemini CLI 远程代码执行
鉴于开源代码极有可能存在于前沿模型的训练数据集中,我们特别根据这些漏洞披露的近期性来选取目标,因为它们及其相关补丁不太可能被包含在当前模型的训练数据中。即便如此,鉴于代码库在训练数据中的存在,我们对此研究的假设是,使用前沿 LLM 自动生成补丁时,针对开源代码中漏洞的补丁成功率会相当高(> 67%)。结果明显低于我们的假设,且更加参差不齐。
有关每个模型针对每个漏洞的补丁成功率的更多详细信息,请参阅随本文发布的研究论文。
## 方法论与补丁生成成本
对于每个模型,我们为每个漏洞生成了 540 个补丁。这些补丁以每组 20 个的方式在各种条件下生成,包括三种不同的环境配置和针对每个漏洞独有的九种结构化提示模板。我们还跟踪了模型是否尝试检索有关可用补丁的信息,在最终报告中,我们标记了模型在生成补丁时被确定表现出这种行为的所有实例。
移除被标记的补丁后,我们对五种场景下的补丁结果进行了分类:
- **场景 1(S1):**完全修复;不改变应用程序行为
- **场景 2(S2):**完全修复;改变应用程序行为
- **场景 3(S3):**未修复漏洞
- **场景 4(S4):**完全修复旧漏洞但同时引入新漏洞
- **场景 5(S5):**未修复漏洞且引入新漏洞
饼图:6,080 个补丁的平均补丁成功率。
**图 1:***6,080 个补丁的平均补丁成功率,报告中移除了 400 个被标记的补丁。*
OpenAI 的 ChatGPT-5.5(带 Trusted Access for Cyber 防护措施,默认“中等”努力级别)的推理成本平均为每次尝试补丁和验证周期 2.11 美元。同样,Anthropic 的 Opus 4.8(带 Cyber Verification Program 防护措施,默认“高”努力级别)的成本平均为每次尝试补丁和验证周期 2.81 美元。
尽管与人工生成有效补丁的成本相比,这些成本似乎微不足道,但生成不改变应用程序行为的补丁的成功概率仅为接近四分之一。换句话说,LLM 生成的补丁仍需要具有领域专业知识的熟练工程师进行审查,以确保它们在不改变应用程序行为的情况下真正实现预期的缓解效果。
除了相应的研究论文外,我们还发布了完整的补丁集,以及我们设计用于生成、验证、比较和手动验证这些补丁的软件。正如您将从数据集中的补丁看到的那样,成功补丁与改变应用程序行为、未解决漏洞甚至引入新漏洞的补丁之间的差异往往很微妙,并非一眼就能看清。
**在我们的实验中,LLM 生成的 S1 和 S2 补丁中,超过 33% 包含我们认定为在安全上下文中“脆弱”的微妙之处。**这些补丁通过高度针对性的检查来防御易受攻击的输入,而不是完全修复底层易受攻击的代码。例如,在修补 SpringAI CVE 时,两个模型都经常生成仅对用户输入中的特定字符进行转义的补丁。该补丁因此阻止了提供给模型的 PoC 中使用的恶意输入字符串,但完全没有触及漏洞的根因。如果通过使用替代输入使受保护的代码再次可达,**这将导致旧漏洞在软件中重新浮现。**
## 改善补丁效果的建议
我们认识到,研究结果给那些正疲于应对海量漏洞报告的防御者带来了挑战。因此,我们联系了所研究模型所属的前沿 AI 实验室,征求他们对进一步研究的反馈和建议。以下是他们提供的反馈,以及我们关于后续方向的一些思考。
**来自 Anthropic 的反馈和建议:**补丁生成已经超过了补丁验证的速度,解决办法是让验证基于实际执行而非仅靠检查,同时在当前模型能力水平下保持领域专家作为最终审查者。我们已经公开发表过这一观点:“软件安全的进展过去受限于我们发现新漏洞的速度。现在则受限于我们验证、披露和修补的速度。”(Project Glasswing 初始更新,2026 年 5 月)
**来自 1Password 的补充思考:**基于我们的研究结果,我们强烈赞同 Anthropic 关于在当前模型能力下保持领域专家作为最终审查者的反馈。我们非常感谢 Anthropic 对我们研究的审阅,以及他们为未来研究提供的广泛反馈。
## 总结思考
我们目前的建议是,利用我们发布的[FLAWED 工具](https://github.com/Off-by-1-Labs/FLAWED)来确定 LLM 在修补组织代码库漏洞方面的有效性。至少,对多个 LLM 在先前已修补漏洞上生成的补丁样本进行测试,可以提供领先指标,指出人类专业知识仍能发挥最大作用的地方,同时突出代码库中不适合单独依赖 LLM 生成补丁的区域。
这项研究揭示了一个重要问题:LLM 正在不对称地改变“防御者困境”的平衡,使其向攻击者倾斜。正如老话所说:“攻击者只需正确一次;防御者则需要每次都正确。”这些结果描绘了一幅令人担忧的画面:**当前擅长发现各类漏洞的 LLM,在修补这些漏洞方面目前仅能有效处理其中一小部分**。话虽如此,我们已经确定了进一步研究的机遇,这些研究或许能带来更一致、更稳健的 AI 生成补丁。
我们相信,我们发布的软件以及包含所有 6,480 个补丁的数据集,将帮助开发者识别 AI 可能产生积极成果的场景,或至少引导他们避开 AI 可能生成 S4 或 S5 补丁的情况。在研究论文的案例研究部分,我们包含了一个这样的示例,其中我们的工具本可以帮助防御者识别 AI 生成补丁的局限性。
防御者再次面临“技工的困境”,必须在好、快、便宜之间做出选择来解决这个问题。生成可靠的 LLM 补丁可能需要结合引入非 LLM 工具、提高测试套件的健壮性,以及/或实现用于测试不变量的 AI 框架。与此同时,我们的研究表明,在完全解决软件漏洞且不引入不良副作用的过程中,人类专业知识仍然扮演着至关重要的角色。即便如此,如果人类不仔细关注 LLM 生成的代码,他们仍可能成为[认知屈服](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6097646)的受害者。
特别感谢[Casey Ellis](https://www.linkedin.com/in/caseyjohnellis/)、[Jason Haddix](https://www.linkedin.com/in/jhaddix/)、[Mike Shema](https://www.linkedin.com/in/zombie/)和其他人对我们研究的同行评审。
下载完整研究论文 (https://1password.com/files/resources/frontier-models-vulnerability-patches-flawed.pdf) *《Frontier Models' Vulnerability Patches are Often F.L.A.W.E.D.》*
相似文章
1Password 的 AI 修补基准测试具有误导性
Trail of Bits 批评 1Password 的 AI 修补基准测试由于实验设计缺陷而具有误导性,并发布了辅助补丁验证和审查的工具。
@AnthropicAI: 修复这些漏洞将让我们更安全。但软件行业需要适应漏洞数量的增长…
Anthropic的Project Glasswing利用Claude Mythos Preview在关键软件中发现了超过10,000个高危或严重漏洞,合作伙伴如Cloudflare报告称漏洞发现率提高了十倍,这凸显了从发现漏洞到修复漏洞的瓶颈转移。
Anthropic研究表明AI可在数小时内从安全补丁构建可用的漏洞利用代码,而非数周
Anthropic的研究表明,大型语言模型能够迅速从安全补丁中生成可用的漏洞利用代码,将时间从数周缩短至数小时,引发了关于AI驱动漏洞利用的担忧。
微软修补创纪录数量的安全漏洞,归因于其使用AI
微软为Windows、Office及其他产品发布了创纪录的570个安全补丁,并将这一增长归因于AI辅助漏洞发现。
一个AI智能体已自主发现主要开源项目中的安全漏洞,并让人工维护者合并其修复
一个AI智能体自主扫描主要开源代码库,为安全漏洞编写补丁,并提交拉取请求,由人类维护者审查并合并,其成功与否以合并的修复来衡量。