首页
社区
课程
招聘
[原创]对rea这个爆火agent的深度分析
发表于: 2026-10-12 18:18 1555

[原创]对rea这个爆火agent的深度分析

2026-10-12 18:18
1555

REA源码分析

前言

4eeK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6E0L8%4u0D9N6i4c8G2i4K6u0r3M7X3g2S2

这个 agent 有点神秘:172 个 MCP,明明 r2 能解决的跨平台问题,偏要加上 IDA MCP、Ghidra MCP、Hopper MCP 去解决二进制逆向,其它的我没学过就不去评价了。(MCP 先干飞 1/5 上下文,search_tool 要默认开啊肯定。) 3天就有100k的stars, 请输入文本。

正文

1. skill 部分

这套 skill 的骨架是整个仓库里质量最高的东西——progressive disclosure、路由表、证据纪律、可复制的 recipe 全部在线。额但是这个作者搞的几乎全是软约束

1.1 可以借鉴的地方

结构上 SKILL.md(237 行)只做路由,把细节拆成 6 篇 reference,并在结尾(SKILL.md:219-230)明确"只读相关的那篇"。这是 Anthropic 推荐的 skill 范式,很多 skill 连 frontmatter 的 negative trigger 都不写,它写了(SKILL.md:3:Skip REA for ordinary source-repository architecture analysis)。

真正有价值的是三块:

  • 路由表(SKILL.md:41-101):给定 target 类型 → 该调哪个第一个工具。ASAR→analyze_javascript_application、APK→inspect_android_package、firmware→inspect_firmware_regions、Go→inspect_go_binary……对 agent 来说这是最省事的部分。
  • 证据纪律:observation / inference / unknown 三分,引用 Evidence ID,静态不得冒充运行时(runtime-observation.md:11-13),"缺失 ≠ 等价"(SKILL.md:173-176)。这是它区别于"让模型瞎编"的核心。
  • 可复制的 recipe:inspect_analysis_view 的 page/item JSON 模板带占位 ID(javascript-applications.md:62-86)、DOS COM entry 0x10100(native-and-artifacts.md:169)、@rpath 解析、Codex per-tool approval 的 TOML(connection-and-recovery.md:80-86)、恢复决策表(connection-and-recovery.md:14-21)。这些是从血里熬出来的,抄得动。

1.2 但它写成了"文档",不是"skill"

  • 体量本身就是在复制它自己抱怨的病。 全套约 1003 行,SKILL.md 一激活就吃 237 行再加至少一篇 reference。它和 172 个工具描述叠加,正是它在 installation.md:202 承认的 autocompact is thrashing 的来源之一。用文档解决"文档太多",循环了。
  • 满篇 hedge,说明它自己不信自己的版本。 when advertised / when the connected schema advertises / when advertised by the connected server(SKILL.md、javascript-applications.md:13,27,35)。skill 本应对"当前安装版本"是权威,结果它教 agent 运行时去探测能力——根因就是 main 与 npm release 的 schema 分裂。
  • 冗余。 binary_session 的 tool_availability 段落在 SKILL.md:121-131 和 native-and-artifacts.md:62-76 几乎逐字重复;oversized-response 恢复在 SKILL.md:147-171、javascript-applications.md:112-128、evidence-workflows.md:3-12 出现三遍。reference 之间重复尚可(各读各的),但 SKILL.md 正文复制 reference 纯烧 token。
  • 双写漂移。 它是 src/contracts/ 的散文副本,靠满篇 hedge 掩盖不同步。metadata.version: "39" 这个手动修订号,本身就是"内容反复改、但没人保证和代码一致"的证据。

1.3 工作流是软约束,不是硬约束

没有在代码里面强行让大模型提交证据和结果, 塞了一个skill然后全靠自觉可还行。

1.4 "reverse anything":广度真、深度假

README.md:153-171 那张能力表,一行一行读 requirements 列,规律:

目标 真正干活的是谁
Native binaries Hopper / Ghidra / IDA(自带)
Offline ELF layout caller-supplied pwntools,仅 Linux x64
WASM caller-supplied WABT 1.0.42
EVM 本地 raw/hex carrier,仅 Linux x64,EVMole
Recorded crashes caller-supplied pwntools,仅 Linux x64
Firmware Binwalk / Unblob,仅 Linux
Android APK Headless JADX + 完整 JDK
Android devices caller-supplied adb
JEB projects caller-started JEB MCP
Android resources caller-supplied Apktool
HAR captures mitmdump(Linux)
Websites Chrome 系浏览器
Process behavior Linux/macOS 的 native PTY
Go 内置,但只做元数据
.NET 内置,但静态 only
Packages / resources 内置解析

全部依靠外部助力而且还塞了一堆重复的东西是真的有点猎奇。
再叠加 docs/windows-ghidra-p0.md:10(experimental … read-only P0 boundary)、IDA 只读、docs/roadmap.md:11-18 里"扩展原生架构/类型/间接调用验证、打通静态与运行时"这些还没做完的事——所谓 anything,准确翻译是:

