REA(Reverse Engineer Anything)是一个给编码 agent 用的逆向工程 MCP 服务。截至 10 月 16 日,它在 GitHub 上有 27.1 万星、6.8 万 fork,最近一周新增约 24 万星,连续多日排在 trending 第一。它的宣传语是「看到一个喜欢的功能,就能一直弄懂到二进制层面」:用户对 Claude Code 或 Codex 说「搞清楚某个 App 的搜索是怎么实现的,给出证据,再在我的项目里做一个类似的」,agent 就会调用 REA 去拆这个 App。
围绕它的评价分成了两派。没有逆向经验的用户认为它第一次让自己真正拆开了一个程序;做逆向和安全的从业者则认为它没有做任何新东西,只是把 Ghidra、IDA、Hopper 这些几十年的工具接到了 agent 上。本文先说明 REA 的工作方式,再分别检查两派说法的证据,最后讨论它的代码量花在了哪里、星数曲线是否正常,以及使用时需要注意的安全和合规边界。
两派的结论并不矛盾,因为他们回答的是两个问题。新手问的是「我能不能用」,答案是能;老手问的是「它能不能做到以前做不到的事」,答案是不能。REA 的全部底层分析能力都来自已有工具,它真正新增的是一层统一的调用接口和一套证据格式。这层东西对新手价值很大,对已经有自己工具链的人价值很小。
需要单独指出的是新手一侧的风险。一份独立测试显示,REA 引用的文件和行号 30 处全部正确,但一项安全相关配置在 4 处出现中漏检了 4 处。引用精确会让人信任结论,而新手恰恰没有能力判断它漏掉了什么。
REA 的结构:一个 MCP 接上二十多类分析工具

