将软件想象成一座宏大而复杂的城堡。随着时间的推移,窃贼(黑客)发现了墙壁上的隐藏裂缝(漏洞)并潜入其中。长期以来,寻找这些裂缝既困难又昂贵。但最近,超级聪明的 AI “侦探”(大语言模型)变得如此擅长发现这些裂缝,以至于它们发现裂缝的速度已经超过了人们修复它们的速度。
问题在于:发现裂缝很容易;但正确地修复它很难。
目前的 AI 修复工具就像是热情但缺乏经验的学徒。它们要么会猜错裂缝的位置(且猜错),要么试图用一种“一刀切”的方法来修补,而这种方法并不契合特定漏洞的形状。
这篇论文介绍了一种名为 KEAREPAIR 的新系统,它的目标是成为一名首席建筑师,而非仅仅是一名学徒。以下是它的工作原理,分为简单的步骤:
1. 旧方式的问题
- “幻觉”问题: 如果你要求标准 AI 去修复一个漏洞,它可能会凭空捏造。它可能会说:“问题在这里!”但实际上问题是在别处。这就像是一个侦探仅凭直觉而非证据来猜测犯罪现场。
- “表面化”问题: 在寻找过去如何修复类似问题的案例时,旧工具仅仅寻找看起来相似的代码。但在编程中,两段代码可能看起来完全一样,但需要的修复方案却截然不同。这就像看到两辆车都有爆胎,就假设通过单纯打气就能修复,而实际上其中一辆可能需要更换整个轮毂。
2. KEAREPAIR 的解决方案:三步走大师计划
KEAREPAIR 通过加入两个关键要素——确凿证据和深度知识——改变了游戏规则。
步骤 A:带着手电筒的侦探(基于事实的诊断)
与其让 AI 去猜测问题在哪里,KEAREPAIR 给它配备了一套专门的工具(如放大镜、地图和压力测试仪)。
- 类比: 想象一位侦探不仅是猜测小偷是如何进入的,而是通过物理手段追踪足迹(数据流)并检查锁定的门(控制流),从而获取经过验证的事实。
- 结果: AI 不再猜测漏洞的原因;它会被递交给一份包含已证实事实的报告。这阻止了 AI 凭空捏造。
步骤 B:智慧图书馆(知识增强的检索)
一旦 AI 明确知道问题所在,它就需要寻找过去如何修复该问题的案例。
- 类比: 旧系统通过寻找标题相似的书籍来搜索图书馆(表面代码)。KEAREPAIR 则通过犯罪的故事来进行搜索。它寻找的是那些即使建筑外观不同,但入侵机制相同的过往案例。
- 转折点: 它将搜索拆分为两个视角:
- 数据流: 错误的数据是如何流动的?
- 控制流: 程序的逻辑是如何允许错误数据通过的?
通过同时匹配“故事”和“逻辑”,它能找到最完美的过往案例作为学习对象,从而避免错误的建议。
步骤 C:迭代优化(闭环过程)
AI 会生成一个补丁(修复方案),但它不会止步于此。
- 类比: 想象一位裁缝在做西装。他们不仅仅是裁剪布料然后交货。他们会将衣服穿在顾客身上,检查是否合身,进行别针固定,脱下,调整,然后再试。
- 过程: KEAREPAIR 会尝试修复方案,运行测试以查看是否破坏了其他部分;如果失败,它会根据新的反馈要求 AI 再次尝试。它会不断循环,直到修复方案完美为止。
3. 结果:打造杰作
研究人员在 55 个真实的软件漏洞(主要是 C/C++ 代码)上测试了这位“首席建筑师”。
- 得分: 当与强大的 AI 模型(Gemini-3.1-Pro)配合使用时,KEAREPAIR 成功修复了 83.64% 的漏洞。
- 对比: 最优秀的现有工具修复的数量要少得多。KEAREPAIR 修复了 9 个独特的漏洞,而表现最好的竞争工具完全无法处理这些漏洞。
- 速度与成本: 它完成得很快(每个漏洞不到 50 秒)且成本极低(每个漏洞约 30 美分)。
- 加分项: 他们还在其他语言(Python、JavaScript、Go)上进行了测试,发现效果同样出色,证明它并非只能处理单一任务。
总结
可以将 KEAREPAIR 视为从猜谜游戏向法医调查的升级。
- 它利用工具获取关于漏洞的硬事实(不再靠猜)。
- 它在图书馆中搜索深度相关的过往解决方案(而非仅看表面匹配)。
- 它测试并优化修复方案,直到达到完美。
该论文声称,这种方法解决了当今网络安全领域最大的瓶颈问题:即无法自动且可靠地修复那些 AI 发现速度远超人类修复能力的漏洞。
技术摘要:KEAREPAIR
问题陈述
虽然前沿基础模型加速了漏洞发现并降低了成本,但修复端却难以跟上步伐。现有的自动化漏洞修复(AVR)方法,特别是基于大语言模型(LLM)的方法,面临两个根本性的局限:
- 根因分析不可靠: 当前的方法通常依赖于静态 LLM 推理或动态定位工具来识别漏洞成因。然而,LLM 在缺乏经过验证的事实进行推理时容易产生幻觉,且定位工具往往无法精准锁定修复位置,尤其是在根因与修复位置在空间上相距较远时。此外,对消毒器(sanitizer)报告的依赖限制了其在内存安全问题上的泛化能力。
- 漏洞知识利用不足: 虽然检索增强生成(RAG)被用于提供历史案例,但朴素的检索策略侧重于表层代码相似性。这往往会检索到具有相似根因但修复模式迥异的案例,从而误导 LLM。现有试图匹配根因的方法则面临精度问题和高昂的计算成本。
方法论:KEAREPAIR
作者提出了 KEAREPAIR,一种新型的知识增强型智能体(Agentic)AVR 方法。该系统通过三个紧密耦合的阶段运行:
1. 漏洞知识库构建
受开发者通过控制流和数据流理解漏洞的启发,KEAREPAIR 从历史漏洞-补丁对中构建了一个双视图知识库。
- 知识提取: 利用 LLM,系统从两个视图(数据流和控制流)中提取五类特定知识项:根因(Root Cause)、脆弱行为(敏感 API、污点流、控制分支)以及修复策略(Fixing Strategies)。
- 知识抽象: 将具体的代码元素(变量名、方法调用)进行抽象处理,以创建更具泛化性、且不受具体实现绑定的知识。
- 存储: 知识存储在向量数据库中(使用
all-MiniLM-L6-v2 进行嵌入,使用 Faiss 进行搜索),以实现高效检索。
2. 基于事实驱动的智能体漏洞诊断
KEAREPAIR 并没有依赖纯粹的 LLM 推理或外部定位工具,而是采用了遵循 ReAct 范式的工具增强型诊断智能体。
- 专用工具: 该智能体利用三种静态分析工具:
trace_data_flow:追踪污点传播路径,以验证不安全值的影响。
is_path_reachable:验证控制流路径和分支谓词,以确定可疑操作是否可执行。
inspect_API_usage:分析敏感 API 的语法使用上下文。
- 输出: 智能体通过迭代探索代码库来收集经过验证的程序事实,并将这些事实组织成结构化的诊断报告。通过将诊断建立在具体的证据之上,最大限度地减少了 LLM 的幻觉。
3. 知识级检索增强补丁生成
基于诊断报告,系统通过级联检索和精炼过程生成补丁。
- 视图特定查询生成: 系统根据经过验证的根因(而非原始代码)生成语义查询,以寻找高层级的共性。
- 级联知识检索:
- 初始检索: 从双视图知识库中检索前 10 个候选案例。
^2. 混合重排序: 混合重排序器结合了代码相似性(使用预训练的 CodeLlama 嵌入)和行为相似性(使用针对结构化诊断报告的 BM25),以选择最相关的范例。
- 打补丁与验证: 修复智能体利用从检索到的范例和知识中学习到的上下文进行补丁合成。补丁需经过闭环验证过程:对其进行编译,并重新执行触发漏洞的证明概念(PoC)和测试套件。如果验证失败,反馈将被返回给智能体进行迭代精炼。
核心贡献
- 识别挑战: 本文识别并解决了当前基于 LLM 的 AVR 中根因分析不可靠以及深度漏洞知识利用不足的问题。
- 新颖方法: KEAREPAIR 引入了一个框架,该框架将补丁生成建立在经过验证的程序事实(通过静态分析工具)和多维漏洞知识(通过双视图检索)之上,有效地缓解了幻觉问题并提升了示例质量。
- 广泛评估: 该方法在 55 个可复现的 C/C++ 漏洞和 173 个多语言漏洞上进行了评估,证明了其在各种 LLM 后端和漏洞类型下的卓越性能。
实验结果
- C/C++ 性能: 当与 Gemini-3.1-Pro 配对时,KEAREPAIR 成功修复了 55 个漏洞中的 46 个 (83.64%)。这显著优于最先进的基准方法 PatchAgent (39/55),多修复了 9 个 PatchAgent 无法解决的独特漏洞。
- 成本与效率: 最优配置(Gemini-3.1-Pro)实现了 83.64% 的修复率,平均每个漏洞成本为 $0.30,时间开销在 50 秒以内。
- 跨语言泛化性: 在 PATCHEVAL 基准测试(Go, JavaScript, Python)中,当与 Qwen3.5-Plus 配对时,KEAREPAIR 达到了 85.55% (148/173) 的成功率,展示了超越 C/C++ 的强大泛化能力。
- 消融实验: 移除基于反馈的迭代机制导致性能下降最大(从 46 次修复降至 26 次),凸显了迭代精炼的关键作用。同样,移除双视图检索流水线也会显著降低性能,证实了多维知识的必要性。
重要性与主张
本文声称 KEAREPAIR 通过从“纯静态推理”转向“基于事实的智能体推理”,代表了自动化漏洞修复领域的重大进展。作者认为:
- 可靠性: 通过专用工具将诊断建立在经过验证的程序事实之上,对于克服复杂代码库中的 LLM 幻觉至关重要。
- 知识质量: 高层级的、双视图(控制流和数据流)的知识检索,在引导补丁生成方面优于表层的代码相似性。
- 实用性: 该系统实现了强大的成本效益平衡,使其在需要快速响应漏洞的实际部署场景中具有可行性。
作者承认存在一定的局限性,包括静态分析在处理复杂宏时的挑战,以及处理需要跨文件更改的跨过程漏洞的难度(指出目前的知识库是函数级的)。他们还提到了 LLM 训练中潜在的数据泄露威胁,但强调受控研究证实了性能的提升归功于系统的设计。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。