REA Skill:用自然语言做逆向工程,10天冲上GitHub Trending #1的AI工具
一句话总结
REA 是一个 AI Agent 优先的逆向工程框架——用自然语言提出”这个 App 在做什么”类问题,它会调度多个子 Agent 分别执行代理、Hook 注入、反汇编、Symbol 追踪和交叉引用,最终产出一份带证据的结构化报告,让不懂二进制的人也能做逆向分析。
功能与原则
REA 的核心定位是降低逆向工程的门槛,把它从专业安全工程师的专属技能变成任何人都能用自然语言驱动的对话式工作流。它的设计原则:
- Agent-first:每个逆向任务都是一个 AI Agent 协作流程,而非手工操作 CLI
- 工具链编排:不重复造轮子,底层复用 Ghidra、Hopper、Frida、mitmproxy 等成熟工具
- 证据驱动:每个结论都附带证据(抓包记录、反汇编片段、调用栈),不凭空输出
- 本地优先:分析在本地执行,不上传二进制到云端
认可度
REA 增长极为迅猛,截至 2026-10-07:
- GitHub Star:约 9,000–10,600(不同数据源实时略有差异,10news.xyz 记录 9,026,星 shift.io 记录 10.6k,均为同一天数据)
- 今日新增:+2,963(10news 记录),单日增量位居当日 GitHub Trending 第一
- Fork:986(GitHub explore 记录)
- 创建时间:约 11 天前(2026 年 9 月底),属于极新项目
- Trending 排名:#1(GitHub Trending 全榜,2026-10-07)
链接
GitHub:https://github.com/morluto/rea
原作者
morluto(GitHub username: morluto)——个人开发者,专注于 AI Agent 与安全工具的交叉领域,目前主要维护 REA 项目。
介绍
REA 的灵感来自于一个朴素的提问:看到一个 App 的某个功能,想知道它是怎么实现的,但既没有源码、也不懂汇编,怎么办?
传统逆向工程的流程是:找工具、装环境、学操作、逐层分析——这对普通开发者或产品经理来说几乎不可能。而 REA 把这个流程对话化:你只需要告诉它”我想了解这个 App 的登录模块把哪些数据发到了哪里”,它会自动调度代理挂包、反汇编相关 .so/.dylib 文件、追踪网络请求,最终给你一份可读的结构化报告。
项目支持多种分析深度:静态 JavaScript/Electron 分析无需任何外部工具,Node.js 即可运行;原生二进制分析需要 Hopper(可选 demo 模式)、Ghidra 或 IDA Pro;APK 静态分析需要 JADX + Java;固件分析需要 Binwalk + Unblob。不同深度的分析对应不同的工具门槛,用户可以根据需求选择。
目前 REA 已支持 12 种主流 Coding Agent:Claude Code、Claude Desktop、Codex、Cursor、Gemini CLI、Windsurf、Devin、OpenCode、Antigravity、GitHub Copilot CLI、Command Code、VS Code,覆盖了市面上几乎所有主流 AI 编程工具。
特点
- 多引擎协作:同时支持 Hopper、Ghidra、IDA Pro 三大反编译引擎,可按需选择或混用
- MCP 协议集成:通过 Model Context Protocol 与 AI Agent 无缝对接,开箱即用
- 零门槛安装:一条
npx rea-agents setup完成 Agent 注册和 MCP 配置 - 证据链输出:每个结论都附带原始证据,支持直接引用或 further investigation
- 跨平台支持:macOS 12+、Ubuntu 24.04+、Fedora 41+、Arch Linux(64 位)均可运行
- Skill 市场支持:可通过
npx skills add morluto/rea --skill reverse-engineer-anything直接安装为 Agent Skill
使用方法
安装(CLI):
curl -fsSL https://raw.githubusercontent.com/morluto/rea/main/install.sh | bash
# 或
npm install --global rea-agents
rea setup
连接 Agent(交互式):
npx rea-agents setup
选择要连接的 Agent(已检测到的会自动回显),确认路径变更,REA 会写入 MCP 配置并重启 Agent。
快速分析 JavaScript/Electron 应用(无需额外工具):
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json
诊断检查:
rea doctor # 完整审计(所有 Agent + 工具链)
rea doctor --provider ghidra --json # 只检查 Ghidra
rea doctor --client codex --json # 只检查 Codex 注册状态
使用场景与人群
适用场景:
– 产品经理想了解竞品某个功能的实现方式,但没有源码权限
– 安全研究员快速摸清一个未知二进制的基本行为
– 开发者想理解某个闭源库或 SDK 的内部工作原理
– CTF 选手做逆向题目时需要 AI 辅助分析
– 企业内部做第三方组件合规审查
目标用户:
– 安全研究员 / 逆向工程师(作为日常辅助工具)
– 全栈开发者(理解闭源依赖行为)
– 产品/增长从业者(竞品分析)
– AI Agent 开发者(构建支持逆向能力的智能体)
输入与输出案例
案例 1:分析一个 Electron App 的数据外发行为
输入:
Analyze what data this Electron app sends to external servers when users log in.
输出(结构化 JSON,摘要):
{
"findings": [
{
"type": "network_request",
"evidence": "POST https://api.example.com/auth with body {"email": "***", "device_id": "***"}",
"endpoint": "/auth",
"method": "POST",
"contains_pii": ["email", "device_id"]
},
{
"type": "local_storage",
"evidence": "localStorage.setItem('session_token', token) at renderer.js:2341",
"location": "renderer.js:2341"
}
],
"confidence": "high",
"limitations": ["SSL pinning detected - certificate details not captured"]
}
案例 2:用 Hopper 分析一个原生 .dylib 的加密函数
输入(给 Claude Code + REA):
What encryption algorithm does this iOS dylib use for its network communication?
输出:REA 自动调用 Hopper 加载目标 .dylib,追踪相关函数交叉引用,定位到 CryptoKit 调用路径,输出函数调用链 + 反汇编片段 + 算法结论(e.g., “AES-256-GCM with random IV”),每一步附带 Hopper截图/反汇编引用。
总结
REA 的爆发式增长反映了一个大趋势:逆向工程的门槛正在被 AI 彻底重构。过去需要数年经验才能完成的二进制分析工作,现在用自然语言就能驱动。它不是要取代安全研究员,而是把”问一个问题得到结构化答案”的体验带给了更广泛的群体。对于 AI Agent 生态而言,REA 代表了一种新的 Skill 类型——不是辅助写代码,而是辅助理解世界。
GitHub: https://github.com/morluto/rea
评论区
登录后可评论。