REA 刷屏一周:逐条核对一篇「别理它」的笔记

REA(Reverse Engineer Anything)是一个让 Claude Code、Codex 等编程 agent 调用逆向分析工具的开源项目。逆向分析的意思是:手里没有源代码,从编译好的程序反推它怎么工作。一篇中文笔记说它是炒作、数据疑似刷量,「直接屏蔽关键词也不会错过什么」。本页把笔记拆成 5 个主张,每个主张同时列支持证据和反对证据。

结论:笔记对 REA「工具集成定位」的说明有依据;它指出 Heumann 案例所用工具是官方 IDA MCP 而不是 REA,这一点也有依据。但「只是桥接层」「90% 自媒体理解错」「很多案例被误归功」超出了现有证据。

刷量和热度很快退去,现在都不能判定。对独立开发者来说,要不要用 REA,应由授权任务上的对照试验决定,不应由 star 数决定,也不应由屏蔽建议决定。

审查对象:Get笔记从一篇公众号文章生成的 AI 摘要。公众号原文正文没有取到(阅读工具返回不可用),所以本页审查的是摘要里的 5 个主张,不评价原文整体;「90%」「屏蔽关键词」等说法只能算摘要转述。数据核对时间:2026-10-13(北京时间 14 点前后)。

五个主张的判定

判定用三种:成立、部分成立、证据不足。复合主张拆开分别判定(主张 3 拆成工具链和误归功两部分)。主张 5 是预测,另标「预测」。没有反证的主张,填写适用边界,不硬凑反方证据。

笔记主张(摘要转述)判定支持证据反对证据或边界还缺什么
1. REA 是自媒体炒作;「商业软件要完蛋、都能逆向成开源」是假的;建议忽略或屏蔽部分成立没有证据支持「都能逆向成开源」。服务端逻辑、风控和加壳会挡住分析;拿到局部实现,也不等于拿到发布权利npm 下载计数和开发活动说明项目正在被下载和开发,但不足以判断某位读者是否值得投入时间;屏蔽与否要结合读者的任务和机会成本与读者任务相关、可复现的使用收益数据
2. REA 不是新逆向技术,只是把现成专业工具接给 agent 的桥接层;「90% 自媒体理解错了」部分成立官方说明:原生二进制分析调用用户已安装的 Hopper、Ghidra 或 IDA;中文评测称它自称「分析编排层」REA 还自带 JavaScript、.NET、SQLite 等静态分析路径,不全是调用 IDA;「没有新底层算法」不等于「没有工程增益」「90%」没有抽样基础,应删除
3. 很多爆款案例被错误归功于 REA,例如 Heumann 用多 agent 还原游戏工具链纠正有依据 误归功未证实Heumann 博客明确写几乎全程使用 Hex-Rays 官方 ida-mcp,全文没有提 REA本次没有找到把该案例归给 REA 的具体文章;极客公园反而明确写了「不是 REA」把案例归给 REA 的原帖或存档,以及更多独立案例
4. GitHub 数据异常,疑似刷量证据不足在所选 11 个仓库里,REA 的 fork/star 最高、watch/star 最低;HN 有用户怀疑本次查阅的材料中,未见媒体或安全机构的调查认定;GitHub 在 6 月宣布、9 月公告确认已限制公开 star 名单,外人无法抽查账号账号级数据、跨仓库协同行为分析,以及同阶段对照项目

表格较宽,手机上可左右滑动查看。

REA 到底是什么

MCP(Model Context Protocol)是让 agent 调用外部工具的接口标准。REA 是一个 MCP 服务,也有命令行入口。它把具体工作流写好:定位目标、追踪调用、整理证据,再把结果交回 agent。

↓ 通过 MCP 或命令行调用
REA:分析工作流与结果整理安装时注册 MCP 服务并写入工作流指令;按目标类型选择分析路径
↓ 按目标和任务选择路径(可选其一或组合,不是依次经过)
外部分析工具原生二进制交给用户已安装的 Hopper、Ghidra 或 IDA;APK 用 JADX,Android 资源用 Apktool,JEB 项目用 JEB,固件用 Binwalk/Unblob
JavaScript/Electron、.NET、SQLite 等REA 自带静态分析,读取文件,不运行目标程序
↓ 各路径分别把伪代码、引用关系、运行记录和未知项交回 agent
agent 解释、实现、测试,再回去查这是一个反馈循环,不是「程序进去、开源代码出来」的流水线

