实验笔记 · 案例拆解
拆解 REA:agent 是怎么获得「逆向」能力的
一篇来自评测视角的实验笔记。对象是 morluto/rea——一个 44 万星、2026 年最热的 agent 项目。它回答了一个比「MCP 是什么」重要得多的问题:模型不会的事情,是怎么被接出来的?
笔记日期 2026-11-08
阅读约 6 分钟
关联:评测素养 · MCP · Agent
先说结论
REA(Reverse Engineer Anything)让 Claude Code、Codex、Cursor 这类 agent 能够「逆向任何东西」——从 App 的某项功能,一路拆到原生二进制。但它的 441k 星没有一行是在训练模型:agent 的「逆向能力」不是练出来的,是接出来的。拆完它的仓库,能力来自三层叠加,每一层都值得单独看。
第一层:一个精心设计的「工具目录」
REA 的本体是一个 MCP 服务器,注册了 40+ 个以 inspect_ 开头的工具——从 PE 导入表、ELF 笔记、二进制加固标记(PIE/NX/RELRO),到 WASM 反汇编、EVM 字节码、GGUF 模型文件头、Unity IL2CPP 元数据、SQLite 快照、HAR 网络抓包……覆盖「你能想逆向的一切」。
工具设计的两个细节很值得抄:① 命名极其规整(inspect_apk_signature、inspect_wasm_artifact),agent 不需要额外解释就能对号入座;② 输入 schema 默认「紧凑档」——只保留最小字段,需要完整校验说明时再切 full。原因写在它们的 contracts 文档里:省 context。一个 40 工具的目录如果每个都挂全套 JSON Schema,还没干活就把上下文吃光了。
第二层:REA 自己不「会」逆向——它调度专业引擎
反编译怎么做?REA 的答案是:不自己做。原生二进制交给 Hopper / Ghidra / IDA / Kuna(用户已装的引擎,REA 通过桥接驱动它们,必要时可代装 Hopper);安卓交给 JADX / JEB / Apktool;固件交给 Binwalk / Unblob;网络包交给 tshark;甚至离线分析还可以调用你自备的 objdump、Rizin、pwntools。很多格式检查则内置实现(模型文件头、PE 证书、ELF 笔记这类「读结构」的活不需要外部引擎)。
这一层揭示的分工是:专业引擎负责「深」,agent 负责「广 + 编排」。引擎把二进制变成结构化事实(伪代码、符号、调用图),REA 把事实连同出处打包成 agent 能用的结果,agent 再决定下一步问什么。工具链的每一个环节都只做一件事。
第三层:写进 agent 脑子里的「工作流指令」
npx rea-agents setup 做两件事:注册 MCP 服务器,并把配套的工作流指令(skill)写进 agent——仓库的 .agents/skills/ 里就放着 reverse-engineer-anything 等五个技能文件,还有 Claude Code / Codex 插件清单。这一步才是「能力涌现」的点睛之笔:同一个工具集,配上「先看哪、怎么取证、何时换引擎、怎么汇报」的指令,效果完全不同。
评测视角最值得学的一点:每个结论都自带证据链
README 里反复强调:分析结果附带证据与局限(evidence and limitations),且全部本地运行。对照我们在评测素养专题学过的框架——这就是把「可验证性」做进了产品:agent 说「这个功能是 X 实现的」,你可以追问证据、自己去复核,甚至知道哪些结论是引擎能力边界之外的猜测。让模型的结论可被检验,比让结论更流畅重要得多。
给你的三个 takeaway
- 判断一个 agent 产品的真实能力,先看它的工具目录和工作流指令——而不是看模型叫什么名字。目录设计(命名、schema 档位、context 预算)直接决定上限。
- 「编排专业工具」胜过「自己重造」。REA 44 万星的核心不是代码量,而是把五十年逆向工程生态接成了 agent 可用的形态——你的研究流程里也一定有类似的「专业工具」值得这样接。
- 证据链是评测的接口。想评测一个 agent 系统?先看它是否强制输出 evidence / limitations——REA 在这点上是行业样板。
🔗 动手环节
① 浏览
morluto/rea 的 README「What you can analyze」表格,数一数有多少个
inspect_ 工具、多少个「内置 / caller-supplied 引擎」;② 读
mcp-contracts.md 的 compact schema 一节,想想 context 预算怎么省;③ 对照本站资源库里的「MCP Servers 合集」,写出 REA 与通用 MCP 的三点不同——发到你的研究笔记里。