BAI 模型后训练:面向二进制安全分析的 Agentic RL 实践
原创
腾讯科恩实验室
腾讯科恩实验室
腾讯科恩实验室
2026年10月19日 09:00
上海
去阅读
腾讯科恩实验室面向真实安全业务需求,持续建设二进制分析平台 BinaryAI。恶意样本分析、逆向工程与漏洞研究是团队高频开展的工作,也为模型研发提供了明确的优化目标。围绕这些二进制安全分析的需求,我们通过自主后训练打造了二进制安全模型 BAI-4.0-27B(以下简称 BAI),以 Agentic RL 提升多轮分析、工具调用与结果交付能力。
在上一轮升级[1]中,BinaryAI 通过自研二进制分析引擎(Binary Query,BQ)与 Agent 云端执行环境(WorkBuddy Managed Agents,WMA),建立了从样本上传到分析结果的完整工作流。随后,科恩实验室构建 BinaryAI-Bench[2],以真实任务和可执行验证校准模型能力,识别影响产品交付的薄弱环节。BAI 后训练承接这两项建设,将工具、评测与模型优化连接起来。
真实任务中的困难,往往出现在局部理解之后:模型识别了加密算法,却没有完整恢复密钥生成过程;找到了初始化入口,却遗漏了后续解码调用;产出了脚本,处理的仍是中间数据。这些问题要求模型持续追踪调用关系和数据状态,在新证据出现时修正判断,并通过运行结果确认交付物。
BAI 的 Agentic 后训练针对这一完整过程展开。我们基于腾讯云 Agent Sandbox/Runtime 构建 on-policy RL,与 BinaryAI 线上共用一致的 Agent harness 和 BQ 专用工具,让模型在实际使用的执行方式中接受训练。任务验证器检查分析产物,执行轨迹记录决策过程,二者共同为策略优化提供反馈。
本轮工作覆盖后训练环境、任务数据、奖励设计与推理服务。27B 规模的 BAI 在本轮 BinaryAI-Bench 中取得较高加权总分,专项推理优化后模型生成速度可达 560 Tokens/s,使得长程安全分析任务完成度和效率均大幅提升;在训练和评测过程中,模型意外发现了预期奖励之外的真实漏洞;在真实业务实战中,例如终端安全风险发现与威胁情报疑难样本研判,均取得了诸多亮点成果。本文介绍的 BAI 后训练成果及应用案例仅作技术能力展示,受限于评测环境等多重因素影响,相关评测仅供安全研究参考,不涉及相关能力的正式对外服务提供。
腾讯云 Agent Sandbox/Runtime:训推一致的执行体系
Agent 的分析策略依赖执行环境。工具能提供哪些信息、返回内容如何组织、文件能否跨步骤复用、长上下文如何整理,都会影响模型选择下一步操作。要将后训练中的有效行为转化为产品能力,训练环境就需要覆盖线上实际采用的这些条件。
BAI 的 Agentic RL 后训练基于腾讯云 Agent Sandbox/Runtime 构建 on-policy 训练环境,训练与推理使用一致的 Agent harness 和 BQ 专用工具,减少执行环境差异对分析过程的影响。
腾讯云 Agent Sandbox 提供隔离、可控的任务执行环境,承载目标文件、分析数据库、工具进程、临时脚本和交付物;Agent Runtime 提供 Agent 的运行托管、部署与管理能力。两者为 BAI 的多轮任务执行提供运行基础。[3]
对二进制分析来说,环境需要容纳完整的任务过程。模型可以读取目标文件,建立分析数据库,保存候选解码结果,运行脚本,再根据输出继续修正实现。文件和进程状态随着任务推进而变化,后续步骤能够接续前面已经完成的工作。
沙箱的自定义镜像用于准备分析工具与必要依赖,文件操作支持输入和产物管理,生命周期管理支持任务环境的创建与回收。环境封装还需要区分不同尝试的文件与进程状态,避免前一次执行留下的中间结果影响后续验证,使轨迹与对应产物能够准确关联。[4]
Agent harness 负责接收任务、组织上下文、编排工具并回传执行结果。在 BAI 的架构中,CodeBuddy Code 承担规划与执行编排,bq-scripting 接入 BQ 分析能力,自动上下文整理支持 Long-Horizon 长程任务,训练与推理复用这套执行体系。
图 1 · 基于腾讯云 Agent Sandbox/Runtime 的 BAI on-policy RL:复用Codebuddy Code 与 BQ 工具,执行任务、记录轨迹、验证结果、更新策略,再进入下一轮采样。
BQ 提供文件概览、函数与字符串检索、反编译、反汇编、交叉引用和数据读取等原子能力。模型通过 bq create 建库,再结合 bq info、bq functions、bq xrefs 等操作定位入口、追踪调用,按需核对代码与数据。训练与推理使用一致的工具接口及返回内容,减少模型切换环境后的适应成本。
一致性也覆盖任务状态与执行规则。同一套 harness 管理工作区、工具调用、System Prompt、分析 Skill 和自动上下文整理;数据库、脚本和中间结果能够跨步骤复用。工具报错、检索未命中或证据不足时,模型在训练中就需要处理这些反馈,调整范围或重新检查假设。
在此基础上,on-policy RL 持续使用当前策略生成新的任务轨迹。每轮权重更新后,模型重新执行任务,验证结果随当前策略的实际行为产生。这样既对齐模型与采样策略,也让训练覆盖实际分析中的工具交互和状态依赖。
一轮训练由任务执行、结果验证与策略更新串联。Agent 任务在腾讯云沙箱中运行,模型请求经网关路由至 SGLang 上的 BAI 策略副本;工具结果返回会话,驱动后续分析。执行结束后,验证器检查交付物并生成奖励,VeRL 与 Megatron 完成策略优化,再将更新后的权重同步到 SGLang,进入下一轮 Rollout 采样。训练过程中,网关保留会话、工具调用、模型输出序列及对应 log probs,训练端由此能够把一次任务的决策过程与最终奖励对应起来。
真实样本与可验证任务:后训练数据的构建
Agentic RL 的数据建设需要把真实样本转化为可执行任务:明确模型要交付什么,准备目标文件与依赖,再设计能够检查结果的验证器。样本的分析价值、任务是否可解、奖励是否对应正确行为,分别决定训练覆盖的能力与反馈质量。
BAI 按 Harbor task 形式组织任务,将 instruction、environment 与 verifier 配套设计。指令说明目标与交付约束,环境提供目标程序、文件和依赖,验证器运行检查并给出奖励,参考解法用于确认任务可解与评分逻辑有效。[5]
例如,一项 DLL 分析任务约定交付脚本实现 solve(binary\_path, output\_dir),读取传入的二进制,并在输出目录生成包含指定字段的 result.json。验证器据此调用脚本、检查内容,并使用变化后的输入复测。接口约定将不同分析路径产生的成果置于同一组检查标准下。
环境封装还需要固定目标二进制、依赖库、工具链与运行条件,并约定输出路径和调用方式。参考解法先在相同环境中执行,确认依赖齐全、题面可解、检查结果符合预期,再用于校准验证器。这样能够减少环境错误或指令歧义对任务反馈的干扰。
图 2· 恶意样本分析、漏洞分析、检测工程与源码恢复,采用各自的结果验证方式,最终形成统一的训练任务包。
我们围绕四类安全任务组织训练,分别检查恢复内容、漏洞触发、规则效果和程序行为。样本覆盖 PE、ELF、Mach-O、脚本及 Go、Rust 等工具链产物。筛选时兼顾类型差异与分析价值,并通过哈希、结构指纹和文件格式检查减少重复与无效样本。每道任务的参考解法先在固定环境中跑通,再用验证器检查模型交付的结果。
| 任务方向 | 典型交付物 | 验证重点 |
|---|---|---|
| 恶意样本分析 | 配置、载荷、提取器与解码工具 | 恢复完整内容,读取当前输入,改名或换路径后仍可运行。 |
| 漏洞分析 | 触发输入与修复方案 | 复现目标缺陷;修复后问题消失,正常功能保留。 |
| 检测工程 | YARA 规则 | 在隐藏样本上检查恶意覆盖与良性误报。 |
| 源码恢复 | 恢复后的函数实现 | 编译通过,隐藏测试检查基本功能、边界与异常行为。 |
任务反馈驱动的策略优化
BAI 的策略优化围绕两项要求展开:首先完整解决任务,再提高成功路径的效率。后训练基于 VeRL 的 DAPO recipe,采用 GRPO 的组内比较思路,对同一道任务采样多条轨迹,由验证结果形成相对反馈,优化模型在分析过程中的选择。[6]
结果奖励将优化目标落实到交付物。配置与载荷是否正确恢复,YARA 规则是否满足覆盖和误报要求,触发输入是否产生预期漏洞效果,都由验证器通过实际执行检查。同一任务中的不同分析路径接受相同标准,入口选择、工具使用、语义解释和脚本实现最终都要对结果负责。
当轨迹有成功也有失败时,结果差异能够提供优化信号;当多条轨迹全部完整成功时,相同的任务得分无法区分直接完成与反复返工。BAI 因此在结果奖励之外引入成功路径的长度奖励,在已满足正确性要求的尝试之间继续比较 token 效率。
长度奖励只作用于正常结束的完整成功轨迹。同一组中至少存在两条这样的轨迹,才比较它们的输出长度,为更精简的成功路径增加奖励。长度按整条任务中所有模型输出 Token 的总量统计,同时覆盖单步生成与多轮执行。失败、超时和部分完成保持原有任务反馈,提前结束或缺少产物无法获得长度加分。
一项包含自定义字节码 VM 与 TEA-like 加密的逆向任务说明了这一设计的作用。多条轨迹最终都得到正确结果,但部分尝试反复修改循环次数、调整字节序、重复提取数据或重写脚本。较直接的路径先确认 VM 的密钥生成机制,核对加密运算顺序,再实现求解并交给真实二进制验证。
两类路径都完成了数据提取、语义还原、脚本实现与运行检查,差异主要在误判后的往返和重复操作。长度奖励用于加强更直接的成功路径,同时保留结果验证这一前提,使效率优化仍然服务于任务完成。
验证器约束奖励的有效性。如果仅检查文件存在、JSON 格式或脚本退出码,模型可能通过固定答案和表面完整的输出取得高分,这类 reward hacking 会使训练偏离实际能力。BAI 的任务验证需要进一步检查产物是否处理当前输入、恢复完整语义,并在必要的变化与边界条件下保持正确行为。
提取器通过输入路径和任务相关结构变化接受复测,检测规则同时检查恶意覆盖与良性误报,源码恢复和修复产物结合隐藏测试与功能回归。目标程序、参考结果和独立检查为模型自测提供外部约束,避免测试两端共享同一错误假设。
策略迭代将验证结果与执行轨迹一起复核:异常高分用于检查验证盲点,持续失败用于定位能力缺口,成功路径中的往返用于改进决策效率。任务数据、验证器与奖励设计相互配合,使每轮后训练都能回应具体的执行问题。
BinaryAI-Bench:BAI 专项能力的评测结果
BinaryAI-Bench 是科恩实验室为 BinaryAI 建立的能力量尺。评测从真实二进制安全任务出发,要求 Agent 完成分析并提交可执行产物,通过行为验证观察模型能否把程序理解转化为有效交付。本轮评测将 BAI 与外部参评模型置于同一任务范围内比较,同时对照后训练前后的能力变化。
评分沿用制品(Artifact)、正确性(Correctness)与鲁棒性(Robustness)三个维度,分别检查交付接口、核心结果与输入变化后的行为。任务得分再按难度权重累加,形成榜单中的加权总分(WSM)。这一指标综合反映任务质量与难度,不等同于完成任务的数量或通过率。
27B 规模的 BAI 在本轮榜单中取得 106.18 的加权总分,位居参评模型首位。相较同规模基座模型的 77.55,加权总分提高 28.63。外部头部参评模型的加权总分在 101 左右,BAI 通过面向二进制任务的自主后训练,在本轮专项评测中取得了更高的综合表现。
图 3 · BAI 模型评测指标系,加权总分 & Token 效率
类别表现将综合提升落实到具体任务。恶意软件分析与漏洞分析是本轮相较基座增量最明显的两个方向,分别涉及配置与载荷恢复、缺陷触发与根因分析。逆向工程表现进一步提升,覆盖跨函数语义理解、算法还原和实现恢复。这些任务都要求模型在多轮工具交互后交付可验证结果,与 BAI 的 Agentic 后训练目标直接对应。
类别之间仍存在差异。检测工程需要继续加强跨变体共同特征提取、恶意行为与良性共性的区分,以及隐藏样本上的覆盖。评测因而同时观察综合得分与分类表现,再结合失败轨迹确定下一轮训练重点,避免只围绕单一排名组织模型优化。
Token 效率与任务得分共同衡量执行表现。从得分与 Token 投入的综合表现看,BAI 的 Token 效率与部分外部参评模型接近。对 BinaryAI 而言,效率优化需要与交付质量结合:在保证结果正确的前提下,减少重复调查、无效生成和实现返工,才能改善长程分析的实际执行。
基座与 BAI 的对照反映完整后训练版本的能力变化。专项评测帮助团队校准模型在不同任务中的表现,真实案例与业务场景则进一步说明这些能力如何支持漏洞研究、驱动风险识别和威胁情报分析。
实战应用:从预期外漏洞发现到威胁情报分析
BAI 的实战价值体现在可复核的新漏洞发现、面向终端安全的驱动风险识别,以及威胁情报疑难样本的深度研判。以下从这三个方向展开。
场景一 · 预期目标之外,模型额外发现真实漏洞
在 BAI RL 后训练的验证过程中,模型围绕 My-Basic 解释器的漏洞发现任务开展分析。模型先找到了数组问题,随后继续追查:数组下标的处理出了问题,集合下标和临时对象的管理是否也有类似隐患?顺着这条线索,模型转向嵌套集合,发现一个简单的链式访问 X(0)(0) 就能让程序崩溃。
崩溃本身还不足以解释问题。模型把表达式拆开验证:只访问一次下标,程序正常;先把中间结果保存到变量,再继续访问,也正常;直接链式访问,却会触发错误。即使给内层集合加入有效元素,崩溃依然存在。一组对照实验逐步排除了空集合与越界访问的解释,将原因指向一个被提前释放、随后又被使用的临时对象——释放后使用缺陷(Use-After-Free,UAF)。最小触发输入仅需 3 条 BASIC 语句。
这条线索随后经受了更关键的检验:团队固定上游提交 ff5bed7,用未经修改的源码重新构建,AddressSanitizer 再次确认了对应的 heap-use-after-free。在这次任务中,模型共报告 3 项漏洞,其中 1 项是预期目标之外、能够在上游复现的真实 UAF。沿着已有线索继续追查,模型带出了真实开源项目中的新漏洞,并留下了可复现的触发输入与验证依据。
场景二 · BYOVD 终端安全风险:挖掘合法驱动中的可滥用能力
一份合法驱动,原本可能只是为设备管理提供便利。但当它把内核中的高风险操作开放给用户态,又缺少必要的权限检查时,同样的功能就可能被攻击者用来终止安全进程、读写内核内存。这正是 BYOVD(Bring Your Own Vulnerable Driver)的风险所在。已知名单能够帮助拦截已收录的驱动,名单之外的风险,则需要沿着代码继续追查。
以终止进程的接口为例,分析需要从用户态请求一路跟到内核操作:目标进程由谁指定,参数怎样经过 IOCTL 处理函数,执行之前有没有检查调用者身份与权限。BAI 沿驱动初始化、请求分发和关键函数之间的关系梳理这条链路,将输入可控性与沿途的安全检查放在一起判断,找出正常功能可能被滥用的位置。
这样的追查覆盖物理或虚拟内存读写、I/O 端口读写、MSR 读写和任意进程终止四类高风险操作。最终交给研究人员的线索,包含可疑接口、调用条件和具体代码依据,让后续复现与影响评估有迹可循。在同一批驱动样本中,相较基于敏感 API 匹配与固定规则筛查的方案,BAI 发现并经人工复核确认的新增风险驱动数量提升 50%,将调用链分析的价值落实到具体风险发现中。
场景三 · 威胁情报二次研判:聚焦争议与长期未定性样本
在科恩每日威胁情报分析中,一部分样本始终难以定性:不同引擎给出的判断存在分歧,或者样本已留存较长时间,仍缺少明确结论。我们把这些多引擎判断不一致、或 MTTD 超过7天的样本交给 BAI,继续调查其代码和行为。
分析从样本的关键功能展开。BAI 追踪调用关系,检查数据经过哪些变换,再将分散在不同函数中的行为串联起来,梳理恶意功能与家族特征。这样,样本研判就有了可以继续核对的代码路径和行为依据,研究人员能够据此检查模型为何得出结论。
如图所示,一份 Go 编译的 Linux ELF 样本,在 VirusTotal 检测结果中,仅有少量引擎报告恶意。BAI 通过静态分析追踪关键函数与嵌入数据,识别出 SSH 弱口令爆破、公钥后门植入、10 类持久化及蠕虫式自传播能力,并将这些功能与硬编码 C2 通信串联成完整的恶意行为链,高置信度判定该样本为恶意。这些代码依据,为分析师进一步核验其传播与后门风险提供了明确线索。
最后一道检查由人工完成:核对关键代码、行为证据与模型判断,确认分析是否成立。经人工二次检查,BAI 在上述疑难样本范围内的研判准确。这些结论为当前样本决策提供支持,也让历史情报回溯和同源关联有了进一步追查的起点。
图 4· 左: VirusTotal 检测结果,右:BAI 分析报告。
推理加速:提升 Agent 长程安全分析的整体效率
二进制安全分析是典型的长程任务:从定位入口、追踪调用,到恢复数据、编写脚本和验证结果,模型需要连续完成多轮推理与工具交互。每一轮的 Token 消耗和生成等待都会累积,影响整项任务的完成时间。因此,Token 效率与模型推理速度,是 BAI 提升长程分析效率的两个重点。
我们从两个方向推进优化:一方面,通过后训练与成功路径的长度奖励,减少重复调查、无效推理和实现返工,引导模型用更精简的路径完成任务,提高 Token 效率;另一方面,通过投机解码 draft 模型专项训练与推理后端优化,缩短生成相同数量 Token 所需的时间。两者共同减少长程任务中累积的推理开销,为提升整体分析效率提供支持。
围绕工具调用、代码解释和脚本生成请求,我们为 BAI 二进制分析任务专项训练 DFlash2 draft 模型,并结合推理后端优化。在本轮 BF16 对照实验中,BAI 的生成速度从 336 Token/s 提升至 560 Token/s,累计提升 66%。
推理加速的价值,最终要体现在完整安全任务的完成效率上:在保证分析结果正确、交付物可验证的前提下,以更少的 Token 消耗和更短的执行时间完成分析。这也是我们持续协同优化 Token 效率与模型推理速度的目标。
已关注
关注
重播 分享 赞
关闭
观看更多
更多
退出全屏
切换到竖屏全屏退出全屏
腾讯科恩实验室已关注
分享视频
,时长00:21
0/0
00:00/00:21
切换到横屏模式
继续播放
[ ]
进度条,百分之0
播放
00:00
/
00:21
00:21
倍速
全屏
倍速播放中
0.5倍0.75倍1.0倍1.5倍2.0倍
超清流畅
继续观看
BAI 模型后训练:面向二进制安全分析的 Agentic RL 实践
观看更多
转载
,
BAI 模型后训练:面向二进制安全分析的 Agentic RL 实践
腾讯科恩实验室已关注
分享点赞在看
已同步到看一看写下你的评论
视频详情
视频 · 推理速度对比|左:BAI(优化前);右:BAI(优化后)
下一步:持续拓展 BAI 的能力边界
本轮 BAI 后训练围绕真实二进制安全任务,将执行环境、任务数据与结果验证纳入 Agentic RL 训练,提升模型的多轮分析、工具调用与成果交付能力。27B 规模的 BAI 在本轮 BinaryAI-Bench 中取得最高加权总分,早期研发验证发现了可在 My-Basic 上游复现的真实缺陷,专项推理优化进一步提高了生成速度。这些成果展示了面向安全任务的后训练在分析能力与执行效率上的提升潜力。
下一阶段,科恩实验室将继续优化 Agentic RL 算法与训练策略,探索更适合二进制安全任务的模型方案,强化长程推理、跨函数理解和多轮工具协作能力,并改善推理效率与执行稳定性。同时,持续扩充高质量训练数据,丰富恶意样本分析、漏洞分析、检测工程与源码恢复的任务覆盖,引入更复杂的样本与分析链路,针对能力短板定向补充训练任务。结合 BinaryAI-Bench 与真实任务反馈,持续迭代模型、奖励设计和验证方法,让 BAI 在更广泛的安全场景中,稳定交付可验证的分析成果。
感谢 WorkBuddy 团队与优图团队在 BAI 后训练研发过程中的协作与支持。
参考资料
[1]BinaryAI 全新升级
https://mp.weixin.qq.com/s/5Yuo02Am8MLw5UsxzO6bRg
[2]BinaryAI-Bench
https://mp.weixin.qq.com/s/YRmzTTyoJoBUNGZjWVlaaA
[3]腾讯云 Agent Runtime:常见问题(Sandbox 与 Runtime)
https://cloud.tencent.com/document/product/1814/123828
[4]腾讯云 Agent Sandbox:沙箱概述
https://cloud.tencent.com/document/product/1814/123811
[5]Harbor:Task Overview
https://docs.harborframework.com/tasks/overview
[6]VeRL:DAPO Recipe
https://verl.readthedocs.io/en/latest/algo/dapo.html
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论