REA 本身不做反编译。它把用户本机已有的工具包装成统一的 MCP 接口:原生二进制交给 Hopper、Ghidra 或 IDA,安卓 APK 交给 JADX,Electron 应用直接读打包的 JavaScript,网页交给 Chrome,运行时行为交给 Frida 和进程捕获。README 列出的分析对象有二十多类,从 Go、Rust 二进制到 WASM、EVM 字节码、固件、抓包文件都在其中。当前主分支注册了约 150 个 MCP 工具。
安装是一行命令 npx rea-agents setup。它会检测本机装了哪些 agent,展示要改动的配置文件,经用户确认后写入 MCP 注册信息,同时安装一个配套 skill。这个 skill 长 355 行,内容是逆向调查的工作流程:先确认工具是否可用,再根据目标类型选择分析路径,最后要求结论附带证据。
每次调用的返回结果都按「观察、推导、推断、未知」四类区分,并附上来源位置和局限说明。这是 REA 在仓库协作规范里反复强调的设计原则,也是它和同类项目差异最大的地方。
新手视角:门槛从「会用 Ghidra」降到「会描述需求」
中文圈的传播起点是宝玉 10 月 10 日在 X 上的推文,约 31 万浏览。他描述的用法是:看到别人 App 里有个好功能,让智能体去拆这个程序,再在自己的项目里写一个类似的。这个用法不要求用户知道 Ghidra 是什么,也不要求读汇编。
同一天 Hacker News 的主帖拿到 806 分、338 条评论。其中一条来自没有逆向经验的用户 none_to_remain:几天前他让本地模型用 Ghidra 命令行反编译一个程序,模型完全迷失了方向;换成 REA 之后,同一个任务开始有实质进展。V2EX 上也有用户报告用它解出了一道看雪的 CTF 题,花费 37 美元。
官方案例的质量也得到了部分专业人士认可。REA 维护者之一用它还原了 DOS 游戏《东方怪绮谈》(TH04)中的弹幕角度计算,以及 DX-Ball 的声像计算,后者的重建代码通过了 3,205 组原始 x86 用例,编译后 63 个字节与原函数完全一致。HN 用户 InvisibleUp 评价 TH04 的还原「比我见过的大多数 AI 反编译质量高得多」,变量命名合理,也没有留下太多 Ghidra 的毛刺。
MindStudio 做了一次功能复刻测试:用 REA 复刻 macOS 的「预览」,得到了一个具备缩放、标注、绘图、旋转和保存功能的可用版本,布局和功能集都比较接近原版。
这一派的证据共同说明一件事:REA 把「搭建逆向环境、选择工具、组织分析步骤」这部分专业知识打包成了默认流程。对没有这部分知识的人,这就是从做不到到做得到的区别。
老手视角:底层能力全部来自已有工具
HN 主帖里被讨论最多的一条质疑来自 ethin:「这比直接让 Claude 装好 Ghidra 然后开始干活好在哪里?它能做什么我现有的逆向方法做不到的事?」回复他的 fwlr 认为大概率不比那更好,REA 的目标用户是没有「现有逆向方法」的人。djmips 说得更直接:「我不认为它比你自己在 Claude Code 里做更好,甚至更差。」另一位用户 cedws 的问题是:「它比直接给 agent 一个 radare2 好在哪?」
专业圈的评价更冷淡。据极客公园报道,《Practical Reverse Engineering》的合著者、曾在 Hex-Rays 工作的 Elias Bachaalany 转发一条 REA 推介时,开头只写了一个词「Hype」,随后列出了几个早已存在的同类工具。这些工具确实存在且更早:LaurieWired 的 GhidraMCP 和 mrexodia 的 ida-pro-mcp 都创建于 2025 年 3 月,比 REA 早一年多,目前各有 1.1 万和 1.3 万星。ida-pro-mcp 的作者、调试器 x64dbg 的开发者 Duncan Ogilvie 此前公开表示,他用 IDA 的 MCP 插件约一小时解完了今年 Flare-On 的全部题目。
对照测试也不支持「REA 显著更强」的说法。MindStudio 在复刻「预览」时另跑了一组不装 REA 的普通 agent,只靠截图和推理,同样做出了可用的复刻版本,而且比 REA 那一组先完成。MindStudio 的结论是:REA 是一个连接器,不是新的逆向技术。
还有一类限制与 REA 无关,任何基于 AI 的逆向都会遇到。安全博主轩辕之风认为,未加壳的程序 AI 可以轻松处理,轻度加壳也可以,VMP 这类虚拟化保护目前处理不了。运行在服务端的逻辑则完全拿不到,REA 能拆开的只是装在用户电脑上的客户端。
这一派的判断同样有证据支撑:REA 能做的每一件事,熟练的逆向工程师用现有工具加一个通用 agent 都能做到,有些还更快。
46 万行代码花在了哪里

