CyberFactory: Scaling Cyber Security Capabilities with Instances from the Wild
Jian Yang, Haau-Sing Li, Shawn Guo, Zixi Zhao, Yibo Tan, Jiajun Wu, Aishan Liu, Zhoujun Li, Xianglong Liu, Tianyu Zheng, Bryan Dai, Chengran Yang
cs.CR, cs.CL
2026-08-24
CyberFactory 把公开 CVE 做成可执行、可验证的 agent 任务,用漏洞分析 skill 合成轨迹,训出的 OpenAegis 在 CyberGym 一小时预算下 Pass@1 达 58.1%,同骨架比 Qwen 3.5 高 28.5 点。
闭源模型已经能在真实代码库上做漏洞复现,开源这边卡住了三件事。前沿开源权重有能力,但不给可复现的训练配方;现成开源方案多半停在 CTF 或单点任务,缺可扩展的 agent 轨迹;光靠裸 rollout 又钉不住长程分析流程,这类活需要领域先验把步骤按住。
北航、IQuest Research 和新加坡管理大学这条线要做的,是把野外公开漏洞证据变成可执行、可验证、还能拿来训模型的监督。
CyberFactory 把数据构造、轨迹合成和训练串成一条管线,覆盖三类任务:PoC 生成、补丁生成、网络安全问答(CyberQA)。这里的 PoC 是能触发目标漏洞的具体输入,用补丁前后两套构建做差分验证:补丁前必须打出 sanitizer 失败,补丁后不能打出。
PoC 实例按落地难度分三档。ARVO 自带补丁前后 Docker 镜像和 ground-truth PoC,最容易。OSS-Fuzz 只给引入漏洞的 commit,用 ARVO 同款二分去找修复点。最难的是野外 CVE:先留下带 CWE 类型的条目,从受影响版本区间定位修复 commit,做成补丁前/后两套构建,再用推理模型试探,已经能直接生成 PoC 的样本丢掉。验证阶段会给漏洞类型或崩溃信息,这些信号在正式合成轨迹和训练时会扔掉。
任务描述优先用高质量修复 commit message;写得差的,再用漏洞证据和修复提交补一段。补丁任务沿用 CVE-Factory 从 CVE 记录建实例的办法。问答走「答案先行」:答案必须来自可信来源,执行结果、结构事实(改过的函数、调用关系)或权威报告原文。模型只负责把上下文改写成问答,再用 LLM judge 查答案能否回溯、题面有没有漏答案、答案是否唯一。
轨迹合成时给教师一套可复用的漏洞分析 skill:看目标与构建约束、用分析和测试手段探索候选输入、用证据验证、失败就改路线。skill 只在造数据时出现,OpenAegis 推理时不带。轨迹还要过任务验证器才留下。CyberGym 一类 rollout 会顶到 256K 上下文,用量到 90% 时把轨迹压成续跑状态,只保留已验证证据、失败尝试、未决假设、产物、构建状态和待办,丢掉重复日志再接着跑。
OpenAegis 从 Qwen 3.5-397B-A17B 做全参监督微调,三轮,序列最长 131,072 token,超长样本丢掉。256 卡 BF16,峰值学习率 2×10⁻⁵。
评测在 CyberGym:只给自然语言描述和代码库,要合成能复现目标漏洞的输入。每题一小时墙钟,同一套 scaffold、工具和提交逻辑。推理时谁都不给那份 skill。
| 模型 | 规模 | Pass@1 |
| Qwen 3.5 | 397B-A17B | 29.6% |
| GLM 5.2 | 744B-A40B | 43.3% |
| Kimi K2.7 | 1T-A32B | 51.7% |
| OpenAegis | 397B-A17B | 58.1% |
同骨架上涨 28.5 点,比更大的 GLM 5.2 高 14.8 点,比 Kimi K2.7 高 6.4 点。
90% 阈值的上下文压缩整体 58.1%,超过 40 次工具调用的长程任务 48.7%,上下文耗尽率 7.0%。全历史是 52.1%/40.2%/18.7%,简单截断更差。长程任务上压缩比全历史高 8.5 点,耗尽少 11.7 点。
给 GLM 5.2 加 skill:无 skill 一题 60 分钟一次得 43.3%;有 skill 一题 15 分钟跑 5 次得 46.5%。两边不算等算力,论文自己说这是合成吞吐提高。探索覆盖率从 3.78% 拉到 99.85%,验证覆盖率从 0.13% 到 98.41%。
SFT 之后 OpenAegis 不带 skill,仍把探索调用从每条轨迹 0.01 拉到 1.32,验证从 0.00 到 1.05。read 调用从 28.4% 降到 7.3%,shell 从 70.1% 升到 89.9%。单操作调用从 31.4% 降到 13.5%,6–10 个操作的从 4.3% 升到 30.8%。AddressSanitizer 编译事件从 155 到 1,795,只提交一次的轨迹从 37.9% 到 48.2%,提交五次及以上从 10.4% 掉到 2.0%。
开源安全 agent 缺的往往不是再大一个基座,是可验证的数据工厂。把野外 CVE 做成能跑的差分任务,再用 skill 把教师从瞎试输入拽到「先验引导的探索 + 证据验证」,最后用 SFT 把流程写进权重。推理时不必再塞那份 skill。
能跟的人有两层。一层直接用 OpenAegis 当 CyberGym 类复现 agent。一层更有用:复用这条从公开漏洞制品到可执行实例再到轨迹的配方。名字取自宙斯和雅典娜的盾,定位是防御向。论文自己也写了,权重带风险,用途要核。
主结果是同 scaffold 下幅度不小的专项化,不是新的攻击技术。
硬评测几乎只打在 CyberGym 的 PoC 复现上。补丁生成和 CyberQA 进了训练管线,论文承认还没有同等严格的评测。
skill 对照不算等算力:一边 60 分钟一次,一边 15 分钟五次。教师加 skill 还会过度依赖那份先验。一些目标仍然更吃手工构造输入,而不是 fuzz 优先。评测被现有 CVE 制品、项目覆盖和一小时预算卡住。训练丢掉超过 131k token 的样本,可能切掉最长、最难的轨迹。页脚写了双用途风险,公开可验证的复现能力本身就能被误用。