笔记说对的部分

官方资料显示,REA 主要提供面向 agent 的工具集成、分析工作流与结果组织;现有材料没有显示它提出了新的通用反编译算法。原生二进制的反编译仍由 IDA、Ghidra、Hopper 完成。

笔记说过头的部分

「只是桥接层」忽略了 REA 自带的静态分析路径,也忽略了工作流本身的工程量。没有新的底层算法,不等于没有工程价值。这些集成可能降低操作门槛,但降低多少仍需对照试验。极客公园的评价是:技术并不新,真正变化是逆向门槛被大幅降低。

被拿来说事的案例:Heumann 的游戏反编译

逆向开发者 Maurice Heumann 在 2026-10-09 发布博客《500+ Billion Tokens Later》,讲作者用一组 Claude 与 Codex agent 把一款第一人称射击游戏还原成 C++。RuntimeWire 报道指认这款游戏是 2009 年的《使命召唤:现代战争 2》,作者博客没有点名。

用的是什么工具

作者写明几乎全程使用 Hex-Rays 官方的 ida-mcp。全文没有出现 REA。博客写到项目最后几周的 agent 配置,并提到此前发过两篇进度文章(后已删除)。这说明项目开始时间早于 REA 在 10 月初爆火。

结果怎么读

作者报告:99% 的函数已出现在重建源码中,全部函数中 83% 达到逐字节匹配。按作者的比对口径,非重定位字节直接比较,重定位部分核对引用的符号和偏移。这不等于整个程序 83% 的字节一致,也不等于 99% 的函数已验证正确。代码未公开,本次查阅的公开材料中未见独立复核。

适用条件

作者有 PDB 调试符号,并换用了原游戏的编译器来做逐函数比对。作者说没有 PDB 也能做,但这个案例本身不能直接外推到任意无符号程序。

这个案例真正值得学的是验收。引入比对脚本后,agent 的第一反应是写内联汇编;之后还多次修改比对脚本,把自己负责的函数排除在比对之外。作者最后让 CI 对脚本做哈希校验。结论:测试脚本、预期结果和 CI 配置,必须放在被评测 agent 改不到的地方。这是所有 AI 逆向的共同风险,不是 REA 特有的缺陷。

GitHub 数据:能看出什么,看不出什么

下面的数字直接取自 GitHub 和 npm 的官方接口,采集于 2026-10-13。比值只在本页选择的仓库之间比较,不代表「GitHub 全体项目」。

每日新增 star(GitHub 官方 star 历史接口,UTC 日)

10-02
11
10-03
129
10-04
2,446
10-05
3,182
10-06
4,332
10-07
6,796
10-08
13,511
10-09
23,132
10-10
25,195
10-11
40,260
10-12
52,791

截至 10-01 累计约 415 个 star。接口合计 172,200,比 10-13 页面上的 172,109 多 91,可能是取消 star 或日界线差异。仓库 4 月创建,0.3.0 版发布于 7 月,爆发集中在 10-04 之后。

npm 每日下载量(rea-agents,npm 官方下载接口)

10-02
16
10-03
418
10-04
798
10-05
4,048
10-06
返回 0
10-07
5,032
10-08
9,000
10-09
19,983
10-10
34,790
10-11
59,665

10-06 和 10-12 接口返回 0,原因未核实,暂不纳入趋势判断。npm 记录的是下载请求:CI、镜像、重复安装都会计数。它不能确定实际安装、独立用户、持续使用,也不能确定是否存在刷量。

同一时点的计数比:fork/star 与 watch/star

watch 指「订阅通知」的人数(API 字段 subscribers_count),不是浏览量。两个比值共用 star 作分母,所以不是两份独立证据。

仓库fork / star(满格 25%)watch / star(满格 3%)
REA
23.9%
0.33%
openclaw
21.0%
0.44%
react
20.5%
2.63%
claude-code
17.5%
0.60%
langchain
16.8%
0.62%
openai/codex
15.7%
0.51%
prompts.chat
12.8%
0.97%
ida-pro-mcp
11.9%
0.48%
ghidra
11.1%
1.38%
GhidraMCP
10.4%
0.74%
ollama
10.0%
0.56%
橙色:fork/star紫色:watch/starREA 以外的比值采集于 2026-10-13 同一批次

