大数跨境

爱马仕(Hermes Agent) + REA:AI 智能体驱动的自动化逆向工程插件详解

爱马仕(Hermes Agent) + REA:AI 智能体驱动的自动化逆向工程插件详解 苏哲管理咨询
2026-10-16
3
导读:REA 是 Nous Research 给 Hermes Agent 官方推出的逆向工程 MCP 插件,把 rea.tools逆向能力接入 Hermes 智能体,一句话概括:让 Hermes AI 智

编者摘要:REA(Reverse Engineer Anything)是 Nous Research 为 Hermes Agent 开发的官方 MCP 逆向插件,底层基于开源 rea.tools(MIT 协议),固定锁定 rea-agents@6.4.0 版本,禁止使用 latest,规避版本兼容风险。插件属于 Portable Agent Plugins v1,通过 stdio 启动 MCP 服务,内置 reverse-engineer-anything 工作流技能,合计提供约 170 个逆向工具,按需加载工具 Schema,降低上下文开销。

它支持原生二进制、.NET 程序、Electron/JS 应用、APK、固件、HAR 抓包等目标分析,输出反编译伪代码、调用图等结构化证据包。轻量静态分析仅需 Node.js 22.19+/24.11+/26+;深度反编译需要用户自备 Ghidra、JADX 等工具,REA 不会自动安装。大部分操作为只读,部分高危动作(启动程序、修改安卓设备、覆盖文件)会由技能要求智能体先询问用户,无人值守模式自动跳过。大型二进制首次 Ghidra 导入耗时较长,会话重启后临时分析结果丢失。REA 无遥测,全部运算本地执行,适合在隔离沙箱开展不可信程序逆向。

10 个关键问题 Q&A

  1. REA 是什么?
    REA(Reverse Engineer Anything)是 Hermes Agent 的官方 MCP 逆向插件,接入 rea.tools,让 AI 智能体自主完成多类型程序逆向分析。
  2. REA 可以逆向哪些文件?
    原生二进制、.NET 程序集、Electron/JS 应用、APK 安装包、固件镜像、HAR 浏览器抓包等。
  3. 必须安装 Ghidra/IDA 才能使用 REA 吗?
    不需要。仅静态 JS、元数据、归档分析无需;原生二进制深度反编译才需要自备 Ghidra/Hopper/IDA。
  4. Node.js 版本有什么限制?
    支持 22.19+、24.11+、26+;不支持 Node 23、25。
  5. REA 是否会自动安装 Ghidra、JADX?
    不会,所有重型逆向工具由用户自行部署,REA 仅调用已有本地工具。
  6. REA 是否会自动运行待分析的恶意程序?
    默认只读;启动程序、操作安卓设备等高风险动作,插件技能会强制智能体先询问用户。
  7. REA 分析数据是否上传云端?
    不会,无遥测,全部逆向工作本地执行,仅在抓包调试时访问目标地址。
  8. 大二进制分析为什么很慢?
    首次 Ghidra 导入并解析符号、函数耗时久;同一会话可复用结果,重启会话临时分析数据丢失。
  9. 能否执行 npx rea-agents setup --client hermes?
    禁止,该命令会改写 Hermes 配置,覆盖插件内置 MCP 服务,引发冲突。
  10. REA 输出的伪代码等同于原始源码吗?
    不等同,只是反编译结果;技能要求 AI 对照汇编交叉校验结论,仍需要人工复核。

附录 REA (Reverse Engineer Anything) Hermes Plugin

REA 是 Nous Research 给 Hermes Agent 官方推出的逆向工程 MCP 插件,把 rea.tools逆向能力接入 Hermes 智能体,一句话概括:让 Hermes AI 智能体直接调用一套约 170 个逆向工具,自动化分析二进制、安卓包、固件、Electron/JS 应用,生成反编译代码、调用图、程序证据包。

一、基础信息

  • 项目仓库:NousResearch/hermes-official-plugins/rea
  • REA 本体:morluto/rea,MIT 协议
  • 插件版本锁定:rea-agents@6.4.0(2026-10-11),不使用 latest,固定版本,避免破坏性更新
  • 插件类型:Portable Agent Plugins v1,基于 MCP(Model Context Protocol),通过 stdio 启动 MCP Server
  • 安装命令
hermes plugins install rea
hermes plugins enable rea

安装后新建 Hermes 会话即可使用,示例指令:

Use REA to inspect /Applications/Notes.app and explain how CSV export works.

二、能力覆盖范围(支持逆向目标)

REA 6.4.0 一共对外暴露约 170 个 MCP 工具,命名前缀 mcp__rea__*,例如:

  • open_binary
    加载原生二进制
  • analyze_function
    函数反编译与分析
  • analyze_javascript_application
    Electron/JS/ASAR 应用分析
  • inspect_android_package
    APK 包解析

可分析对象清单:

  1. 原生二进制 / 本地库(PE、ELF、Mach-O),需要你自备 Ghidra / Hopper / IDA 做反编译
  2. .NET 程序集(元数据解析)
  3. Electron / JS 应用、ASAR 包
  4. Android APK(自备 JADX+Java)
  5. 固件镜像(自备 Binwalk / Unblob)
  6. 抓包文件、HAR 浏览器捕获记录
  7. 浏览器、Electron、终端程序运行行为捕获
  8. Go/Rust 二进制元数据、PE 资源提取

