REA 是首个基于 MCP 协议的全栈逆向工程框架,让 AI Agent 能从二进制到运行时行为全方位分析软件,支持 Android、原生二进制、Web 应用等多平台,通过统一接口实现「看懂任何代码」的愿景。
适用人群:安全研究员、逆向工程师、恶意代码分析师、底层系统开发者、CTF 选手、对软件内部机制好奇的全栈工程师
适用场景:恶意软件静态与动态分析、闭源库/应用行为还原与 Hook 点定位、CTF 逆向题目自动化求解、遗留系统文档缺失时的代码理解与重构
推荐理由:REA 将 MCP 协议引入逆向领域,打破了工具链碎片化痛点,让 LLM 直接驾驭 Ghidra、Frida、radare2 等重型工具,实现了从字节码到运行时的全链路自动化分析,极大降低了逆向门槛并提升了专家效率。
项目定位与背景
逆向工程长期以来依赖人工配合 IDA、Ghidra、Frida 等工具链,门槛高、周期长、知识传承难。随着大模型推理能力提升,将 LLM 引入逆向流程成为趋势,但现有方案多停留在代码解释层面,缺乏对运行时行为、多架构二进制、移动端应用的统一抽象。REA(Reverse Engineer Anything)由 morluto 发起,定位为「一个 MCP,覆盖二进制、应用、运行时的全谱系逆向工程」。它基于 Model Context Protocol(MCP)构建标准化工具接口,让 AI Agent 胃口统一调用反汇编、动态插桩、内存分析、网络抓包等能力,实现从静态分析到动态溯源的闭环。项目开源于 GitHub,主语言 TypeScript,配套 npm 包 rea-agents,提供 CLI 与网页两种交互形态,文档完善并支持 20 余种语言。
核心功能与技术架构
REA 采用「MCP 服务端 + 技能插件 + Agent 编排」三层架构。MCP 服务端暴露统一的 tools/call 接口,下游挂载 30 余个内置技能:静态层集成 Ghidra Headless、radare2、Binary Ninja API,支持 x86/ARM/MIPS/RISC-V 等架构的反汇编、控制流图、伪代码生成;动态层封装 Frida、GDB、lldb、WinDbg,实现进程附加、内存搜索、函数 Hook、寄存器追踪;移动端专项提供 Android 逆向技能链(apktool、dex2jar、Frida-gadget 注入、Xposed 模块分析);Web 层覆盖浏览器 DevTools 协议、WASM 反编译、Source Map 还原。Agent 端内置规划器,能根据目标自动拆解任务:先静态定位关键函数,再动态验证调用链,最后输出结构化分析报告。所有技能均以 TypeScript 编写,遵循 MCP Schema 规范,支持热插拔与社区扩展。
创新点与亮点
首创将 MCP 协议系统化应用于逆向工程,解决了「工具碎片化、上下文割裂、Agent 难调度」三大痛点。统一接口屏蔽了底层工具差异,Agent 无需学习每个工具的 CLI 参数即可组合使用。引入「技能市场」机制,开发者可发布、复用细粒度逆向能力(如「自动识别加密算法」「提取 JNI 注册函数」),形成生态飞轮。支持「RL 环境构建」功能,可将逆向任务转为强化学习环境,为训练专用逆向模型提供数据与奖励信号。提供开箱即用的网页演示与 CLI 快速启动(npx rea-agents setup),零配置体验完整流程。文档与社区建设扎实,Discord 活跃度高,Showcase 页面收录真实案例(恶意样本分析、DRM 破解、协议逆向等),降低新手入门摩擦。
与同类项目对比
对比传统框架:angr、Miasm、Triton 侧重符号执行与程序分析理论,工程化部署复杂,缺乏 LLM 原生接口;Ghidra/IDA 插件生态丰富但各自为政,跨工具协作依赖人工胶水。对比 AI 辅助工具:GPTReverse、IDA Pro 的 AI 助手多为「代码解释+重命名」单点增强,无法驾驭动态调试、内存取证等重交互场景。REA 的差异化在于「全谱系覆盖 + 标准化协议 + Agent 自主编排」,它不替代 Ghidra/Frida,而是将它们纳入统一调度总线,让 Agent 成为逆向工作流的大脑。局限性在于:MCP 生态尚早,部分高级技能(如内核级调试、硬件侧信道)仍在完善;大模型上下文窗口限制超大二进制整体推理,需配合 RAG 与增量分析策略;Windows 驱动/固件逆向支持相对薄弱。
上手指南与快速开始
环境要求 Node.js 18+ 与 Python 3.10+。一键安装:npx rea-agents setup,脚本会自动拉取 Ghidra、Frida-server、radare2 等依赖并配置 MCP 服务端。启动服务:rea-agents serve,默认监听 3000 端口,浏览器打开即可使用 Web UI。Web 界面提供「新建任务」向导:拖入 APK/ELF/EXE/JS 文件,选择分析目标(如「找出加密密钥生成逻辑」「定位反调试检测点」),Agent 会自动规划技能序列并实时展示调用链、伪代码、内存快照。CLI 模式适合脚本化批处理:rea-agents analyze -i sample.apk -g "extract all native library exports"。进阶用户可编写自定义技能:在 skills/ 目录创建 TypeScript 类实现 MCP Tool 接口,注册后即可被 Agent 调度。文档站 rea.tools 提供完整 API 参考、技能开发教程、RL 环境构建指南。
总结与展望
REA 以 MCP 为枢纽,将逆向工程的碎片化工具链重组为 Agent 可编程的原子能力集合,标志着逆向工作流正式进入「自然语言驱动、全链路自动化」新阶段。对于安全团队,它能显著缩短样本分析周期;对于底层开发者,它是理解黑盒组件的强力透视镜;对于教育与 CTF,它降低了逆向入门门槛。未来看点包括:更多架构(RISC-V、WebAssembly GC)与平台(iOS、嵌入式固件)的原生技能补全;结合专用小模型实现离线推理,解决数据敏感场景部署问题;推动 MCP 在安全领域的标准化,吸引更多厂商贡献官方技能插件。若你关注 AI 与系统安全的交叉前沿,REA 值得深度试用并参与共建。
项目信息
| 项目名称 | morluto/rea |
| 编程语言 | TypeScript |
| Star 数 | 444101 |
| Fork 数 | 109694 |
| 主题标签 | agent-skills, ai, android, claude-code, cli, cpp, dsh-plugin, html, java, javascript, linux, mcp, nodejs, python, rea, react, rust, security, touhou, typescript |