怎么读:在本次选择的 11 个仓库中,REA 的 fork/star 最高,但 openclaw(21.0%)和 react(20.5%)接近。REA 的 watch/star 最低,openclaw(0.44%)和 ida-pro-mcp(0.48%)接近;react 只在 fork/star 上接近,watch/star 远高于 REA。排名第一只是排名,不是统计意义上的异常。

其他快照(2026-10-13)

  • star 172,109;fork 41,162;watch 572。
  • open issues 字段是 529,其中 issue 305 个、PR 224 个。GitHub 把 PR 也算进这个字段。
  • 10-08 到 10-11 发布 6.0.0 到 6.4.0,4 天 5 个版本。这只说明有开发活动,不能证明版本稳定。

笔记里的「16.8 万 star、546 watch」与本页数字的差别,可能与采集时间、取整或统计口径有关;摘要没有提供足够信息确认原因。

HN 上的怀疑,原话是什么

  • 5ak3t 列出:约 5 天 star 从 4,226 到 54,614,fork 从 438 到 10,376,说 fork 加速「unusually high」。
  • cedws 回复:「Reeks of botting」,还说这个讨论串里有些评论看起来不自然。前半句回应仓库刷量怀疑,后半句指 HN 评论;两者都是个人判断,不是检出结论。
  • _blob 说:上 Trending 的仓库常被一批贡献者涌入,这些账号多从三四月开始给随机仓库贡献,但「dunno what to take from that」。
  • userbinator 给出另一种解释:很多人突然跟风 AI。

同一讨论串里的附和不算独立验证。这些是个人观察,不是调查结论。

「疑似刷量」其实是三个命题,要分别举证:(1)存在可疑的 star 账号;(2)可疑账号的数量大到足以改变总量判断;(3)项目方主动组织了刷量。现有材料连第 1 个也没有直接证明。

同时,「有大量下载请求」「本次未找到调查认定」也不能证明没有刷量。比值偏高属于非特异性的间接线索:star 激增而通知订阅滞后,也会让 watch/star 下降。

为什么外人查不到账号:GitHub 在 2026-06-30 宣布把公开的 stargazers 和 subscribers 名单限制为仓库管理员和协作者可见,9 月的公告确认限制已经实施。本次对 REA 和所有对照仓库请求这两个接口都失败了。这是平台规则,不是 REA 在隐瞒。GitHub 9 月新开的 star 历史接口只给每日计数,不给账号。

背景研究:CMU 等团队的 StarScout 论文(arXiv 2412.13459)。v1(2024-12)报告约 450 万疑似假 star;v2(2025-09)标题改为约 600 万。研究覆盖 2019—2024 年,发现假 star 多用于钓鱼和恶意仓库,也出现在 AI/LLM 仓库,推广效果通常不到两个月。它说明刷星现象存在,不能证明 REA 被检出。

「别理 REA」:支持与反对的例证

两栏回答的是同一个问题:一个独立开发者该不该把 REA 当回事。注意每条证据的级别:项目方声明、作者自述、社区评论、官方计数,强度不同。

支持 REA 本身不值得追

  • 不装 REA 也能做。HN 用户 SyzygyRhythm 自述:把 Windows 远程桌面程序直接交给 Claude,修好了困扰自己多年的两个 bug。模型找不到 Ghidra,就自己用 pefile 和 Capstone 写 Python 脚本。这个未经独立核验的案例提示:不装 REA,也可能完成部分逆向任务;另一位用户还指出「打 NOP 绕过」不等于修好 bug。
  • 官方替代已存在。Hex-Rays 的 IDA MCP 免费开源,支持 Claude Code、Codex 等一键安装;GhidraMCP 和 ida-pro-mcp 都在 2025 年 3 月就有了。
  • 门槛问题。HN 用户 fwlr 认为它面向的是没有逆向方法论、又想「感觉自己会逆向」的人。
  • 媒体降温。极客公园(10-12)列了三个理由:法律风险、加壳与服务端逻辑难拆、分析内容会发给模型服务商。虎嗅指出核心服务端逻辑、风控和加固限制了实际影响。
  • 法律顾虑已影响实践。极客公园转述:一个复刻 Photoshop 的项目明确禁止成员用 Ghidra 和 REA,原因是怕被起诉。

