一周涨 24 万星的 REA,新手和逆向老手为什么评价相反

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 的价值是把逆向的使用门槛降到了会描述需求即可,它没有扩展逆向能力的上限。两派用户各自看到了其中一半,判断都成立。

相关推荐
李剑一1 小时前
“79岁陶华碧靠AI一年赚54亿”?别急着转发,先看一瓶辣椒酱的“AI含量”有多高
aigc·ai编程
EasyCVR2 小时前
一个园区4种协议摄像头,怎么做到一站式接入?视频汇聚/视频融合/视频分析平台EasyCVR给出方案
安全·easycvr·国标gb28181
莪_幻尘2 小时前
全网都在聊的 FDE,到底是啥?一篇拆透
aigc·ai编程
Quz2 小时前
记录第一次使用Pi Agent,以及插件怎么选
agent·ai编程
从小白到软工2 小时前
4-1 指针
c语言·开发语言·数据结构·经验分享·ai编程
挖掘狂人2 小时前
AI 写代码越来越快,我们的代码能力却在悄悄退化
人工智能·程序员·ai编程
前端双越老师2 小时前
程序员 1v1 访谈系列第三期:先不要想在工作中有突破
前端·ai编程·全栈
DolitD3 小时前
水利数字孪生走向深水区,点量云流实时云渲染落地实践
安全·云原生·云计算·图形渲染
howdoyoudo2026063 小时前
AI审计手记 #30:从“政府网站”到“商业平台”——腾讯云沙箱AI代理越界事件的审计分析
大数据·人工智能·安全·机器学习·语言模型·云计算·腾讯云