← 最新论文
💻 computer science

PatchIsland: Orchestration of LLM Agents for Continuous Vulnerability Repair

PatchIsland 是一个利用多样化 LLM 智能体集成和两阶段去重策略的自治系统,旨在噪声大且易失败的持续模糊测试流水线环境中,有效地编排持续漏洞修复,并在 AIxCC 竞赛中实现了 72.1% 的修复率。

原作者: Wonyoung Kim, Seunggi Min, Minjae Gwon, Dowoo Baik, Haein Lee, Hyeon Heo, Minjae Lee, Min Woo Baek, Yonghwi Jin, Younggi Park, Yunjae Choi, Taesoo Kim, Sangdon Park, Insu Yun

发布于 2026-07-17
📖 1 分钟阅读☕ 轻松阅读

原作者: Wonyoung Kim, Seunggi Min, Minjae Gwon, Dowoo Baik, Haein Lee, Hyeon Heo, Minjae Lee, Min Woo Baek, Yonghwi Jin, Younggi Park, Yunjae Choi, Taesoo Kim, Sangdon Park, Insu Yun

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,互联网是一座完全由代码构成的、繁忙且喧闹的巨大城市。在这座城市中,“模糊测试”(fuzzing)就像是派出成千上万个微小的、混乱的机器人,去撞击墙壁、绊倒电线,并戳向它们能找到的每一个门洞。它们的任务是寻找城市防御中的隐藏裂缝——即黑客可以利用来入侵的软件漏洞。多年来,这些机器人非常擅长寻找裂缝,每年都在开源项目中发现数以千计的安全漏洞。但问题在于:虽然机器人非常擅长找洞,但修复这些洞仍然是一个缓慢的人工过程。这就像你拥有一支能够找出城市里每一个坑洼的机器人军队,但随后你必须雇佣一支工程师团队,坐下来逐一修复每一个坑洼。随着城市规模的扩大,这种人工修复过程成为了一个巨大的瓶颈,导致城市在很长一段时间内处于脆弱状态。这就是“自动化漏洞修复”(Automated Vulnerability Repair)的概念所要解决的问题:尝试构建一个不仅能发现坑洼,还能自动修补它们的系统。

由此诞生了 PatchIsland,一个旨在解决这一问题的全新系统。研究人员意识到,现有的自动化修复工具就像是在安静车库里工作的单人技师;它们是在受控环境下针对单辆汽车进行的测试。但在现实世界的持续模糊测试中,那是一条嘈杂、混乱且不可预测的高速公路,车辆会不断发生故障。为了应对这种情况,团队构建了 PatchIsland,该系统不再像一个孤独的技师,而更像是一个高度组织化的、24/7 全天候运作的维修队。他们在名为 AIxCC(AI 网络挑战赛)的大型竞赛中对其进行了测试,要求它在没有任何人工帮助的情况下完全自主运行一周。结果令人印象深刻:PatchIsland 成功修复了 43 个真实漏洞中的 31 个,达到了 72.1% 的成功率,甚至还修复了流行项目 PDFBox 中一个全新的、从未见过的“零日”(zero-day)漏洞。

问题所在:“一刀切”的陷阱

想象一下,你正在试图修复大坝上的一个泄漏点。你的工具箱里有一个锤子、一个扳手和一个胶枪。如果你只使用锤子,你可能会修好一道裂缝,但如果泄漏的是一根破裂的管道,你就会失败。以往大多数自动化修复系统就像那个锤子:它们被设计为在受控的单次运行测试中完美工作。但在现实世界的持续模糊测试中,“泄漏”是多样化的,环境是混乱的,而且问题会不断发生。依赖单一方法的系统在遇到并非其专门训练过的特定问题时,往往会崩溃或陷入停滞。研究人员发现,这些旧系统根本无法处理持续性、现实世界修复工作的复杂性。

解决方案:多元化专家的团队