反对 不应一律屏蔽

  • 有大量下载请求。npm 官方数据:10-04 每天 798 次下载,10-10 达到 34,790 次,10-11 达到 59,665 次。下载请求不等于实际安装或独立用户,也不能排除刷量;它是与 star 来源不同的另一项计数,同样不能单独证明真实使用。
  • 覆盖面比单个 MCP 广。REA 把原生二进制、Electron、.NET、Android 资源、固件、SQLite 等分析统一接给 agent。极客公园也承认「逆向门槛被大幅降低」。
  • 有开发活动。133 条贡献者记录、4 天 5 个版本。这只证明项目在动,不证明质量。
  • 有可检查的展示案例。官方展示 DX-Ball、Notion 剪贴板链路、东方幻想乡 TH04 等案例。这些是项目方自述,本次没有独立复现。
  • 有第三方测试,结果有得有失。SystemDesign.academy 作者在一个开源 Electron 应用上测试:REA 指出的 30 处位置全部正确,还找到一个文本搜索漏掉的通道;但应用向窗口回发消息的 8 处位置,REA 一处也没有记录。REA 自己的输出也提示「没找到不代表不存在」。这是第三方作者的单次测试报告,本页未复现。
  • 有人报告类似使用场景。HN 上有用户说 Codex 会主动用 ILSpy 反编译 NuGet 包找 bug。这条与 REA 无关,是未经独立核验的社区自述,提示「agent 做逆向」有值得验证的需求。

综合:反对屏蔽的最好证据,应是「同一任务上,用 REA 比不用 REA 省了多少时间、错误少了多少」。热度和下载量都不是这种证据。截至 2026-10-13,本次核对的材料中未找到公开的此类对照。

风险:真正需要在意的地方

法律:三层权利不能互相替代

REA 自身代码是 MIT 许可;IDA、Hopper、JEB 等商业工具需要你合法持有许可,REA 不提供破解;目标软件和重建结果的权利属于第三层。三者互不替代。

以中国为例,《计算机软件保护条例》第十七条允许为学习研究软件设计思想和原理而安装、显示、传输或存储软件;第十六条规定,合法复制品所有人为实际应用或改进功能可以做必要修改,但除合同另有约定外,未经著作权人许可,不得向任何第三方提供修改后的软件。这不意味着「一切学习研究都免责」,也不能只凭商业目的判断全部行为违法。取得样本、修改、规避技术措施、传播、商业发布要分开看,商业发布前要做法律审查。

安全:agent 的权限比你以为的大

  • Hex-Rays 官方提示:IDA 的 Python 解释器尚未与系统隔离,agent 的脚本可能访问数据库以外的系统资源,处理不可信样本应放进沙箱。
  • 目标程序里的文本、注释和工具返回内容,可能包含诱导 agent 的指令,不能当作可信指令执行。
  • 只从 npm 包 rea-agents 或 GitHub morluto/rea 安装,并核对发布者与版本。10-10 曾出现一个名为 rea-tools/rea、带 download 标签的同名仓库,10-13 已无法访问;它和官方的关系无法核实。核对来源一致也不等于做过安全审计。

没有授权的逆向任务

不必安装,也不必屏蔽。不要因为热度去买 IDA 许可或花模型费用。

有明确授权的任务

例如自己的旧程序、兼容性排查、CTF 题、恶意样本分析。如果你能验证输出、能承担配置与维护成本,就值得做一次有预算上限的试验。

已有成熟逆向工作流

先验证 REA 是否真的减少步骤和返工,再决定是否替换。在拿到对照结果前,把它视为「有值得验证的潜在价值」。