输出结构化Evidence 证据包:伪代码、调用图、应用结构图、捕获日志,由 Hermes 负责解读、归纳结论。

注意:输出是反编译伪代码,不是原始源码;技能内置规则,要求 Hermes 对照汇编交叉校验结论,标记缺失符号、分析警告。

三、环境依赖

✅ 必装:Node.js 22.19+ / 24.11+ / 26+,npx 在系统 PATH 中;不支持 Node 23、25

首次启动会自动把锁定版本 rea-agents@6.4.0 下载到 npm 缓存

✅ 静态轻量分析(JS/ASAR/ 归档 / Go 元数据 /.NET 元数据 / HAR 抓包):不需要额外逆向工具✅ 深度反编译(原生二进制、安卓、固件):用户自备工具,REA 不会自动安装

  • 原生:Ghidra (+JDK) / Hopper / IDA
  • Android:JADX + Java
  • 固件:Binwalk / Unblob
  • 流量 / 波形:TShark、sigrok、WABT

⚠️ 禁止手动执行:npx rea-agents setup --client hermes这个命令会直接改写 Hermes config.yaml的 mcp_servers 配置,覆盖本插件锁定的 MCP 服务,造成冲突。

四、安全边界(重点)

大部分 REA 工具只读文件,不会运行目标程序;但有一小部分高危操作会修改本地环境或设备:

  1. capture_process_scenario
    PTY 下执行命令并记录行为
  2. capture_browser_scenario / capture_electron_scenario / capture_native_ui_scenario
    启动并操控应用窗口
  3. ADB 系列:安装 / 卸载 APK、推送文件、启停 APP(修改安卓设备)
  4. export_evidence_bundle / close_binary
    覆盖本地文件

插件自带的 reverse-engineer-anything技能内置防护规则: 智能体执行以上高危动作前,必须先向你确认,无人值守模式自动跳过高危操作。 强烈建议:在隔离沙箱环境分析不可信程序。 REA 无遥测;仅在你指定目标时联网(调试端点、设备、浏览器抓包拉取 sourcemap)。

五、任务超时 & 性能特点

  1. Hermes 默认 MCP 工具超时:300 秒;插件单独把 Ghidra 内部导入超时设置为 900 秒
  2. Hermes v0.23.0 会支持 REA 独立服务级预算,当前插件已经为该版本预留声明
  3. 二进制分析:
    • open_binary
      只是校验目标;真正耗时是首次 Ghidra 导入 + 全量分析
    • 大型二进制耗时可达数分钟;同一会话内后续查询复用已加载分析结果
    • 会话关闭 / 重启后,临时分析数据全部丢失
  4. 实测案例(Linux 主机,静态分析 WinSCP 6.7,没有运行程序)
    • 控制台版本:导入约 30s
    • GUI 版本:超出默认 330s 上限,1000s Hermes 预算下耗时 663s;后续首次查询 580s;一共提取 28701 个函数

这只是单环境观测值,不保证所有二进制都这个速度。超时排障文档在插件内 connection-and-recovery.md

六、MCP 工具加载机制

REA 一共有约 170 个工具,Schema 总大小约 460KB。 Hermes 不会一次性把全部工具灌入模型上下文,采用按需检索(on-demand tool search):

会话只在智能体需要的时候才查找对应工具,减少上下文开销;同时还附带 6 条 MCP Prompt 模板。

七、整体架构总结

Hermes Agent
  ↓ 启用 REA插件
加载 mcp.json → npx rea-agents@6.4.0 mcp (stdio MCP服务)
加载 skills/reverse-engineer-anything/ 逆向工作流技能
智能体调用 mcp__rea__xxx 工具 → REA MCP Server
REA 调用本地逆向后端(Ghidra/JADX等,用户自备)
返回结构化Evidence证据包 → Hermes做推理、解释、交叉校验

八、亮点与局限

✅ 亮点

  1. 把全套逆向流水线封装成智能体可用工具链,AI 可以自主规划逆向调查流程
  2. 版本固定锁定,避免 npx latest 带来的兼容性崩溃
  3. 区分只读 / 高危操作,技能层强制人工确认高危动作
  4. 按需加载工具 Schema,控制上下文成本
  5. MIT 开源 REA 底层,无云遥测,所有分析在本地完成

⚠️ 局限

  1. 原生深度反编译依赖商业 / 开源逆向工具(IDA/Hopper/Ghidra),用户自己部署维护
  2. 大二进制首次导入耗时极长,依赖机器性能
  3. 会话临时分析数据,重启丢失;无持久化项目库
  4. 输出只是反编译伪代码,AI 结论需要人工复核;技能只是要求交叉校验,不能保证正确性
  5. Node 版本限制严格(22/24/26,排除 23、25)



【声明】内容源于网络
0
0
苏哲管理咨询
为企业及组织提供AI+战略、数智化转型咨询及观点、建议等
内容 2331
粉丝 0
苏哲管理咨询 为企业及组织提供AI+战略、数智化转型咨询及观点、建议等
总阅读61.0k
粉丝0
内容2.3k