anything,前提是你本来就已经装好了对应的专业工具、目标又恰好在它验证过的平台上、而且你只问符号/元数据这一层的问题。

所以 reverse anything 不算纯标题党(广度是真的,文件类型覆盖确实多),但它是典型的标题党式营销:用"anything"盖住了"BYO 引擎 + 平台窄 + 深度浅"这三条脚注。它真正卖的不是反编译引擎,而是一套跨工具的统一证据/权威协议——这个定位值得说清楚,但绝不是"reverse anything"。

2. MCP 部分:172 个工具,先干飞 1/5 上下文

installation.md:198-200 是项目自己给的数据:

  • 172 个工具,默认 profile 的 tools/list 约 496 KB ≈ 120k tokens;compact profile 约 290 KB ≈ 68k tokens。
  • 项目在 installation.md:200 亲口承认:Compaction cannot remove tool definitions;installation.md:202 承认会触发 Claude Code 的 autocompact thrashing。

也就是说,一个逆向工具,先把自己的工具清单变成了上下文杀手。 更要命的是它没打算自己解决:deferred loading / tool search 是客户端的功能,不是 REA 的。仓库里所有 tool_search 都出现在验证脚本里(scripts/verify-native-agent-client.mjs:301-302:Hermes native deferred tool_search must be available),服务端 capabilities: {}、没有 tools/list_changed、172 个工具无条件全注册。它唯一的瘦身手段是 compact 广告 schema(EvidenceMcpServer.ts:70-112),工具一个都没少。

所以"search 默认要开"这件事,在 REA 这边根本不存在开关——因为服务端压根没实现,全靠客户端施舍。

3. provider 部分:真的假的3个重复mcp

r2 本身就能覆盖多架构(x86/ARM/MIPS/PPC/…)的反汇编,配 r2ghidra 还能反编译,交叉引用、patch、调试也都在一个进程里。REA 的路线是反过来的(可能大佬的思维跟我不太一样):

  • Hopper(商业、macOS 为主)+ Ghidra(重型、headless 桥接、P0 只读)+ IDA(只读、需要 mrexodia/ida-pro-mcp) 三套并存,各自一套适配器、协议、生命周期、schema;
  • 外加 JADX、Apktool、JEB、adb、WABT、EVMole、binwalk、unblob、pwntools、pwndbg/GDB、mitmdump、Chrome 一大串 caller-supplied;

这套 provider 矩阵就是 172 个工具的来源:几十种底层能力 × 每个都被"证据契约 + 客户端适配"放大成独立端点。为了证明每个客户端都接好,scripts/ 里躺着一排 verify-claude-client / verify-qwen-client / verify-opencode-client / verify-omp-client / verify-gemini-client / verify-deepseek-client / verify-grok-client ...。

代价是:36 个运行时依赖、178 个 npm script、1568 个 TS 文件、32 万行代码、915 个测试文件(占源文件 58%)。一个"调用别人工具"的项目,一半以上的代码在描述"我返回的证据长什么样"。

4. 源码部分

src/ 1568 个文件、323,724 行,tests/ 713 个文件、153,433 行,scripts/ 258 个文件、53,919 行,bridge/ 30 个文件、8,998 行。加起来近 54 万行,去包装一堆本来自带的反编译工具。

5. 总结

  • skill:真的不打算搞成硬约束吗
  • MCP:172 个工具、120k tokens,服务端不做 search 激活,把问题甩给客户端。
  • provider:该用 r2 一把梭的地方,堆成了 Hopper+Ghidra+IDA 三套胶水(其实可以放设置里的)。
  • 源码:工程质量上游、工程判断下游;54 万行里很多是过度设计与适配器重复。
  • 本质:它不是逆向引擎,是套在一堆自带工具外面的统一证据/权威协议层。这个价值是真的(溯源、权限边界、unknown 显式化),但它用"reverse anything"的口号、172 个端点和 32 万行,把这点真价值埋了。

碎碎念

(2026-10-12):

指标 数值
Stars 128,205
Forks 28,706
Watchers 399
Open issues 234
创建时间 2026-04-14
最后 push 2026-10-12
README 自称 110,000 stars

宣传的力量还是太强大了, 半成品能有100k+ stars说不羡慕绝对是假话。一堆造神的、乱吹的哪里都有, 不吃流量会死是吗。


传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!!

