论文

Mastermind: 基于策略的仓库级漏洞复现学习

Mastermind: 基于策略的仓库级漏洞复现学习

仓库级漏洞复现是一项高要求的软件工程任务:智能体必须检查代码库、推断到达漏洞路径的输入语法、构建概念验证 (PoC) 并验证崩溃在修补后的构建上消失。最近的 LLM 智能体在方法正确时通常能执行这些步骤,但仍因选择错误策略而失败。本文认为,策略(而非完整动作轨迹)是此类软件工程智能体的正确学习单元:它足够紧凑以优化、足够具体以指导执行、足够稳定以跨尝试存储和复用。 我们提出 Mastermind,一种将可迁移策略学习与任务特定经验分离的双循环框架。可训练规划器通过 SFT 和基于里程碑的 GRPO 学习可复用的漏洞复现策略,而经验循环维护任务本地的策略记录以指导后续尝试。规划器独立于执行器训练,使策略学习能改进多个冻结执行器而无需修改其动作生成能力。 在 CyberGym 上使用 260 个训练任务和 200 个保留评估任务进行评估,以 GPT-5.5 作为冻结执行器时,Mastermind 达到 84.5% 的通过率,优于开放书 PoC 上下文(60.0%)、Best-of-8 采样(63.0%)和迭代改进(77.0%)。同一规划器还将 GPT-5.4 mini 和 GLM5.1 的通过率分别从 45.0% 和 58.5% 提升至 60.0% 和 71.0%。 结果表明,学习高层策略是改进仓库级软件工程智能体的有效且可迁移机制。

论文精读

TL;DR Mastermind 提出以高层策略为学习单元,通过训练可迁移的规划器来指导冻结局执行器,将代码仓库级漏洞复现成功率提升至84.5%,且策略可跨模型迁移。

问题

问题背景

仓库级漏洞复现(repository-level vulnerability reproduction)是近年大语言模型(LLM)智能体在软件工程领域的热点方向:让智能体自主分析代码库、推断触发漏洞的输入语法、构造概念验证(PoC),并验证补丁后崩溃消失。

现有方法局限

当前LLM智能体在执行正确策略时能完成各步骤,但失败的主因并非执行能力不足,而是策略选择错误。常见方案如独立采样(Best-of-N)、迭代改进或提供更多上下文(open-book PoC)存在明显局限:

  • 独立采样在复杂任务中很快饱和,无法通过单纯增加尝试次数获取实质性提升(Best-of-8 仅达 63.0%);
  • 迭代改进依赖任务内历史,缺乏跨任务的可复用知识,且不考虑长期策略优化;
  • 上下文注入将全部信息一次性暴露给智能体,未区分策略与执行两个抽象层次,导致信息过载且难以迁移。 这些方法本质上将智能体视为单层动作生成器,忽略了高层次策略作为独立学习单元的价值。

为什么这个问题难且重要

技术挑战在于仓库级代码空间巨大、动作序列长,智能体必须在爆炸的搜索空间中推断出有效的输入语法并规划多步交互,任何一个中间决策的偏差都可能导致复现失败。同时,软件供应链安全日益受到业界关注,自动化漏洞复现能大幅缩短修复窗口、减少人工审计成本,但现有智能体的成功率远未达到工业级要求。将策略学习与任务执行解耦,使得策略可以在不同模型间迁移并持续改进,是提升这类复杂工程智能体稳定性的关键路径。

行业类比:如同自动驾驶系统中,高层规划器(何时变道、路口决策)的学习比低层控制更决定整体安全性——在软件工程智能体中,捕获并复用可迁移的漏洞复现策略,是突破当前性能瓶颈的核心思路。

核心洞察

  • 将**策略 (strategy)** 而非完整动作轨迹作为智能体的学习单元是工程上的关键抽象:策略足够紧凑易优化,足够具体能指导执行,足够稳定可跨尝试复用。传统方法依赖全轨迹模仿或上下文增强,但策略层面的学习直击“决策瓶颈”,使规划器能通过**SFT**和**基于里程碑的GRPO**高效获取可迁移知识,避免了轨迹中大量噪声带来的样本效率低下。
  • **规划器与执行器的彻底解耦**让策略学习独立于任何特定执行器,实现一次训练、多模型受益的元迁移。Mastermind 的规划器训练完毕后,可指导多个**冻结的 (frozen) 执行器**(如 GPT-5.5、GPT-5.4 mini、GLM 5.1)提升漏洞复现成功率,而不需要修改这些执行器本身的动作生成能力。这打破了以往端到端训练中执行器与策略绑定、迁移需从头重训的局限,极大降低了将策略智能应用到异构模型栈上的工程成本。

