石天能
1
*,林罗宾
1
*,蒋东伟
2
,王梦娜
1
,弗朗西斯科·德拉列加
1
,王准
1
,蒋静芝
1
,张亚历克斯
1
,戴肖恩
1
,查乔纳
1
,涂建红
3
,韩加布里埃尔
1
,王晨光
3
,何景轩
1
,郭文博
4
,宋 Dawn
1
1
加州大学伯克利分校,
2
约翰霍普金斯大学,
3
加州大学圣克鲁兹分校,
4
加州大学圣巴巴拉分校(* 表示同等贡献)
2026 年 6 月 18 日
(预计阅读时间约 5 分钟,更多详情请参阅
论文
我们之前的基准测试 CyberGym 考察的是 AI 智能体能否复现真实世界的漏洞。这项工作在防御侧形成了闭环,并提出了对负责保障软件安全的人员来说最重要的问题:
AI 智能体能否在真实软件上运行完整的防御生命周期——独立发现漏洞,用有效的输入证明它,然后在不破坏其他功能的前提下,提交一个修复该漏洞的补丁?
核心摘要
CyberGym-E2E 是一个大规模、端到端的网络安全基准测试,涵盖 139 个广泛使用的开源项目中的 920 个真实世界漏洞。与仅测试生命周期中单个环节的基准测试不同,每个任务都要求智能体完成全部工作:在真实代码库中定位漏洞,生成能触发 sanitizer 崩溃的概念验证(PoC),并编写一个既能修复漏洞又能通过功能测试的补丁。
主要发现:在已知漏洞位置的情况下,最强配置的修复成功率约为 80%。但当智能体需要自行发现漏洞时,端到端成功率急剧下降。此外,智能体并不总能找到预期的漏洞:当我们检查补丁是否针对特定的真实漏洞(而非代码库中任意有效的漏洞)时,成功率进一步下降。
关键要点
发现漏洞相对比修复漏洞更难。当智能体被提供真实的漏洞利用验证代码(PoC)和崩溃日志时(即仅补丁设置),最佳模型在约80%的任务上成功——表现强劲,但仍有显著的改进空间。当同样的智能体需要先自行发现漏洞时,端到端的成功率骤降——Claude Opus 4.5降至19.2%,最新一代模型则在37%至66%的区间内。在数十万行代码的仓库中独立定位存在漏洞的代码路径是更困难的部分;一旦漏洞被锁定,当今的模型修复得相当不错。
智能体可能会发现另一个漏洞。在S3(测试通过)和S4(补丁修复了原始的真实漏洞)之间始终存在差距。这并非智能体做错了什么——任务从未指定要发现哪个漏洞,而真实项目包含多个漏洞。在探索过程中,智能体经常发现并修复一个完全有效的漏洞,只是这个漏洞并非我们真实数据中的那一个。S3将这些情况计为成功,这符合事实;S4则是一个更细粒度的诊断指标,告诉我们智能体在多大程度上收敛到了特定的预期漏洞,而这才是更难的目标。
替代性补丁与浅层补丁。一个漏洞通常可以有多种不同的修复方式,我们观察到许多成功的智能体补丁与真实补丁针对的是相同的根本原因,但修复位置不同。这证明了基于行为表现而非补丁相似度进行评分的合理性,因为后者会错误地否定大多数合理的修复方案。然而,我们也观察到一小部分补丁是浅层的,即在清理器报告的崩溃帧处插入一道防御性检查,而底层缺陷却原封未动。这表明智能体生成的补丁应被视为待进一步审查的候选方案,而非可直接应用的修复。在本研究中,我们侧重于可验证的、基于执行的评判,因此通过所有验证阶段的浅层补丁仍被计为成功;引入一个额外的基于大语言模型的评判器来分析补丁质量将是一个有益的补充。
较新的前沿模型正在快速缩小差距。在扩展后的 920 项任务基准测试中,GPT-5.4 达到了 66.2% 的端到端成功率(S3)——是上一代约 20% 成功率的三倍多。在预算无上限的情况下,Claude Opus 4.6 在 S3 上的成功率攀升至约 63%。这一趋势与我们之前在原始 CyberGym 中观察到的情况一致:这种能力正在快速发展,基准测试也需要跟上步伐。
这是一项双重用途的技术,而这正是我们构建它的原因。同样的智能体能力,既能帮助防御方大规模分类、复现和修复漏洞,也可能降低攻击性滥用的门槛。我们特意围绕完整的防御生命周期(包括补丁生成)来构建 CyberGym-E2E,而非仅仅关注攻击环节;并且,基准测试中的每一个漏洞在纳入之前都已被公开披露并修复。对这些能力进行透明、严格的评估,是防御方、模型开发者和政策制定者保持领先的关键。
什么是 CyberGym-E2E?
大多数针对 AI 的网络安全基准测试只覆盖了漏洞生命周期的一部分——检测、PoC 生成或补丁修复——并且通常孤立地构建每个阶段。但在实践中,这些阶段是紧密耦合的,一个能够跟踪单个漏洞从发现到修复全过程的统一基准测试,才能真正揭示智能体的端到端能力。据我们所知,CyberGym-E2E 是首个将漏洞检测、PoC 生成、补丁生成、补丁后功能测试、逼真的智能体环境以及端到端评估以如此规模结合起来的基准测试。
任务。每个实例都会向智能体提供一个存在漏洞的代码库、构建脚本和测试脚本。在端到端设置中,所有真实数据都被隐藏:智能体必须自行发现漏洞,构造一个能触发消毒器崩溃的输入,并生成一个补丁——模拟安全研究员的完整工作流程。在仅补丁设置中,智能体会收到真实的 PoC 和崩溃日志,从而将任务限定为根因分析和补丁修复。
一个逼真的环境。CyberGym-E2E 并非让智能体对单个易受攻击的函数拥有只读权限,而是将其直接置于项目的构建环境中,就像工程师实际部署编码智能体那样。
如何衡量成功。输出结果会经过四个验证阶段:(S1)智能体的概念验证(PoC)使未打补丁的构建崩溃;(S2)补丁修复了该崩溃;(S3)打补丁后的项目仍能通过开发者编写的功能测试;以及一项诊断(S4),检查补丁是否也修复了目标真实漏洞。通过 S1–S3 即视为成功的发现与修复;S4 则告诉我们智能体修复的是预期的漏洞还是另一个不同的漏洞。
由自动化、智能体增强的流水线构建。我们从 Google 的 OSS-Fuzz 中获取历史漏洞,识别出干净的补丁提交,重建存在漏洞和已打补丁的构建(将遗留环境迁移到现代工具链,以便当今的智能体能够运行),并使用编码智能体来定位、构建和运行每个项目自身的单元测试以进行功能检查。最后,由人类专家验证测试覆盖率和正确性——这是唯一真正需要人工投入的环节。该流水线对质量要求严格:它会过滤掉大约一半因补丁提交信息不足或过于庞杂的候选任务,因构建或概念验证复现失败而丢弃更多任务,并且只保留开发者测试在漏洞代码周围提供足够覆盖率的任务。
主要结果
我们在四种智能体框架——Claude Code、OpenAI Codex、Gemini CLI 和 OpenHands——上评估了前沿模型,每个任务统一预算为 10 美元和 90 分钟。
在最初的 615 个任务集上,模式非常明显。最佳的纯补丁配置(Claude Opus 4.5 搭配 Claude Code)达到了 82.3%,但同一模型的端到端成绩降至 19.2%。不同模型在不同阶段领先:GPT-5.2-Codex 和 Gemini 3 Pro 在发现阶段(S1)更强,而 Opus 4.5 是最强的补丁生成器——但由于各阶段是累积的,无论补丁技能如何,薄弱的发现环节都会限制端到端的得分。
| 模型 | 框架 | 纯补丁 | S1 | S2 | S3 | S4 |
|---|---|---|---|---|---|---|
| Opus 4.5 | Claude Code | 82.3 | 24.9 | 21.9 | 19.2 | 7.6 |
| Sonnet 4.5 | Claude Code | 77.4 | 18.1 | 12.1 | 10.6 | 3.4 |
| Sonnet 4.5 | OpenHands | 68.9 | 9.3 | 7.2 | 5.4 | 2.3 |
| GPT-5.2-Codex | Codex | 58.5 | 30.2 | 22.0 | 20.7 | 6.5 |
| Gemini 3 Pro | Gemini CLI | 77.6 | 29.6 | 23.6 | 22.6 | 5.0 |
在包含更新模型的扩展版 920 任务基准测试上,端到端性能大幅跃升。GPT-5.4 达到了 66.2% 的端到端成功率(S3),而 Claude Opus 4.6——由于其每个 token 的成本较高,导致许多预算上限运行提前终止——在 10 美元预算下从 37.9% 攀升至无上限时的 62.6%。
| 模型 | 工具框架 | 仅补丁 | S1 | S2 | S3 | S4 |
|---|---|---|---|---|---|---|
| Opus 4.6 | Claude Code | 84.1 | 39.7 | 39.5 | 37.9 | 15.7 |
| GPT-5.4 | Codex | 87.1 | 67.9 | 66.2 | 65.9 | 22.2 |
| Gemini 3.1 Pro | Gemini CLI | 83.0 | 47.4 | 44.3 | 43.8 | 20.5 |
| Opus 4.6(无上限) | Claude Code | 85.8 | 66.3 | 65.0 | 62.6 | 26.2 |
有趣之处
预算很重要。成功率随着成本预算的增加而稳步上升,之后趋于平稳。仅补丁性能很早就达到平台期(大多数模型在花费几美元后就接近其上限),但端到端探索则持续受益于更长的运行空间。10 美元上限是为了公平比较不同模型而设定的评估选择,并非数据集本身的属性——拥有更多资源的研究人员可以进一步推进。
最后一点在完全取消 Opus 4.6 的预算上限时最为明显。其仅补丁曲线几乎立即在 86% 附近趋于平稳,但其端到端曲线则持续上升至约 30 美元以上,最终达到约 63%——这有力地证明了最强智能体能够进行持续的、多阶段的推理,而严格的预算会低估这种能力。
S3–S4 差距的近距离观察。正如要点中所述,智能体经常修复一个有效但并非预期的漏洞。缩小这一差距的一个有希望的方向是,指示智能体在修复第一个漏洞后继续搜索——即枚举并修补某个区域中所有可发现的漏洞,而不是在首次成功后便停止——或者更广泛地说,要求智能体在同一次运行中尽可能多地发现并修复漏洞。
示例:从浏览到修复 GraphicsMagick 中的漏洞
为了使工作流程具体化,这里展示一个具有代表性的成功端到端轨迹。仅给定 GraphicsMagick 代码库,智能体解析任务、浏览源代码树,并使用定向搜索(grep、find)定位到 `coders/png.c` 中的 `ReadMNGImage()` 函数。它检查了围绕 `mng_LOOP` 块处理的代码,检查了一个示例 MNG 文件的字节布局,并构建了一个最小的畸形 MNG 输入——仅包含一个头部加上一个截断的 `LOOP` 块——从而触发堆缓冲区溢出。验证脚本确认了崩溃(S1)。然后,智能体编写了一个小的边界检查补丁,但其首次尝试未能完全阻止崩溃;它进行迭代,不断修改修复方案,直到修补后的构建既消除了崩溃,又通过了项目的功能测试(S2 和 S3)。整个发现-证明-修复循环在几十个执行步骤中展开——这是我们在成功运行中看到的相同系统模式:解析描述、搜索、分析易受攻击的路径、构建概念验证,然后根据反馈进行优化。
为何这很重要
CyberGym-E2E 让一件事变得可衡量且具体:当今最前沿的智能体在漏洞被定位后,通常能够生成一个可通过的修复方案,而更大的差距在于自主发现能力——这一差距正在被最新模型迅速缩小。对于防御方而言,这是一个可操作的信号:自动化端到端修复可以加速分类和打补丁流程,同时仍保留人工审查环节,因为并非每个通过的补丁都是干净的修复。
该基准测试对负责任开发的等式两端都有贡献:它为防御方提供了一种基于实际执行的、可衡量 AI 智能体在整个生命周期中能完成多少工作的现实方法,也为模型开发者提供了一种在风险极高的情况下追踪这些能力的方式。由于构建流程是自动化的,并且持续摄入新的 OSS-Fuzz 漏洞,该基准测试能够与模型以及不断演变的漏洞格局同步扩展。
该数据集可在 github.com/sunblaze-ucb/cybergym-e2e 获取。
如果您觉得这项工作有用,请引用我们的论文。
@inproceedings{shi2026cybergyme2e,
title={CyberGym-E2E: Scalable Real-World Benchmark for AI Agents' End-to-End Cybersecurity Capabilities},
author={Shi, Tianneng and Rheem, Robin and Jiang, Dongwei and Wang, Mona and De La Riega, Francisco and Wang, Zhun and Jiang, Jingzhi and Cheung, Alexander and Tai, Sean and Cha, Jonah and Tu, Jianhong and Han, Gabriel and Wang, Chenguang and He, Jingxuan and Guo, Wenbo and Song, Dawn},
booktitle={Proceedings of the 43rd International Conference on Machine Learning},
year={2026},
url={https://arxiv.org/abs/2606.04460},
}