REA 逆向工程助手

用一个本地命令分析二进制文件与固件,并生成可读报告。

Star 数
★ 76
最近更新
2 天前
License
MIT
主语言
Rust

30 秒速览

运行形态
命令行工具MCP 服务器
可在哪里用
通用 · 跨平台Claude Code
费用
软件免费,模型调用费用自付
上手难度
中 · 需要几步配置
开始前需要
Stable Rust 工具链OpenRouter API 密钥(可选)Shell / 命令行网络访问本地文件系统MCP Server
典型场景
逆向工程师需要快速检查 PE、ELF、Mach-O 或原始固件,并获得哈希、导入项和缓解措施摘要。
不适合
  • 需要始终由 AI 撰写分析报告的团队
  • 不愿在本地运行命令行工具的用户

这个 Agent 能做什么,适合哪些场景?

REA 是一款以 Rust 编写的自主逆向工程框架,主要通过 rea <file> 在本地分析目标文件。它会按文件内容识别格式,并生成 Markdown、PDF 和 JSON 报告;即使没有 AI API 密钥,也能离线运行确定性分析。配置 OpenRouter API 密钥后,REA 可运行带工具调用的分析循环,由模型检查目标并撰写报告。它也提供 rea serve MCP 服务,供支持 MCP 的客户端交互调用分析工具。构建需要稳定版 Rust 工具链,README 记录了 Windows、macOS 和 Linux 的构建目标。

运行 rea <path-to-target> 后,REA 检查文件格式、哈希、熵、节区、导入导出、缓解措施、字符串和指标,并根据目标类型提供反汇编、调用图、模拟执行或格式专属检查。它将 Markdown、PDF 和 JSON 报告写在目标旁边;可用的专用命令还包括 decompile、strings、decrypt、rules、audit、unpack 和 emulate。设置 OPENROUTER_API_KEY 后,自主分析器可调用工具检查目标并生成分析章节;未设置时则采用纯离线确定性路径。执行 rea serve 可通过 stdio 上的 JSON-RPC 2.0 暴露分析工具,MCP 客户端可调用这些工具开展交互式分析。

  1. 逆向工程师需要快速检查 PE、ELF、Mach-O 或原始固件,并获得哈希、导入项和缓解措施摘要。
  2. 恶意软件分析人员需要提取 URL、IP、文件路径等指标,并查看调用图或解密隐藏字符串。
  3. 固件审计人员需要检查 U-Boot 镜像、SquashFS 文件系统或 ARM Cortex-M 固件中的文件与凭据线索。
  4. 安全团队希望在不配置 AI 服务的情况下,对样本执行离线、确定性的初步分析。
  5. 使用 Claude Code 的分析人员希望通过 MCP 调用 REA 的反汇编、规则匹配、审计或模拟工具。

如何安装或部署这个 Agent?

从源码构建需要安装稳定版 Rust 工具链。仓库文档给出了以下 Linux x64 构建方式:

git clone https://github.com/mytechnotalent/rea.git
cd rea
rustup target add x86_64-unknown-linux-gnu
cargo build --release -p rea --target x86_64-unknown-linux-gnu

也可将原生构建安装到 PATH:

cargo install --path crates/rea

README 指明 macOS Apple Silicon 预构建二进制位于 releases/;Windows 和 Linux 的构建方式是从源码构建。要启用自主 AI 分析,需设置 OpenRouter API 密钥;该密钥不是离线分析的前置条件。

如何使用这个 Agent?

对目标运行一次性分析命令,REA 会在目标旁边写出三种报告:

rea <path-to-target>

例如:

rea ./sample

需要交互式分析时,启动 MCP 服务:

rea serve

Claude Code 配置示例:

claude mcp add rea rea serve

启用 AI 分析前,在环境变量或当前目录及其上级目录中的 .env 文件设置密钥:

OPENROUTER_API_KEY="sk-or-v1-..."

可选模型变量为 OPENROUTER_MODEL;未配置密钥时使用离线确定性分析。

这个 Agent 有哪些优点和局限?

优点
  • 无需 API 密钥即可完全离线生成确定性报告,且 README 声明不会发起网络请求。
  • 单条命令生成 Markdown、排版 PDF 和机器可读 JSON 三种报告。
  • 支持多类可执行文件、固件和数据格式,包含反汇编、模拟执行、指标提取及规则检查。
  • MCP 服务可供 Claude Code 等客户端调用,并通过 rea mcp --setup 生成配置。
局限
  • 源码构建需要安装稳定版 Rust 工具链;README 只列出 macOS Apple Silicon 的预构建二进制。
  • 自主 AI 分析依赖 OpenRouter API 密钥;README 未说明 API 使用价格。
  • 离线模式是确定性技术报告路径,不包含 README 所述由模型撰写的分析报告。
  • README 没有说明如何将 REA 作为库嵌入其他程序。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
REA 逆向工程助手 当前 47 · 缺口较多 命令行工具免费 + 模型费 ★ 76 2 天前 Rust Claude Code
LitterBox 载荷分析沙箱 52 · 缺口较多 命令行工具免费 ★ 1.6k 5 个月前 YARA —
Open Claude in Chrome 40 · 缺口较多 MCP 服务器免费 + 模型费 ★ 254 26 天前 HTML Claude Code
Flow-Like 55 · 缺口较多 桌面应用免费版 + 付费版 ★ 962 今天 Rust —

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
47/ 100 五分制 2.4 / 5
本评测基于 2026年10月14日 的源码;此后该项目发布了 6 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 11/29
可靠稳定 5/14
适用触发 10/18
规范维护 11/18
有效结果 7/13
证据核验 3/8
查看各维度的扣分理由
信任安全11 / 29 · 1.9/5

README说明REA可读取目标并在目标旁写出Markdown、PDF和JSON报告,且可选配置OpenRouter API key进行90轮工具调用;这让主要数据流可见(data_flow_transparency 2)。但未说明文件覆盖确认、输出权限或回滚方式(user_confirmation 1、rollback 0),对API key和报告中可能出现的密钥、凭据没有处理说明(sensitive_data_handling 1)。列出的CLI/MCP能力较广,缺少细粒度权限控制说明(least_privilege 1);联网分析虽标为可选,但网络影响和数据发送范围说明有限(external_effects 1)。提供了Rust工作区和MIT许可信息,但没有依赖审计或安全维护证据(dependency_security 1)。Cargo.toml署名作者并给出仓库地址,支持有限来源追溯(source_attribution 2);发布者身份仍按题设视为未知。

可靠稳定5 / 14 · 1.8/5

README把无API key的离线模式、可选AI模式和纯Rust实现描述得较清楚,但“任何文件”“malformed or hostile inputs can never compromise the host”等绝对安全表述缺少所给代码或测试佐证,也与来源材料仅展示文档和少量夹具的证据范围不相称(self_consistency 1)。Rust工具链和跨平台构建步骤明确,且说明无需外部反编译工具(dependency_availability 2);未提供依赖锁定、故障信息或错误处理细节(failure_messages 0)。

适用触发10 / 18 · 2.8/5

README明确面向逆向分析,列出多种文件格式、CLI子命令和MCP交互方式,场景与触发方式较清楚(audience_and_scenarios 2、trigger_precision 2)。列出的分析能力丰富,但没有充分说明哪些目标或分析结论不受支持、模型工具权限边界在哪里(capability_boundaries 1)。提供Windows、macOS、Linux构建及使用说明,且有离线路径(environment_fit 2)。

规范维护11 / 18 · 3.1/5

README按功能、格式、使用、MCP、配置和构建分节,并给出命令示例,结构和示例较实用(information_architecture 2、examples_and_faq 2)。有Rust安装、平台构建与安装说明(install_notes 2);项目名、命令名和版本号在所给文件中基本一致(naming_stability 2)。未见明确限制说明,针对过度宽泛的安全与支持范围声明也缺少边界(known_limitations 1)。LICENSE提供完整MIT文本,版权与授权条款清楚(license 3)。README标出v5.6.1及变更摘要,但没有更完整的版本历史(versioning_changelog 2)。Cargo.toml列作者,但所给材料未说明维护责任或更新渠道(maintenance_responsibility 1)。