如果 REA 只是一层包装,它的体量就显得反常。仓库创建于 2026 年 4 月,半年内提交约 3,400 次,src 目录下约 46 万行 TypeScript,测试代码另有 26 万行。抽样 300 个 commit,约 11% 带有 Claude 或 Codex 的 co-author 标记,这只是下限。
读仓库的协作规范可以看到这些代码主要花在三件事上。第一是证据契约:每条结论区分观察、推导、推断和未知,保留来源,并要求「无法确认的身份必须保持未知,不能当作不存在」。第二是进程生命周期:Ghidra、Hopper、Frida 会话的启动、取消、清理失败后的重试,都有明确的所有权规则。第三是 token 成本:规范把「agent 的 token 和上下文」列为第一优化目标,排在分析时间和 CPU 之前。
这些是扎实的工程,但不是逆向技术。它们解决的是「让 agent 稳定地调用一堆脆弱的外部工具」这个问题,GhidraMCP 这类单工具项目不需要面对它。
证据契约的效果在一次独立测试中可以看得很清楚。据 AgentConn 转述,SystemDesign Academy 用 REA 6.4.0 分析一个源码已知的开源 Electron 应用,结果分成了两种情况:REA 引用的 30 处文件和行号全部正确,IPC 通道找到了 18 个(多出的 1 个是文本搜索漏掉的别名通道);但 8 处回传位置一处都没找到,8 个窗口只识别出 1 个,4 处 nodeIntegration 配置全部漏检。nodeIntegration 决定渲染进程能否直接调用 Node API,是 Electron 安全审计的首要检查项。
报告里出现的内容基本可信,没出现的内容不能当作不存在。逆向老手会自然地把工具输出当作线索而不是结论;新手读到一份带精确行号的报告,很容易把「没提到」理解为「没有问题」。REA 的「未知」分类在设计上就是为了防止这种误读,但测试结果说明,覆盖不全的部分并不总会被标成未知。
星数曲线与 fork 比例
REA 的增长集中在 10 月的一周内。HN 用户 5ak3t 在讨论中贴出的数据是:10 月 5 日约 4,200 星,10 月 10 日 5.46 万星,同期 fork 从 438 涨到 10,376。按 README 中庆祝星数的提交时间,10 月 13 日突破 20 万,15 日突破 25 万。npm 包的单日下载量从 10 月 2 日的 16 次涨到 10 月 12 日的 10.3 万次。
fork 比例是被讨论最多的异常信号。REA 当前 fork 数约为星数的 25%,GhidraMCP 和 ida-pro-mcp 都在 10% 到 12% 之间。cedws 在 HN 上直接说「有刷量的味道,这里的一些评论看起来也不自然」,V2EX 上也有用户怀疑买了推广。
目前没有证据能坐实刷星。抽样 60 个 fork 账号,注册年份从 2008 年到 2026 年分布分散,2026 年新注册的只有 8 个,看不出批量空壳号的特征;星标账号的列表接口没有抽样成功。fork 比例偏高也有另一种解释:REA 的使用方式鼓励用户 fork 后让 agent 在本地改造。这个问题只能存疑,不宜下结论。
可以确定的是,星数已经不能说明 REA 在专业用户中的接受度。它的增长主要发生在中英文社交媒体的转发链上,而专业社区的讨论以质疑为主。
安全与合规边界
REA 的仓库文档对安全边界写得很坦白。SECURITY.md 明确说它不是沙箱,无法防御已经在运行的恶意进程。运行时分析会以当前用户的权限启动或附加目标程序,Frida 脚本在目标进程内执行,拥有该进程的内存、文件和网络权限。分析一个来源不明的样本时,这和直接双击运行它的风险相当,应当放在虚拟机里做。
安装环节也有两个需要注意的点。npx rea-agents setup 会修改 agent 的配置文件,虽然它会先展示改动并备份原文件,但这类「把安装指令复制给 agent 执行」的方式在 HN 上被讽刺为新一代 curl | bash。另外,REA 走红后几小时内就出现了仿冒仓库,README 顶部专门提示只从官方 GitHub、官网和 npm 包安装。
合规问题更难回避。REA 的宣传语是「看到喜欢的功能,弄懂它,再给自己的项目做一个」,而它的免责声明写的是不支持「复制专有软件或复现其受保护的代码和资产」。两者之间的边界由用户自己把握。HN 用户 lifeisloving 的评论是:用 LLM 不构成净室开发,这只是 IP 洗白。仓库里也有一个 10 月 12 日提交、至今未关闭的 issue,讨论的是 agent 接触原始代码带来的版权合规问题。按 REA 自己列出的合法用途,安全研究、恶意软件分析、互操作性、软件保存、分析自己有权分析的软件,都和「复刻别人的功能」不是一回事。
不同用户的使用建议
| 用户 | 建议 |
|---|---|
| 没有逆向经验,想了解某个程序的工作方式 | 可以使用。把输出当作线索,关键结论找第二个来源验证;分析不明来源的程序时放进虚拟机 |
| 有自己的逆向工具链 | 收益有限。证据格式和多工具调度可以参考,底层能力与 GhidraMCP、ida-pro-mcp 加通用 agent 相当 |
| 做安全审计 | 不能作为唯一工具。实测中安全相关配置漏检率高,「没报出来」不等于没有问题 |
| 想复刻商业软件的功能 | 先确认授权。REA 的免责声明本身不支持复制专有软件 |
REA 的价值是把逆向的使用门槛降到了会描述需求即可,它没有扩展逆向能力的上限。两派用户各自看到了其中一半,判断都成立。