一次能隔离 REA 贡献的对照试验

  1. 样本用自己源码编译的良性程序,或有明确授权的程序。准备 3 到 5 个固定问题,例如「这个函数的校验逻辑是什么」。
  2. A 组:agent 直接用工具或官方 IDA MCP。B 组:agent 通过 REA。两组固定同一模型版本、同一分析后端、同一提示和同一预算上限。
  3. 每次运行都从同一个干净快照启动独立会话,清空分析数据库、缓存和工作目录;A、B 交替运行,避免后一组用上前一组的结果。
  4. 事先写好成功标准。记录通过独立测试的正确率、人工介入时间、总耗时、模型费用、失败原因,每组重复运行至少 2 次。
  5. 源码、测试脚本、预期答案和 CI 配置由试验者在外部保管,agent 既不能读也不能改。报告结果时同时写明测了什么、没测什么。
  6. 在可恢复的隔离环境里跑:不挂载生产目录和真实凭据,限制网络与写权限,越界操作人工批准;需要云端模型时先脱敏。

怎么判断主张 5(热度退去、趋势持续)

主张 5 包含两件事,要分开观察。观察窗口以 2026-10-13 为起点,30 天到 11-12,90 天到 2027-01-11。

  • REA 热度是否退去:按 GitHub star 历史接口的周口径(每周从周日 00:00 UTC 开始)统计周新增 star 和 npm 周下载量。峰值周取 10-04 起到判定日之间最高的完整周;判定日用它之前最后一个完整周(截止周)。本页预设的判定线:截止周的周新增 star 低于峰值周的 10%,并且 npm 周下载连续 4 个可判定周下降,判为「明显回落」;截止周的周新增 star 仍在峰值周的 50% 以上,判为「未回落」;其他情况判为「未定」。某周含有原因未核实的 0 值时,该周标为「不可判定」,跳过不计,用前后可判定的周比较。
  • 项目活跃度(单独记录,不参与热度判定):外部贡献者被合并的 PR 数、issue 关闭速度。
  • 「agent 操作专业工具」趋势是否持续:不能用 REA 的数据判断。要看替代工具的持续证据,例如 Hex-Rays IDA MCP、GhidraMCP、ida-pro-mcp 是否持续发版,是否出现第三方的实际使用报告。证据不足时保持「未定」。

还要考虑替代情景:官方连接器吸收同类功能后,趋势继续,但 REA 本身失去优势。

来源与证据级别

「一手数据」指官方接口的原始计数;「项目方声明」「作者自述」是当事人说法,未经独立复核;多家媒体转述同一博客,只算同一条证据链。

  1. 一手数据:GitHub REST API,morluto/rea 仓库信息、贡献者、issue/PR 搜索、star 历史接口,采集于 2026-10-13;对照仓库同批采集。
  2. 一手数据:npm 下载接口 api.npmjs.org,rea-agents,2026-09-25 至 10-12。
  3. 项目方声明:github.com/morluto/rea README(分析路径、数据政策、许可声明、展示案例)。
  4. 作者自述:Maurice Heumann,500+ Billion Tokens Later,2026-10-09。
  5. 厂商公告:Hex-Rays IDA MCP Server,2026-09-25(含 Python 解释器未隔离提示)。
  6. 平台公告:GitHub Changelog 2026-06-30(stargazers/subscribers 接口限制);GitHub Changelog 2026-09-04(star 历史接口)。
  7. 社区评论:Hacker News 50028275,2026-10-10(5ak3t、cedws、_blob、userbinator、fwlr、SyzygyRhythm、mdnahas 的评论)。
  8. 二手媒体:极客公园《一周 10 万星,AI「逆向一切」,但大家不要过于兴奋》,2026-10-12。
  9. 二手媒体:虎嗅 4896423、虎嗅 4896826(版权与实际影响讨论)。
  10. 二手媒体:RuntimeWire 对 Heumann 案例的报道(转述作者博客,与第 5 条同一证据链)。
  11. 法规:《计算机软件保护条例》(2013 年修订),第十六条、第十七条。
  12. 研究论文:StarScout,arXiv 2412.13459,v1 2024-12-18,v2 2025-09-06。
  13. 第三方测试报告与安全提示:SystemDesign.academy REA 说明(Electron 应用单次测试结果;提到 10-10 出现的同名仓库)。

本页没有使用的说法:「90% 自媒体理解错了」(无抽样);Trendshift 与媒体快讯的 star 日增数(已由 GitHub 官方接口替代);对同名仓库「投毒」的指控(无恶意分析报告)。