新人工智能代理重写代码以自动修复漏洞 - AI News
新人工智能代理重写代码以自动修复漏洞

新人工智能代理重写代码以自动修复漏洞

2025-10-06

新闻要点

Google DeepMind部署新AI代理CodeMender,可自动发现并修复软件代码安全漏洞。过去半年已为开源项目贡献72个安全修复。它借助Gemini模型,具备主动和被动修复能力,有验证框架,采用新技术提升效果,旨在解决AI发现漏洞快而人工修复难的不平衡问题。

- CodeMender半年为开源项目贡献72个安全修复

- 借助Gemini模型具备自主修复复杂安全问题能力

- 有自动验证框架确保代码修改正确无新问题

- 采用新技术提升代码修复有效性

主要内容

谷歌 DeepMind 部署了一款新的 AI 代理,旨在自主发现并修复软件代码中的关键安全漏洞。该系统名为 CodeMender,在过去六个月中已为已建立的开源项目贡献了 72 项安全修复。识别和修补漏洞是一项出了名的困难且耗时的过程,即使借助模糊测试等传统自动化方法也是如此。谷歌 DeepMind 自身的研究,包括 Big Sleep 和 OSS-Fuzz 等基于 AI 的项目,已被证明在审核良好的代码中发现新的零日漏洞方面是有效的。然而,这一成功带来了一个新的瓶颈:随着 AI 加速漏洞的发现,人类开发者修复它们的负担加重了。CodeMender 旨在解决这种不平衡。它作为一个自主的 AI 代理,采取全面的方法来修复代码安全。其功能既具有反应性,可立即修补新发现的漏洞,又具有前瞻性,能够在安全漏洞被利用之前重写现有代码以消除整个类别的安全漏洞。这使人类开发者和项目维护者能够将更多时间用于构建功能和改进软件功能。该系统通过利用谷歌最近的 Gemini Deep Think 模型的高级推理能力来运行。这一基础使代理能够以高度自主性调试和解决复杂的安全问题。为实现这一点,系统配备了一套工具,允许它在实施任何更改之前分析和推理代码。CodeMender 还包括一个验证过程,以确保任何修改都是正确的,并且不会引入新的问题,即回归。虽然大型语言模型正在迅速发展,但在代码安全方面的错误可能会带来昂贵的后果。因此,CodeMender 的自动验证框架至关重要。它系统地检查任何提议的更改是否修复了问题的根本原因,在功能上是否正确,是否不会破坏现有测试,以及是否符合项目的编码风格指南。只有满足这些严格标准的高质量补丁才会提交给人类审查。为了提高其代码修复效果,DeepMind 团队为 AI 代理开发了新技术。CodeMender 采用先进的程序分析,利用包括静态和动态分析、差异测试、模糊测试和 SMT 求解器在内的一套工具。这些工具允许它系统地审查代码模式、控制流和数据流,以识别安全漏洞和架构弱点的根本原因。该系统还使用多代理架构,在其中部署专门的代理来解决问题的特定方面。例如,一个专用的基于大型语言模型的批评工具揭示了原始代码和修改后代码之间的差异。这使主要代理能够验证其提议的更改不会引入意外的副作用,并在必要时自我纠正其方法。在一个实际示例中,CodeMender 解决了一个漏洞,其中崩溃报告表明存在堆缓冲区溢出。尽管最终的补丁只需要更改几行代码,但根本原因并不立即明显。通过使用调试器和代码搜索工具,代理确定真正的问题是解析期间可扩展标记语言 (XML) 元素的栈管理问题不正确,位于代码库的其他地方。在另一个案例中,代理为一个复杂的对象生命周期问题设计了一个非平凡的补丁,修改了目标项目中用于生成 C 代码的自定义系统。除了简单地对现有错误做出反应外,CodeMender 还旨在主动强化软件以抵御未来的威胁。该团队部署了该代理,将 -fbounds-safety 注释应用于广泛使用的图像压缩库 libwebp 的部分。这些注释