有效结果7 / 13 · 2.7/5

README说明生成Markdown、PDF和机器可读JSON,并列出分析命令,输出形式适合人工查看和后续处理(output_usability 2)。多格式逆向分析、规则匹配和MCP接口显示出相对手工逐项分析的潜在价值(marginal_value 2),但报告准确性、分析覆盖率和实际运行成本没有所给证据支持,因此成本收益只能部分判断(cost_benefit 1)。

证据核验3 / 8 · 1.9/5

README中的命令、文件名、版本号和依赖配置有部分Cargo.toml或LICENSE信息可对应,但绝大多数功能与安全保证没有所给实现或测试佐证(claim_traceability 1)。所给README、Cargo.toml和LICENSE相互印证了项目名称、版本、Rust和MIT信息;三个脚本夹具只显示针对路由器漏洞的HTTP请求,不能验证核心分析能力(cross_source_corroboration 1)。README有时以确定语气陈述功能与安全结果,却未在所给材料中区分已证实实现和产品声明(fact_inference_separation 1)。

风险与缓解建议
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 配置API key会启用联网分析;不要将含敏感信息的样本或密钥交给该流程,除非你已确认其数据处理方式。
  • README关于恶意输入绝不影响主机的绝对安全声明,未由本次提供的源文件材料证实。
  • 测试夹具包含针对路由器命令注入、路径遍历和认证绕过的请求,并可能读取设备配置或shadow文件;仅应在明确授权的隔离环境中使用。
证据充分度:低 评估于 2026年10月14日 审查版本 ac4a969a5d54 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v7.0.0
    发布说明摘录
    REA v7.0.0 — Understand & Trust: read the binary like an analyst and attribute where it came from. Pure Rust, offline, every claim tied to the addressable evidence bundle. Decompiler quality - Conditions render from the controlling cmp/test operands: if (rbx < r8). - Pre-tested loops hoist into real while (cond) instead of while (true). - cbz/cbnz render as explicit zero tests: if (r3 != 0). - Widening loads cast to their true integer type: eax = (uint16_t)*(r14). Behavioral & cross-format …
    在 GitHub 查看 ↗
  2. v6.0.2
    发布说明摘录
    REA v6.0.2 makes the CI gate pass on clippy 1.99. - Empty-collection assertions. Test assertions now use assert_eq!(… .len(), 0) / assert_ne!(… .len(), 0) instead of assert!(… .is_empty()), which the newer clippy::assert_is_empty pedantic lint rejects. No behavior change. Fixes the red CI introduced by adding the workflow in v6.0.0.
    在 GitHub 查看 ↗
  3. v6.0.0
    发布说明摘录
    REA v6.0.0 makes every finding addressable, reproducible, and re-verifiable — offline, with nothing installed. Highlights - Evidence bundle. Every one-shot writes re-<name>.evidence.json: a versioned, canonical bundle with target identity, coverage, explicit unknowns, and one item per finding — each with a content-addressed ID (ev_<hex>, SHA-256 of kind|subject|detail|address) and a confidence level. - rea evidence <file> writes the bundle on demand. …
    在 GitHub 查看 ↗

常见问题

不提供 API 密钥时还能分析文件吗?
可以。REA 会运行确定性离线分析并生成报告;需要自主 AI 分析时才配置 OpenRouter API 密钥。
报告写到哪里,包含什么格式?
报告写在目标文件旁边,格式为 Markdown、PDF 和 JSON。
REA 支持哪些系统?
README 提供 Windows x64、macOS Apple Silicon 和 Linux x64 的构建说明,并指出 macOS Apple Silicon 有预构建二进制。
它能在 Claude Code 中使用吗?
可以。运行 rea serve 启动 MCP 服务,并按 README 所示通过 claude mcp add rea rea serve 添加。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents