文章总结: ReCopilot是一个基于大模型的二进制程序分析辅助系统,通过预训练、有监督微调和直接偏好优化的多阶段训练策略构建二进制领域的推理大模型。该系统设计了静态程序分析模块,将函数调用链、变量数据流等信息汇总以增强上下文,结合深度推理机制显著提升模型预测精度和泛化能力。评估结果显示,ReCopilot在函数恢复、类型推断等任务上表现优异,并进一步开发了支持自动化漏洞发现的ReCopilot-Agent系统。未来发展方向包括反编译优化智能化、智能体集成和云端化趋势。
综合评分: 90
文章分类: 二进制安全,AI安全,漏洞分析,逆向分析,安全工具
SDC2025 议题回顾 | ReCopilot:基于大模型的二进制逆向工程助手
SDC2025
看雪学苑
2025年11月12日 18:00
上海
议题回顾
ReCopilot 是一个基于大模型的二进制程序分析辅助系统,针对逆向工程中符号信息缺失和人工依赖程度高的核心挑战,提出垂域大模型与程序分析协同优化的智能助手方案。
演讲者团队通过预训练(CPT)、有监督微调(SFT)和直接偏好优化(DPO)的多阶段训练策略构建二进制领域的推理大模型。同时,创新性地设计静态程序分析模块,将函数调用链、变量数据流等信息汇总以增强上下文,结合深度推理(Test-time Scaling)机制显著提升模型预测精度和泛化能力。
一起来回顾下 陈国强在 SDC2025上发表的议题演讲——《ReCopilot:基于大模型的二进制逆向工程助手》
演讲嘉宾:陈国强
奇安信技术研究院安全研究员,网络空间安全专业硕士,毕业于中国科学技术大学,现任职于奇安信技术研究院。关注二进制分析程序分析、大模型、智能体等技术领域,曾在CCS,ASE、ACL,TOSEM等CCF A类国际学术会议和期刊发表多篇文章。
*以下为整理后的速记
一、引言
#
各位老师、同学,大家下午好。我是奇安信技术研究院的陈国强。非常感谢看雪的邀请,能在这里与大家分享我们的研究项目——ReCopilot:基于大模型的二进制逆向工程助手。
这个项目于今年年初立项,属于一个偏研究性的探索方向。我们的初衷是希望在“大模型”与“二进制程序分析”的交叉领域,寻找新的可能性,看人工智能是否能在逆向分析、漏洞挖掘等复杂任务中发挥作用。
#
二、问题与启发
#
我们首先观察到一个长期存在的痛点:反编译工具(如 IDA Pro、Ghidra、Binary Ninja 等)在从二进制中重建符号信息方面存在天然局限。
当符号被剥离后,变量名、函数名、结构体类型等关键信息全部丢失,使得反汇编代码极难理解,也会直接影响漏洞分析的效率和准确性。
#
例如,一个简单的学生信息插入函数,如果有源码,很容易看出存在内存越界(buffer overflow)风险。但在二进制中,由于无法知道结构体的真实定义,我们很难察觉到潜在漏洞。
由此我们思考:既然通用大模型在源代码层面的理解和生成已展现出强大能力,是否可以借助它来重建二进制中的语义信息?
然而,我们对现有通用模型进行了系统评估(相关论文发表于IJCAI 2025),结果显示:通用模型在二进制理解任务上表现非常差。
这直接推动了我们后续的研究——自研领域专用大模型,专注于二进制代码分析。
我们的思路基于四个启发:
1.跨领域推理数据有助于性能提升:
二进制推理模型不仅需学习领域任务,还需引入跨领域的推理数据(如数学、医疗等)以增强逻辑能力。
2.Test-time Scaling(测试时扩展):
模型在回答之前应进行更多思考和自我验证,以提升推理正确率。
3.上下文感知(Context Awareness):
在分析某个函数时,不仅要输入函数本身,还要加入其调用者(caller)与被调用者(callee)信息,帮助模型理解全局逻辑。
4.数据驱动核心思想:
在所有环节中,数据质量直接决定模型能力。
#
三、模型设计:ReCopilot 架构
#
1. 整体流程
ReCopilot 的训练流程包括三大阶段:
◆预训练(Pretrain)
基于二进制与源码的配对数据,建模二进制结构与语义映射关系,形成ReCopilot-Base。
◆有监督微调(SFT)
在特定分析任务(如函数名恢复、变量类型恢复等)上训练模型,形成ReCopilot-SFT。
◆强化学习(DPO)
通过“好-坏样本对”优化输出格式与逻辑一致性,得到最终版本ReCopilot-DPO。
2. 数据构建
我们通过三条数据管道收集超过一亿条“二进制-源码”函数映射对:
◆公开软件包:利用 Ubuntu、Arch 等发行版中的带符号包。
◆交叉编译:针对多架构、多编译器、多优化级别生成多样数据。
◆自动编译代理(AutoCompiler):通过智能体自动化编译代码仓库(论文ACL 2025)。
四、模型训练过程
#
(1)预训练阶段
目标是让模型理解二进制与源码的映射关系。数据格式包括三部分:反汇编伪码、对应源码、自然语言摘要。
模型通过“下一个词预测(next-token prediction)”方式,逐步学习不同模态之间的关联。
(2)有监督微调阶段
此阶段目标是让模型具备执行具体分析任务的能力,并引入“深度推理(Deep Reasoning)”能力。
我们总结出十余项核心任务(meta tasks):
◆函数名恢复
◆变量名恢复
◆结构体定义推断
◆函数签名恢复
◆算法识别
◆伪代码生成
◆漏洞点定位等
SFT 数据模版包括函数上下文、调用链、数据流以及分析任务标签。
模型在输出前需先进行“思考”(部分),再生成结构化结果。
(3)推理数据构建
推理过程(Reasoning / Chain-of-Thought)无法人工大量编写,我们采用生成—判别循环:用大模型生成推理文本,再由判别器筛选优质结果(Reject Sampling)。
这一机制显著提升了推理逻辑质量。
(4)DPO 强化学习
最后阶段利用“好-坏样本对”强化训练,让模型输出格式更加规范、逻辑更一致。
五、模型评估与结果
#
我们对 ReCopilot 进行了系统对比测试:
◆对比模型:通用 LLM(如 DeepSeek-v3.1、Kimi-k2)、专用模型(如 LLM4Decompile)。
◆评估时间:2025年10月17日。
结果显示:
在函数恢复、类型推断、算法识别等主要任务上,ReCopilot 均达到最佳效果,在多个指标上超越通用模型。
更重要的是,ReCopilot 仅为 7B 参数级模型,体量远小于通用模型的数百亿参数,但推理更快、资源占用更低。
#
六、ReCopilot-Agent:从模型到系统
#
尽管 ReCopilot 能完成多个分析任务,但早期版本仍存在限制:
◆功能需手动触发;
◆上下文信息有限;
◆交互性较弱。
因此我们进一步构建了ReCopilot-Agent,让模型具备“智能体”能力。
Agent 结构包括四个核心组件:
1.反编译器接口:调用 IDA、Ghidra 等基本功能;
2.程序分析工具集:执行轻量级数据流、控制流分析;
3.ReCopilot-Reasoner:作为专家级推理模块;
4.ReCopilot-Embedding:代码检索模型,用于语义搜索。
其中,Embedding 模型通过Triplet Loss训练,在函数语义检索任务上达到 80% 的准确率,远超通用模型的 50%。
七、案例演示:固件漏洞分析
#
我们选取了一款 Wi-Fi 路由器固件进行实测。
1. 预分析
通过“秘密泄露检测工具”发现一个隐藏页面/apps_test.asp,该页面接受三个参数:action_mode、apps_name、apps_flag。
简单 fuzz 后,发现%p会导致日志输出异常,%n则引发崩溃。
2. 智能体分析流程
◆初始化任务:输入问题描述,让 ReCopilot-Agent 自动展开分析。
◆代码检索:利用 Embedding 模型定位相关函数。
◆代码优化:专家模型恢复符号、优化伪码。
◆漏洞检测:自动构建从用户输入到漏洞点的可达数据流。
◆验证与报告:自动生成漏洞报告及可用 PoC。
最终,模型准确识别出vsnprintf格式化字符串漏洞,并输出完整的利用链。
#
八、总结与展望
#
ReCopilot是一个专为二进制分析设计的专家级大模型,以更小的模型体量实现了超越通用 LLM 的性能。
ReCopilot-Agent则进一步支持自动化漏洞发现,展示出智能体驱动分析的潜力。
未来,我们预见以下发展方向:
1.反编译优化智能化:模型可直接输出接近源码层级的伪代码。
2.智能体集成:未来二进制分析工具将原生嵌入智能体模块。
3.云端化趋势:智能体主导的二进制分析云服务可能出现。
4.防御策略:
- 防御者拥有先手优势;
- 代码混淆对模型分析仍具强干扰;
- “对抗样本”可成为防御模型分析的新手段。
往期议题回顾
1.SDC2025 议题回顾 | 你尽力了吗——25 年后的再追问
2.SDC2025 议题回顾 | 危险游戏:智能驾驶一线攻防实战
3.SDC2025 议题回顾 | 仿真驱动的侧信道攻击新范式:让CPU消耗成为密码学安全的X光机
4.SDC2025 议题回顾 | 大模型供应链安全的熵增效应:风险挖掘与熵减策略
5.SDC2025 议题回顾 | 利用大模型辅助自动化 BYOVD 驱动漏洞挖掘
PPT下载及视频回放
峰会议题PPT及回放视频已上传至【看雪2025 SDC】:https://www.kanxue.com/book-section_list-219.htm
【已购票的参会人员可免费获取】:我方已通过短信将“兑换码”发至手机
兑换方式:
-打开链接https://www.kanxue.com/book-section_list-219.htm
-点击购买课程
-填入兑换码
-提交订单
﹀
﹀
﹀
球分享
球点赞
球在看
点击阅读原文查看更多
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:看雪学苑 SDC2025《SDC2025 议题回顾 | ReCopilot:基于大模型的二进制逆向工程助手》