方法

Mastermind 双循环框架

输入:目标代码仓库(含漏洞版本与补丁版本)及漏洞描述。
输出:能够稳定复现漏洞的 PoC(概念验证)输入。

核心思想是将漏洞复现任务解耦为 策略学习策略执行 两个层次。策略是紧凑、可迁移的高层计划(如“先检查输入解析函数,再构造特定格式的 PoC”),而非完整的工具调用序列,这使得策略成为更合适的学习单元。Mastermind 包含两个循环:

  • 策略循环(Strategy Loop):训练一个 可训练的规划器(Planner),学习生成可复用的漏洞复现策略。
  • 经验循环(Experience Loop):维护任务级的历史策略记录,供执行器在后续尝试中动态参考,积累任务局部经验。

规划器训练与策略生成

规划器基于 LLM 实现,训练分为两个阶段:

  1. 监督微调(SFT):利用高质量策略轨迹数据让规划器获得生成合理策略的基本能力。
  2. 里程碑奖励 GRPO:定义漏洞复现过程的关键里程碑(如正确识别输入入口点、构造出能到达脆弱路径的原始载荷、在补丁版本上验证载荷失效等),以里程碑达成与否作为稀疏奖励,通过 群组相对策略优化(GRPO) 强化规划器,使其策略更倾向于导向成功路径。训练过程中执行器完全冻结,规划器只输出策略文本,不干涉具体动作生成。

经验循环与执行

执行时,规划器首先为当前任务生成一个初始策略。一个或多个冻结的执行器(如 GPT‑5.5) 根据该策略逐步生成具体的工具调用序列(如读取文件、运行 fuzzer、编译测试等)。若执行失败,经验循环会将本次策略与失败原因记录为任务局部经验,并在下一轮尝试中作为额外上下文提供给执行器,引导其调整行为。这种设计允许同一个规划器提升不同执行器的表现,无需对执行器本身做任何修改。

与同类方法的差异:传统方法要么直接端到端生成动作轨迹(策略与执行耦合,难以优化和跨模型迁移),要么单纯扩充上下文(如提供 PoC 示例)却无法改善策略选择质量。Mastermind 将策略抽象为独立可学习的单元,通过双循环分离通用策略学习与任务局部经验积累,使得规划器可以跨任务泛化,同时充分利用任务内历史尝试,在训练与推理效率上均优于独立采样或迭代改进方法。

实验

实验设计

Mastermind 在 CyberGym 的 260 个训练任务上训练 planner,使用 SFT 和基于里程碑的 GRPO 进行策略学习;在 200 个留存任务上评估,执行器(如 GPT-5.5)冻结。核心指标为 pass rate(生成 PoC 导致崩溃且在补丁后消失的比例)。基线包括 open-book PoC contextBest-of-8 采样迭代改进(iterative improvement),并设置消融实验验证双循环贡献。

关键发现

策略学习显著提升漏洞复现通过率:Mastermind 搭配 GPT-5.5 达到 84.5% pass rate,远超 open-book(60.0%)和 Best-of-8(63.0%)。策略具有跨执行器可迁移性:同一 planner 将 GPT-5.4 mini 从 45.0% 提升至 60.0%(+15.0%),将 GLM 5.1 从 58.5% 提升至 71.0%(+12.5%),无需修改执行器。这证明以策略为学习单元能捕获高层漏洞分析知识,优于盲目重试或堆砌上下文。

基线对比解读

迭代改进已是一个强基线(77.0%),但 Mastermind 仍带来 7.5 个百分点的绝对提升,表明策略引导的重试比随机探索更有效。相比 Best-of-8,学习到的策略突破了采样饱和的瓶颈。双循环中的经验循环(task-local strategy records)进一步利用任务内历史尝试,解释了为何 Mastermind 能超越单纯使用 open-book 上下文。这些结果强调了在复杂 SE 任务中,显式学习可复用策略的价值。

行业影响

落地场景

Mastermind 的策略学习框架可嵌入多种需要多步骤规划与验证的 AI 工程产品。直接应用包括:

  • 自动化安全测试:在 SAST/DAST 工具链中增加漏洞复现与 PoC 生成能力,将静态扫描结果转化为可复现的攻击链。
  • DevSecOps 管线:作为 CI/CD 中的安全关卡,对每次代码提交自动验证漏洞是否真实存在并检验补丁是否有效。
  • 智能编码助手:为开发者提供漏洞修复建议时,附带可复现的触发用例,增强可信度。
    更广义的迁移场景包括代码迁移、API 使用生成等任何需要从代码库中推断输入模式的任务。

商业价值

  • 降本:将安全专家的重复性复现工作自动化,减少人工审计时长;单次训练的策略规划器可复用至多种执行器(GPT、GLM 等),避免为每个模型重新投入训练成本。
  • 增收:对安全服务商,提供“可证明风险”的漏洞报告能提升客户购买高级安全服务的意愿;对云平台,可作为差异化功能吸引付费。
  • 体验提升:缩短漏洞从报告到修复的周期,降低误报带来的沟通成本,让开发团队更信任工具输出。
    实验显示,使用同一 planner 可将冻结执行器GPT-5.4 mini 的通过率从 45.0% 提升至 60.0%,GLM 5.1 从 58.5% 提升至 71.0%,体现了跨模型迁移的降本潜力。

与现有产品/工作流的接口

  • 轻量服务IDE 插件形态,通过标准 API(如 SARIF 格式输入漏洞报告,输出 PoC 与验证结果)对接已有的安全平台(GitHub Advanced Security、Snyk 等)或项目管理工具(Jira、Slack)。
  • 训练后的 planner 模型可封装为 REST/gRPC 接口,被不同 LLM 执行器动态调用,无需修改执行器本身,实现“策略即插拔”。
  • 在基于 LLM 的 coding agent(如 Copilot 生态)中,可作为一款安全 reasoning 模块,增强其处理漏洞相关查询的深度。

具体落地场景

1. 云安全态势管理平台
某云平台在客户代码仓库中检出漏洞后,调用 Mastermind 自动生成能触发崩溃的 PoC,并向客户展示可复现的攻击流程。这能将抽象的漏洞条目转化为直观的安全事件,推动客户购买更高级的修复指导服务。
2. 企业安全即服务(SECaaS)
安全公司向客户提供“漏洞自动复现验证”增值服务,集成入客户的 DevSecOps 流水线。每当 CI 构建时,若检出可疑代码,自动启动策略规划器构造 PoC 并验证,将结果附在 Pull Request 中,开发人员可直接看到“如果我接受这个漏洞,会出现什么实际危害”,从而快速响应修复。

局限

  • **泛化性未充分验证**:实验仅在 CyberGym 这一个合成漏洞复现基准上进行,涵盖 260 个训练任务和 200 个测试任务。虽然任务数量可观,但真实世界的仓库规模、编程语言多样性、漏洞类型(如逻辑漏洞、并发漏洞)以及代码组织结构可能与基准差异较大。方法的鲁棒性尚不明确,尤其当漏洞模式与训练分布偏移时,策略是否仍能有效指导执行器有待进一步验证。
  • **对冻结执行器的隐式依赖**:Mastermind 假设存在一个足够强大的冻结 LLM 执行器(如 GPT-5.5),规划器仅提供高层策略,具体动作生成仍由执行器完成。若执行器的基础能力较弱(如代码理解、工具使用能力不足),即使策略正确,任务也可能失败。实验显示跨模型迁移带来提升,但在更弱的执行器上(如小型开源模型)的增益可能有限,方法的下限受执行器能力约束。
  • **里程碑定义的领域专业性**:SFT 和 GRPO 训练均依赖预定义的**里程碑**(如“识别到易受攻击的函数”“生成语法正确的输入”等),这些里程碑的设计需要专家知识,且可能因漏洞类型而异。对于新的漏洞类别或复杂漏洞,自动构建或泛化里程碑仍然是个挑战,这限制了该框架向未知漏洞的快速迁移。
论文Mingzhe Du2026-07-02原文

相关内容