这个 Skill 能做什么,适合哪些场景?
REA(Reverse Engineer Anything)是一个 MCP 服务器加配套技能,让编码代理检查原生二进制、JavaScript/Electron 应用、.NET 程序集、Android APK、固件、网站和保存的网络抓包。分析在本地运行,每条结论都附带证据、证据类型(观察/推断/未知)和覆盖限制。原生深度分析可复用你已有的 Hopper、Ghidra 或 IDA 安装;静态 JavaScript 和 .NET 分析无需任何原生引擎。技能本身只提供调查指令,不注册 MCP 服务器或安装引擎,真正的工具由 `rea-agents` 包提供。
- 通过
open_binary绑定二进制/归档目标,调用analyze_function、binary_overview等工具产出伪代码、汇编、符号和调用引用 - 用
analyze_javascript_application恢复 Electron/ASAR 应用的模块、导入、路由和 IPC 关系,并用trace_application_feature追踪具体功能 - 用
inspect_android_package提取 APK 清单声明、类与反编译方法;用inspect_managed_artifact检查 .NET 元数据与 CIL 指令 - 用
inspect_firmware_regions/extract_firmware(Binwalk/Unblob)分析固件,用inspect_binary_layout、inspect_recorded_crash、inspect_evm_interface做离线 ELF 布局、崩溃转储和 EVM 字节码分析 - 对已打开的用户浏览器/Electron 运行时做被动观察(
list_browser_targets、list_electron_targets),并离线检查 HAR/mitmproxy 抓包 - 维护证据账本:每条结论链接证据 ID、置信度与剩余未知项,需要时用
export_evidence_bundle导出完整会话
- 想把某应用的功能复刻到自己项目里的开发者:让代理解释该功能(含证据),再用普通编码工具实现类似版本
- CTF 选手或安全研究员:需要反编译原生二进制、检查 ELF 静态缓解措施或读取 Linux 崩溃转储
- 做版本对比的维护者:比较同一应用两个打包版本的模块、导入或构建差异
- 分析 Android APK 的人:读取清单声明、类结构和方法引用,或解码资源与字符串表
- 研究固件或 EVM 智能合约字节码的人:识别固件区域、提取镜像或解码调度选择器与参数
- 调试 Electron 应用的工程师:追踪剪贴板、IPC 等功能从渲染进程到主进程的完整链路
- 只是想分析一个完整源码仓库的普通架构——SKILL.md 明确说这种情况应使用常规仓库工具,跳过 REA
- 不愿意安装 Node.js 22+ 及按目标安装额外工具(Hopper/Ghidra/IDA、JADX、pwntools、Binwalk 等)的用户
- 非 Linux x64 平台上的固件、EVM 字节码、离线 ELF 和崩溃转储分析——文档写明依赖 Linux x64 上的调用方提供工具
如何安装这个 Skill?
- SKILL.md 指示使用 npx -y rea-agents@latest,属于未锁定的远程代码获取;在受限或安全敏感环境中建议固定版本号并审查后安装。
- 运行时观察类操作(observe_native_calls、浏览器/Electron 连接)会以当前用户权限实际运行或接触目标进程,请仅在已授权的目标上使用。
- REA 自身不对每次工具调用设置审批门槛,仅依赖客户端策略;无人值守场景需预先配置客户端级审批。
- 文档与依赖均为英文且依赖境外 npm/GitHub/rea.tools 资源,中国大陆网络可达性可能受限。
- 深度原生/Android/固件分析需要自备 Hopper/Ghidra/IDA/JADX 等引擎,功能可用性因主机和已发布版本而异。
- skill 仅提供指令,不注册 MCP 服务器;需先运行 rea-agents setup 并重启代理。
- Shell / 命令行
- 网络访问
- 本地文件系统
- MCP Server
Node.js 22.x (>=22.19) / 24.x / 26+ and npmrea-agents MCP server (npx rea-agents setup)Optional: Hopper, Ghidra, or IDA for native analysisOptional: pwntools, JADX + JDK, Binwalk/Unblob, adb, Apktool depending on target
REA 的安装分两层:技能文件(可从仓库 .agents/skills/ 路径或 skills.sh 获取)只提供指令;工具本身通过 npm 包 rea-agents 注册。
Claude Code / Codex / Cursor / Gemini CLI / Grok Build 等支持的代理
npx rea-agents setup选择你的代理、审核变更并批准,重启代理后生效。
终端 CLI(全局安装)
npm install --global rea-agents
rea --help一次性命令(不安装)
npx -y rea-agents@latest --help更新已安装的 CLI 用 rea update;npx 用户用 npx rea-agents@latest setup 刷新注册和技能。
如何使用这个 Skill?
安装后,把下面任意一句发给 Agent 即可触发:
- 理解备忘录应用里搜索功能是怎么实现的,给我看证据,然后为我的项目做一个类似的搜索。
- 分析 /absolute/path/to/app.asar 这个 Electron 应用的模块和 IPC 边界,列出证据。
- 反编译这个原生二进制里的关键函数,解释 DX-Ball 的声像(pan)计算并给我一份能编译的 C 版本。
- 对比这个 APK 两个版本的清单声明和方法引用,指出行为差异和仍不确定的地方。
技能由对话中的任务触发:当结论依赖已交付的二进制/包、反编译、被动运行时证据或版本对比时,代理按目标类型路由到第一个工具(原生目标走 open_binary,APK 走 inspect_android_package,JavaScript/ASAR 走 analyze_javascript_application 等)。默认先返回摘要并利用内联证据(Evidence)和图上下文,大对象用 "detail": "summary" 加 inspect_analysis_view 分页查看,避免重复相同分析。每条结论须区分观察、推断和未知,引用证据 ID。原生分析需先配置 provider(Hopper/Ghidra/IDA,IDA 经 mrexodia/ida-pro-mcp 注册);运行时观察会以你的用户权限执行声明的目标,静态分析则只读文件。调查完成后用 close_binary 关闭打开的原生会话。
这个 Skill 有哪些优点和局限?
- 覆盖面广:一个 MCP 同时支持原生二进制、JavaScript/Electron、.NET、APK、固件、浏览器、抓包和进程捕获
- 本地分析:目标应用不上传,结果附带证据、限制与未知项,结论可审计
- 可复用现有引擎:Hopper、Ghidra、IDA 均可作为原生分析 provider,静态 JavaScript/.NET 分析无需任何引擎
- 安装/更新简单:`npx rea-agents setup` 一条命令完成注册并备份现有配置,`rea update` 保持最新
- 要求 Node.js 22.x (>=22.19)、24.x 或 26+,原生深度分析还需已安装的 Hopper/Ghidra/IDA
- 多个目标类型依赖调用方自行提供的工具(pwntools、JADX+JDK、Binwalk/Unblob、adb、Apktool),且部分仅支持 Linux x64
- 技能安装只提供指令,不会注册 MCP 服务器或安装引擎——不运行 setup 就无法使用工具
- 仓库 main 分支的技能可能描述比已发布 npm 版本更多的能力,旧版 CLI 存在能力差异
- 运行时观察会执行声明的目标,需要用户自行确保获得授权并遵守适用法律(MIT 许可下无使用担保)
这个 Skill 与同类方案有什么区别?
与相关 Skills 并排比较;分数均按同一 FSRS 标准得出。
| Skill | FS 评分 | Star 数 | 最近更新 | License |
|---|---|---|---|---|
| REA:万物逆向工程技能 本页 | 59 · 推荐 | ★ 71k | 今天 | MIT |
| REA 工具设计技能 | 51 · 谨慎使用 | ★ 71k | 今天 | MIT |
| Open Code Review — AI 代码质量门禁 | 46 · 谨慎使用 | ★ 40 | 5 个月前 | NOASSERTION |
| Engram 持久记忆协议 | 68 · 推荐 | ★ 7.1k | 4 天前 | MIT |
| LeanCTX 本地上下文智能层 | 61 · 推荐 | ★ 3.9k | 3 天前 | Apache-2.0 |
REA 本身整合了 Hopper、Ghidra、IDA 作为可选的原生分析引擎(provider),并复用 mrexodia/ida-pro-mcp 作为 IDA 的安装与注册方式;它不是这些工具的替代品,而是把它们的输出接进代理工作流。纯静态场景下它也提供 pwntools(ELF 布局)、JADX(APK)、Binwalk/Unblob(固件)等上游工具的包装。
FollowSkills 如何评估这个 Skill?
证据显示最小权限意识强:分析默认本地、被动观察不执行目标、HAR 凭证刻意排除、设置前给出只读计划与备份、不安装无关软件、发现任务要求把观察/推断/未知区分。扣分点:npx -y rea-agents@latest 拉取未锁定版本,运行时捕获会以用户权限实际运行目标(observe_native_calls),且 REA 明确不对每调用设审批门槛,仅依赖客户端策略;发布者身份未经验证。
指令自洽、分层清晰,错误恢复表、部分结果恢复、截断处理、重复调用约束等异常路径描述极详尽。扣分点:静态审读下无法复现关键路径;skill 自述与 npm 发布版本可能漂移('repository main may describe capabilities absent from an older npm release'),JADX 等 BYO 依赖版本敏感;本审读无法验证测试覆盖 skill 关键路径,故不超过 10。
触发条件明确(当结论依赖已发布二进制/反编译/运行时证据时使用,并明确排除普通源码仓库分析),目标路由表和各格式的输入输出、非适用边界(如 NativeAOT 非源码恢复)写得很清楚。扣分点:文档全为英文、无中文支持;核心功能依赖 npm/GitHub/rea.tools 等境外资源,在中国大陆网络可达性存在风险且 skill 未提供替代获取路径。
SKILL.md 渐进披露良好(主文件路由 + 分主题 references + 上游 docs 链接),metadata 带 version "37",MIT 许可证、SECURITY.md、维护/更新路径(rea update、setup)齐全,免责声明明确。扣分点:skill 自身无 changelog,version 号语义未解释;对外部文档 URL 的版本一致性无固定锚点。
目标—证据—结论的工作流对逆向任务边际价值明确,showcase(DX-Ball、Notion、TH04)描述了可用的输出形态。扣分点:静态审读无法验证输出直接可用性;实际价值高度依赖 REA MCP 服务器与外部引擎(Hopper/Ghidra/IDA/JADX)的可用性,成本/收益对这些前置条件敏感。
skill 强制要求区分观察/推断/未知、引用 Evidence ID、保留局限与覆盖率,仓库含 CI 工作流与大量 verify/test 脚本、SECURITY.md 边界声明。扣分点:静态审读不能执行或独立复现任何结论;showcase 属于作者提供的演示,未在本次证据中独立核实。
点击维度查看打分理由
证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。
查看完整评分方法 →