CodeMender AI智能体代码漏洞修复评测

2026-06-06阅读 0热度 0
AI智能

正式发布CodeMender:专为代码安全打造的AI智能体

利用前沿人工智能技术,自动化修复关键软件漏洞,显著降低安全风险

CodeMender:AI智能体自动修复代码漏洞

我们团队在AI驱动代码安全领域的最新成果——CodeMender,一个能自主提升代码安全性的智能体,目前已完成早期原型验证,进入研究阶段。

软件漏洞始终是开发者的头号难题。即便借助模糊测试这类传统自动化手段,发现并修复漏洞依然耗时且极其隐蔽。基于AI的先行者如Big Sleep和OSS-Fuzz已证实,即使在经过充分测试的软件中,大模型也能挖掘出全新的零日漏洞。随着AI驱动的漏洞挖掘能力持续增强,纯人工修复的负担已难以为继。

CodeMender的核心理念是:从代码安全的全局视角出发,采取系统化的解决方案。它既能被动响应,即时修补新发现的漏洞,也能主动重写并加固现有代码,甚至能在过程中彻底消除整类漏洞。过去六个月,团队利用CodeMender向多个上游开源项目提交了72个安全修复,部分项目代码量高达450万行。通过自动生成并应用高质量补丁,CodeMender将开发者与维护者从繁重的手动修复中解放出来,让他们能专注于构建卓越的软件产品。

CodeMender的实际落地场景

CodeMender的核心能力依托于Gemini Deep Think模型的深度推理机制,构建了一个能自主调试并修复复杂漏洞的智能体。为此,它配备了多套强大工具,在动手修改前先对代码进行逻辑推理,然后自动验证修改的正确性,确保不会引入性能退化。

以下动画直观展示了CodeMender修复漏洞的完整流程。

大型语言模型进步迅速,但代码安全容不得半点失误。CodeMender的自动验证环节相当于一道安全屏障——只有经过多重校验的高质量补丁才会提交人工审查:根本原因修复到位、功能正确、无性能退化、符合代码风格指南。这些把关缺一不可。

作为研究的一部分,团队还开发了多项新技术与工具,使CodeMender能够更高效地推理代码并验证变更。主要包括:

高级程序分析:综合运用静态分析、动态分析、差异测试、模糊测试和SMT求解器,系统性审查代码模式、控制流与数据流,帮助CodeMender快速定位安全缺陷与架构弱点的根因。

多智能体系统:设计了多个专用智能体,分别处理底层问题的不同维度。例如,其中一款基于大语言模型的评审工具会高亮原始代码与修改后代码的差异,专门验证变更是否引入性能衰退,发现问题后还能自动修正。

漏洞修复实战

为高效修补漏洞并防止复发,CodeMender会调用调试器、源代码浏览器等工具,精准定位根本原因,然后设计针对性的补丁。下面两个视频轮播案例展示了具体操作过程。

示例1:定位漏洞的根本原因

智能体分析调试器输出与代码搜索结果后,对根本原因进行推理。最终补丁仅改动了几行代码,但问题的根源并不直观——崩溃报告显示为堆缓冲区溢出,实际症结却在于解析可扩展标记语言元素时的栈管理异常。

示例2:智能体生成非平凡补丁

该案例更具挑战性:CodeMender智能体提出了一个处理复杂对象生命周期问题的非平凡补丁。它不仅找出了漏洞根因,还直接修改了项目中用于生成C代码的自定义系统。

主动重写现有代码以提升安全性

CodeMender的另一项关键能力是主动重写现有代码,迁移至更安全的数据结构与API。具体案例:团队部署CodeMender,将-fbounds-safety注解应用于广泛使用的图像压缩库libwebp的部分代码。这些注解会指示编译器添加边界检查,防止攻击者利用缓冲区溢出或下溢执行恶意代码。

数年前,libwebp中的一个堆缓冲区溢出漏洞被威胁行为者用作零点击iOS漏洞利用链的一部分。但引入-fbounds-safety注解后,该漏洞以及项目中已应用注解的大部分缓冲区溢出漏洞,将不再具备利用条件。下面的视频轮播展示了智能体的完整决策过程,包括验证步骤。

示例1:智能体的推理步骤

在此案例中,CodeMender智能体被要求解决bit_depths指针上的-fbounds-safety错误:

示例2:智能体自动纠正错误与测试失败

CodeMender的另一突破点在于能自动修正由自身注解引发的新错误与测试失败。以下展示了智能体从编译错误中恢复的过程。

示例3:智能体验证变更

本例中,CodeMender智能体修改了一个函数,随后使用配置为功能等价性检验的LLM评判工具验证功能是否保持不变。一旦检测到失败,智能体根据LLM评判者的反馈进行自我修正。

为所有人筑牢软件安全防线

尽管CodeMender的早期成果令人振奋,团队始终保持审慎,将可靠性置于首位。目前,其生成的所有补丁在向上游提交前,均经过人类研究人员的仔细审查。

利用CodeMender,我们已开始向多个关键开源库提交补丁,其中许多已被采纳并合并至上游。这一推进过程循序渐进——在确保质量的同时,系统性处理开源社区的反馈。

下一步,团队将逐步向感兴趣的关键开源项目维护者提供CodeMender生成的补丁。通过持续学习与反馈迭代,最终将CodeMender作为一款正式工具发布,供所有软件开发人员保护自己的代码库。

还有大量技术与成果值得分享,团队计划在未来几个月内以技术论文和报告形式发表。有了CodeMender,我们才刚刚开启AI增强软件安全性的巨大潜力探索之旅——目标是让所有人从中受益。

致谢

贡献者:CodeMender研发团队

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策