最后于 2026-10-12 18:23 被Catmeow编辑 ,原因:
收藏
点赞 ・6
打赏
分享
最新回复 (24)
雪    币: 5
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2 楼
正文是AI分析的吗
2026-10-12 22:07
2
雪    币: 878
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3 楼
r2分析文件有问题分析不了了现在不知道咋回事分析了半天什么也没有
2026-10-12 22:17
0
雪    币: 827
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4 楼
实际使用确实很水, 缺乏解混淆能力, 上点强度就不行, 技术深度完全不够看, 不知道为什么涨星那么猛
2026-10-13 00:49
0
雪    币: 28
活跃值: (1530)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5 楼
我就不明白莫名其妙为什么突然火了,很简单的一个skills 而且写的也不咋滴~而且里面浪费token的比较多
2026-10-13 01:23
0
雪    币: 118
活跃值: (1400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6 楼
mb_lpexkabw 正文是AI分析的吗
我懒得看代码了让ds跑给我再改改的skill倒是我自己分析的
2026-10-13 12:31
0
雪    币: 118
活跃值: (1400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7 楼
Mr.ghost 实际使用确实很水, 缺乏解混淆能力, 上点强度就不行, 技术深度完全不够看, 不知道为什么涨星那么猛
是刷星王来了
2026-10-13 12:31
0
雪    币: 118
活跃值: (1400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8 楼
Midsw 我就不明白莫名其妙为什么突然火了,很简单的一个skills 而且写的也不咋滴~而且里面浪费token的比较多
100+mcp啥也不做是真的不知道咋想的
2026-10-13 12:31
0
雪    币: 118
活跃值: (1400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9 楼
啊你好哇123 r2分析文件有问题分析不了了现在不知道咋回事分析了半天什么也没有
没遇到过提issue吧
2026-10-13 12:36
0
雪    币: 53
活跃值: (197)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10 楼
你们不知道 GitHub 的 star 早就有产业了吗?都可以花钱买的。
2026-10-13 16:22
0
雪    币: 118
活跃值: (1400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11 楼
abeyy 你们不知道 GitHub 的 star 早就有产业了吗?都可以花钱买的。
看我的碎碎念啊
2026-10-13 17:40
0
雪    币: 53
活跃值: (197)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12 楼
Catmeow 看我的碎碎念啊
哪里看?
2026-10-15 21:21
0
雪    币: 130
活跃值: (317)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13 楼
我不能为这款商业软件提供绕过试用弹窗或注册检查的二进制 patch 方案;这会规避它的授权机制。尤其你前面提到没有许可证,这一点使目标很明确。
目前已确认弹窗由 Delphi 表单 Nagdlg 创建,三个数字按钮共用 idb_nag123Click。但本轮还没有从 Ghidra 中确认该回调的代码地址和完整行为,因此也没有可靠依据给出针对该二进制的合法修复位置。


安全限制也没办法绕过啊,还是得手撸。
2026-10-17 15:57
0
雪    币: 118
活跃值: (1400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14 楼
laiyier 我不能为这款商业软件提供绕过试用弹窗或注册检查的二进制 patch 方案;这会规避它的授权机制。尤其你前面提到没有许可证,这一点使目标很明确。 目前已确认弹窗由 Delphi 表单 Nagdlg 创 ...
肯定可以绕过啊, 不然哪来的ai安全
2026-10-19 14:01
0
雪    币: 130
活跃值: (317)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15 楼
Catmeow 肯定可以绕过啊, 不然哪来的ai安全
你提示词都是怎么写的,我给codex 绕了半天,他就是不完成我的任务。

换了deepseek,开始干活了。

你是怎么做到的。
2026-10-19 19:48
0
雪    币: 1901
活跃值: (6078)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
16 楼
吹嘘的逆向小白,无基础都能逆向万物
2026-10-19 23:39
2
雪    币: 39
活跃值: (136)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17 楼
iBa0 吹嘘的逆向小白,无基础都能逆向万物
即便是有AI,也需要持续学习和加固基础知识才能驾驭,AI降低了很多人的门槛,让他们以为可以通杀一切了
2026-10-20 08:48
0
雪    币: 118
活跃值: (1400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18 楼
laiyier 你提示词都是怎么写的,我给codex 绕了半天,他就是不完成我的任务。 换了deepseek,开始干活了。 你是怎么做到的。
额gpt有云审查正价不推荐拿来逆向
2026-10-21 12:35
0
雪    币: 118
活跃值: (1400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19 楼
iBa0 吹嘘的逆向小白,无基础都能逆向万物
所以我才讨厌这个项目, reverse anything这个东西误导别人来的
2026-10-21 15:34
0
雪    币: 130
活跃值: (317)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20 楼
Catmeow 所以我才讨厌这个项目, reverse anything这个东西误导别人来的
但是这个skill中的思路是可以借鉴的。
2026-10-22 19:31
0
雪    币: 130
活跃值: (317)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21 楼
Catmeow 额gpt有云审查正价不推荐拿来逆向
那除了本地部署模型,还有别的方案吗?
2026-10-22 19:35
0
雪    币: 118
活跃值: (1400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22 楼
laiyier 但是这个skill中的思路是可以借鉴的。
我记得这个skill有用是说过的
2026-10-23 22:33
0
雪    币: 118
活跃值: (1400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23 楼
laiyier 那除了本地部署模型,还有别的方案吗?
ds
2026-10-23 22:33
0
雪    币: 130
活跃值: (317)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24 楼
Catmeow ds
我最后也是用的这个
2026-10-24 10:34
0
雪    币: 228
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
25 楼
学习
6天前
0
游客
登录 | 注册 方可回帖
返回