为了解决这个问题,团队利用“智能体集成”(ensemble of agents)的概念构建了 PatchIsland。不要把它想成雇佣了一位超级天才技师,而是雇佣了一支由不同领域的专家组成的团队,每个人都拥有不同的超能力。有些智能体擅长阅读代码,有些是寻找特定类型漏洞的专家,有些速度很快但可能有点粗心,而另一些则虽然慢但极其精准。

PatchIsland 不再依赖单个智能体完成所有工作,而是将损坏的代码发送给整个团队。如果一个智能体失败或困惑了,其他智能体会继续工作。这就像是一个消防队,如果其中一辆消防车坏了,其他的车仍能继续灭火。这种多样性使系统更加稳健,这意味着即使单个部分失效,系统也能持续运行。

智能过滤器:避免“重蹈覆辙”

在持续修复系统中,同一个漏洞往往会反复导致同一种崩溃。如果系统尝试修复同一个崩溃 100 次,将会浪费大量的时间和金钱。研究人员引入了一种聪明的“两阶段去重”(two-phase deduplication)策略。

想象一位收到犯罪报告的侦探。在召集整个团队之前,侦探会检查:“这起完全相同的犯罪是否已经被解决?”

  1. 第一阶段(崩溃检查): 当新的崩溃报告传来时,系统会检查团队生成的补丁是否已经可以修复它。如果是,则忽略该新报告。
  2. 第二阶段(补丁检查): 如果团队生成了一个新补丁,系统会检查这个新补丁是旧补丁的重复,还是确实修复了新的问题。如果是重复,则将其丢弃;如果更好,则替换旧补丁。

这确保了系统不会在重复修复同一个问题上浪费精力,这在处理数以千计的报告时至关重要。

指挥家:FP2 编排

既然有一个由不同智能体组成的团队,你就需要一个指挥家来决定谁在何时工作以及如何工作。团队开发了一种称为 FP2(先到先得、基于偏好且感知提供者)的策略。

  • 先到先得: 一旦补丁准备就绪,它就会被迅速提交。
  • 基于偏好: 系统知道哪些智能体通常是寻找正确修复方案的“高手”。它会让这些顶尖智能体优先尝试。如果它们失败了,才会调用其他智能体。这节省了时间和成本。
  • 感知提供者: 智能体使用不同的 AI “大脑”(如不同的语言大模型)。系统会分散工作量,确保没有单个 AI 会因为过载或达到速率限制而瘫痪。

这种编排确保了系统的效率,在速度与使用强大 AI 工具的成本之间取得了平衡。

结果:现实世界的试驾

真正的考验来自 AIxCC 决赛,这是一场为期一周的竞赛,参赛队伍必须在没有任何人工干预的情况下,发现并修复 53 个不同的开源项目中的漏洞。

  • 得分: PatchIsland 发现并修复了 31 个漏洞,是所有队伍中数量最高的。
  • 成功率: 它实现了 72.1% 的成功率(在 43 个确认的漏洞中修复了 31 个)。
  • 零日漏洞的胜利: 在一个令人惊叹的时刻,PatchIsland 修复了 PDFBox 项目中的一个全新漏洞。比赛结束后,该项目的维护者采用了系统生成的完全相同的补丁,这证明了 AI 不仅仅是在猜测,它找到了一个真实的、正确的解决方案。

研究人员还指出,虽然该系统非常有效,但并非完美。它确实遇到了一些“单点故障”,例如 systemd 项目中的一个链接中断,导致系统无法针对该特定任务进行初始化。然而,与那些崩溃频率更高的系统相比,PatchIsland 的设计使其能够应对大部分混乱情况。

这为什么重要

PatchIsland 表明,我们正离“软件能够自我愈合”的未来越来越近。通过将多样化的 AI 智能体团队与智能管理和过滤相结合,该系统可以处理持续安全测试中混乱且不可预测的现实情况。这表明,虽然我们目前可能还无法完全实现自动消除所有漏洞,但我们可以构建足够稳健的系统,来应对现代软件面临的漏洞洪流,从而减轻人类专家的负担,让我们的数字城市更加安全。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →