论文

ContraFix:用于漏洞修复的技能增强对比运行时分析

ContraFix: Skill-Enhanced Contrastive Runtime Analysis for Vulnerability Repair

智能体系统Agent 工具调用

摘要

随着软件系统变得越来越复杂,自动漏洞修复(AVR)仍然很困难,因为修复系统可用的材料通常是故障工件而不是修复指南。传统的分析技术可以提供可疑位置、减少触发器或约束,但跨存储库配置成本高昂,并且很少可直接用于补丁生成。最近基于 LLM 的代理可以编辑和验证存储库级补丁,基于经验的系统可以重用之前的修复跟踪或演示,但它们仍然需要当前实例证据,将广泛的症状级故障报告转变为具体的修复决策。我们提出了 ContraFix,一个代理 AVR 框架,它通过对比运行时分析来构建此类证据。从失败的见证人开始,ContraFix 生成附近的失败和非失败变体,通过对齐的探测站点执行它们,并比较它们的运行时状态以推断修复边界并指导源级修补。每个候选补丁仅在构建和验证后才被接受。 ContraFix 还将经过验证的修复片段存储在双轨技能库中,重用突变技能来构建有用的变体和修正技能来完善失败的补丁。在 SEC-Bench 上,使用 GPT-5-mini 的 ContraFix 在 3 次重复运行中实现了 92.0% 的分辨率,平均分辨率为 91.8% +/- 0.8。在 PatchEval 上,它解析了 225 个 Go、Python 和 JavaScript 实例中的 73.8%。对基准验证的 SEC-Bench 补丁的语义审核显示,ContraFix 的补丁中有 58.2% 在语义上是正确的,而最强基线的这一比例为 31.3%,这表明所提出的框架提高了语义正确性,超出了基准验证。