Skip to content

AgenticRepair:多 Agent 分工对漏洞修复的增益远超单项上下文来源 ​

摘要 ​

AgenticRepair 把代码结构、运行时执行和提交历史交给三个专用 Agent 并行提取,再由修复 Agent 生成补丁。作者在 SEC-Bench 的 300 个真实 C/C++ 漏洞实例上报告严格成功 220/300(73.3%),而同为 GPT-5.2 的 Smolagents 基线为 134/300(44.7%)。在 200 个 CVE 的消融中,完整系统严格成功 150/200(75.0%),换成单 Agent 脚手架后为 61/200(30.5%)。

这组结果支持多角色分工与持久上下文对漏洞修复有效,但论文标题强调的三类上下文各自消融只降低 0.5 至 2.0 个百分点,远小于多 Agent 脚手架带来的 44.5 个百分点差异。当前主要证据因此是“编排结构显著提升该基准结果”,不是每一种上下文来源都获得了同等强度的独立验证。

方法的独特价值 ​

AgenticRepair 的独特价值在于把漏洞修复所需的三类上下文(代码结构、运行时执行反馈、提交历史)分给专用 Agent 并行提取而不是塞进单一 Agent 的上下文窗口,再由修复 Agent 综合这些持久化的结构化信息生成补丁。

适用范围 ​

结果限于 SEC-Bench、C/C++ 语言和作者选定的 GPT-5.2 配置,未证明跨语言泛化,也未验证在更大规模或非 C/C++ 代码库上是否保持同等增益比例。

方法与实施流程 ​

三个专用 Agent 并行提取:代码结构 Agent 分析漏洞相关的代码组织与依赖,运行时执行 Agent 获取动态执行反馈(如崩溃栈、测试失败信息),提交历史 Agent 提取相关提交的演进上下文。修复 Agent 综合三路持久化上下文生成补丁。评测在 SEC-Bench 的 300 个真实 C/C++ 漏洞实例上进行,并与同模型的 Smolagents 单 Agent 基线比较;另在 200 个 CVE 子集上做消融实验,分别移除多 Agent 脚手架和三类上下文来源。

质量控制 ​

核心指标是“严格成功”率(补丁需通过原始判定标准,而非部分匹配)。消融维度包括:完整系统 vs. 单 Agent 脚手架(300 例主实验:220/300 vs. 134/300;200 例消融:150/200 vs. 61/200),以及分别移除代码结构、运行时执行、提交历史三类上下文各自对严格成功率的影响(每项消融降低 0.5–2.0 个百分点)。

局限与待验证问题 ​

  • 证据等级为中等:论文提供完整消融矩阵和两组独立实验(300 例主实验、200 例消融),但仅限 SEC-Bench 和 C/C++,未做独立复现。
  • 三类上下文来源各自消融影响很小(0.5–2.0 个百分点),这可能说明三者信息存在冗余,也可能说明当前消融设计未能隔离出每种上下文的真实贡献;论文未进一步拆解。
  • 44.5 个百分点的多 Agent 脚手架增益是否来自并行提取本身,还是来自任务分解降低了单 Agent 的上下文管理负担,论文未明确区分这两种解释。
  • 未验证该架构在需要跨服务、跨语言追踪的复杂漏洞修复任务上是否保持同等优势。

参考链接 ​