登录

AI能挖漏洞吗?北航等机构把真实漏洞炼进了模型参数


速读:北航等机构把真实漏洞炼进了模型参数2026年09月01日18:30机器之心Pro给一个大模型漏洞描述和代码仓库,它能否像安全研究人员一样,读代码、找入口、调用工具、构造输入,并反复验证自己的判断? 对于说明含糊的条目,则结合可用的漏洞证据和修复内容生成任务描述。 开源CVE记录通常只有漏洞说明、修复提交和少量崩溃信息。 一套可扩展的智能体数据生成方法:用可复用的通用漏洞分析作为Skills提供领域方法,再通过工具交互、环境反馈和自动判定获得高质量轨迹。 这也是OpenAegis与许多既有网络安全模型最重要的区别:它学习的不只是漏洞知识和最终答案,还学习了安全研究任务中的连续行动过程。
2026年09月01日 18:3

给一个大模型漏洞描述和代码仓库,它能否像安全研究人员一样,读代码、找入口、调用工具、构造输入,并反复验证自己的判断?

这已经不只是问答能力的问题。真正的网络安全任务往往要持续数十分钟甚至更久,模型需要在真实环境中完成搜索、编译、运行、分析和修正。决定成败的,不只是模型 “知道多少”,还包括它能否把一连串操作组织起来。

现有开源方案仍有几处彼此关联的缺口:

一些前沿模型虽然开放权重,却没有开源可复现的网络安全训练流程;

已有解决方案通常只解决单项任务,尚未形成统一方案;

已有解决方案缺乏可规模化的智能体数据;

规模化合成智能体数据需要安全相关的先验知识。

来自北京航空航天大学、欧洲学习与智能系统研究院(ELLIS)、新加坡管理大学(SMU)和至知创新研究院(IQuest Research)的研究团队提出了  CyberFactory ,并在此基础上训练出开源网络安全模型  OpenAegis 。这项工作的重点并不是再收集一批静态题目,而是补上从真实漏洞到智能体训练轨迹的整条链路。

CyberFactory 把公开世界中零散的漏洞材料重建为能运行、能判定的任务,再用一套安全分析 Skill 引导智能体完成任务、留下操作轨迹,最终把这些做事方法训练进OpenAegis。最终评测限时 1 小时。在这个条件下,与 Qwen3.5 基座相比,OpenAegis 的通过率从 29.6% 提升到 58.1%,领先 GLM 5.2 14.8 个百分点,领先 Kimi K2.7 6.4 个百分点。

论文标题:CyberFactory: Scaling Cyber Security Capabilities with Instances from the Wild

Hugging Face:  https://huggingface.co/collections/Multilingual-Multimodal-NLP/cyberfactory

GitHub:  https://github.com/CSJianYang/CyberFactory

两个关键突破:

先造出轨迹,再让模型学会方法

这项工作围绕两个过去没有被同时解决的问题展开。

第一,真实漏洞资料并不等于训练数据。开源 CVE 记录通常只有漏洞说明、修复提交和少量崩溃信息。要让智能体真正动手解决问题,还需要补齐受影响的代码版本、修复后的版本、编译环境、运行入口以及自动判定程序。

第二,即使任务环境准备好了,现有开源模型也未必能稳定完成任务。安全研究不是一次作答,而是一个不断提出猜想、调用工具、检查结果、再改变策略的过程。如果智能体频繁在无关方向上试错,就很难批量获得可用的训练轨迹。

CyberFactory 分别给出了对应的办法:

一套统一、开放且可复现的训练流程 :把零散的漏洞材料整理为可执行、可自动判定的任务,连接数据构造、轨迹生成和模型训练,并覆盖漏洞复现输入生成、漏洞修复和网络安全问答。

一套可扩展的智能体数据生成方法 :用可复用的通用漏洞分析作为 Skills 提供领域方法,再通过工具交互、环境反馈和自动判定获得高质量轨迹。

前者解决 “题从哪里来”,后者解决 “高质量解题过程怎样来”。两者结合后,团队得到的不是普通问答对,而是包含代码检索、工具调用、编译运行、失败分析和结果验证在内的 完整智能体轨迹 。

这也是 OpenAegis 与许多既有网络安全模型最重要的区别:它学习的不只是漏洞知识和最终答案,还学习了安全研究任务中的连续行动过程。

CyberFactory 补上的不只是一批训练材料,而是一条能够从开源漏洞持续构造任务、生成轨迹并训练模型的完整路径。

题从哪里来?

从开源漏洞到可训练任务

真实世界中的漏洞材料来源复杂,完整程度也不相同。CyberFactory 使用了 ARVO、OSS-Fuzz 和开源 CVE 等多类来源。

其中,开源 CVE 最难处理。一个常见条目可能只给出修复提交、漏洞类型和简短说明,却没有现成的运行环境。团队为此设计了三步处理流程。

第一步:重建漏洞前后的程序环境

系统从多个来源获取源码仓库、定位修复提交、构造验证文件,根据修复提交提取漏洞版本和修复版本,分别构建可运行环境。这样,同一个候选输入可以在修复前后各运行一次。

第二步:确认任务确实可解,并控制难度

系统将实际运行获取的证据与已有公开的漏洞类型、崩溃报告和崩溃位置等作检验校准,这样留下来的任务具有可核验的漏洞依据。而后剔除冗余,同时不会把验证阶段使用的额外线索泄露给训练模型。

第三步:生成适合智能体使用的任务说明

对于说明完整的修复提交,系统直接保留其中的有效信息;对于说明含糊的条目,则结合可用的漏洞证据和修复内容生成任务描述。用于任务核验和筛选的额外线索不会交给轨迹生成或模型训练,以免泄露答案。

经过这几步,原本散落在漏洞库、代码仓库和构建记录中的材料,才真正变成一个可以交给智能体处理的任务。

主题:漏洞|任务