开发与工程 reverse-engineeringghidradecompilationbinary-analysisc-plus-plussource-code-recovery

Auto RE Agent

利用 Ghidra 证据与 LLM 重建并验证二进制中的 C/C++ 函数。

FollowAgents 评估 · FARS-2.1
谨慎使用
61/ 100 五分制 3.1 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全17 / 29 · 2.9/5

证据显示:工具明确不自动修改原始源码树,候选代码写入overlay,隔离验证在临时副本中运行,且需要显式设置trust_configured_commands才信任项目拥有的shell命令。这体现了最小权限和用户确认。数据流透明性:文档描述了证据收集、候选生成、验证和报告流程,但未提供详细的内部数据流图。敏感数据处理:涉及API密钥,但文档建议使用环境变量,未发现硬编码密钥。依赖安全:依赖项包括anthropic和openai,但未提供版本锁定或漏洞扫描证据。外部影响:工具执行配置的构建/测试命令,但明确警告这些命令应受项目所有者控制。回滚:会话文件原子重写,但未提供明确的回滚机制。来源归属:未验证发布者身份,但文档和代码中明确归属Dryxio。扣分原因:依赖安全证据不足,回滚机制不明确,发布者未验证。

2可靠稳定9 / 14 · 3.2/5

证据显示:文档和配置示例一致,CLI命令和配置选项描述清晰。依赖可用性:依赖项在PyPI上可用,但未提供锁定版本。失败消息:文档提到错误处理,但未提供具体失败消息示例。扣分原因:依赖版本未锁定,失败消息细节不足。

3适用触发12 / 18 · 3.3/5

证据显示:面向逆向工程师和开发者,提供了多种使用场景(单函数、类批量、parity分析)。能力边界:明确说明不能证明语义等价,需要Ghidra和LLM。触发精度:CLI命令和配置选项明确。环境适配:支持多种LLM提供商和操作系统,但需要Ghidra和bridge。扣分原因:环境依赖较多,但文档提供了安装指南。

4规范维护10 / 18 · 2.8/5

证据显示:README结构清晰,包含安装、快速开始、CLI参考、FAQ等。安装说明详细。命名稳定:命令和配置项命名一致。示例和FAQ:提供了配置示例和FAQ。已知限制:文档列出安全性和局限性。许可证:MIT。版本和变更日志:pyproject.toml有版本号,但未提供CHANGELOG。维护责任:发布者未验证,但GitHub Actions显示持续集成。扣分原因:缺少CHANGELOG,维护责任不明确。

5有效结果9 / 13 · 3.5/5

证据显示:输出包括生成的代码、日志、知识图谱,格式明确。边际价值:自动化逆向工程流程,节省人工。成本效益:文档提到成本控制(bounded rounds),但未提供实际成本数据。扣分原因:成本效益缺乏量化数据。

6证据核验4 / 8 · 2.5/5

证据显示:README中的声明与代码和配置示例一致。交叉来源:文档提到YouTube演示,但未提供其他独立验证。事实与推断分离:文档明确区分保守验证和形式证明。扣分原因:交叉来源证据不足。

证据充分度: 评估于 2026年8月9日 审查版本 f9397082729e
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 发布者身份未验证,需谨慎对待。
  • 依赖版本未锁定,存在供应链风险。
  • 配置的构建/测试命令可能执行任意shell命令,必须由项目所有者控制。
  • 工具不能证明语义等价,仅提供保守验证。
评估证据 [1][2][3][4][5][6][7]
查看完整评分方法 →

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

Auto RE Agent 是一个面向已编译二进制的开源 C/C++ 函数重建工具。它通过 ghidra-ai-bridge 获取 Ghidra 的反编译、交叉引用、类型、控制流和汇编等证据,并由 reverser 与 checker 两个角色进行有界循环审查。生成结果不会直接修改原始源码树,而是写入报告目录和候选覆盖层;可选验证会在项目临时副本中执行配置的构建、测试和运行命令。其命令行提供 init、reverse、parity、status 和 estimate 等工作流,支持 Claude API、Claude CLI、OpenAI 兼容 API 与 Codex CLI。它提供的是保守的验证证据,而不是生成代码与二进制语义等价的形式化证明。

运行 re-agent reverse --address ADDR 或 re-agent reverse --class CLASS 后,工具按配置选择函数,并从 ghidra-ai-bridge 读取 decompile、xrefs_from、xrefs_to、struct、enum、vtable、global、strings、context、normalized pcode 和 cfg 等可用证据。reverser 生成候选 C/C++ 实现,checker 审查结果,流程可在限定轮数内继续修复和调查。每轮会运行结构验证器,将候选与反编译、汇编、CFG 和规范化高层 P-code 对比;随后运行 11 项内置 parity 信号。候选代码会写入 reports/re-agent/code/ 和候选 overlay;若启用 validation,工具会复制项目、替换匹配的函数体,并执行配置的 build_commands、test_commands 和 runtime 命令。报告还包括逐轮日志、re-agent-progress.json 和 reports/re-agent/knowledge-graph.json。

  1. 维护遗留 C++ 项目的逆向工程师,需要根据 Ghidra 导出的二进制证据恢复一个指定地址的函数实现。
  2. 正在处理大型类恢复任务的团队,希望用 re-agent reverse --class CTrain --max-functions 10 按依赖顺序运行受限批次。
  3. 拥有可构建和可测试源码树的项目维护者,希望在临时项目副本中验证候选实现,而不覆盖原始源码。
  4. 需要审查现有恢复源码的分析人员,可使用 re-agent parity --filter REGEX 或 --skip-ghidra 检查 parity 信号。
  5. 需要保留函数级历史、提示词响应和证据关联的逆向项目,可利用 session 文件、逐轮日志和知识图谱输出。

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

优点
  • 将 Ghidra 反编译、交叉引用、类型、控制流、汇编与规范化 P-code 组合为可供模型使用的证据包,而非仅依赖单段伪代码。
  • reverser、checker、结构验证、构建测试门禁与 parity 信号构成多层且有界的候选审查流程。
  • 候选实现写入 overlay;启用 copy_project 后会在临时项目副本中验证,避免自动覆盖原始源码树。
  • 支持 Claude API、Claude CLI、OpenAI 兼容 API 和 Codex CLI,且 reverser 与 checker 可分别配置提供方或模型。
局限
  • 完整的二进制驱动流程依赖本地 Ghidra、ghidra-ai-bridge 及正确的项目和导出配置。
  • 验证命令是项目自有的任意 shell 命令;工具无法从命令文本证明其真正验证了候选,必须显式信任 trust_configured_commands。
  • 结构检查和 parity 信号不是语义或二进制等价的形式化证明,证据不足时验证器会返回 UNKNOWN。
  • 实际成本和运行时长取决于模型、证据量和目标复杂度,且需在配置中控制审查轮次、调查次数和每函数尝试次数。

如何安装或部署这个 Agent?

需要 Python 3.10+、Git、Ghidra、已配置的 ghidra-ai-bridge,以及至少一种 LLM 配置。安装:

python3 -m pip install --upgrade "auto-re-agent[ghidra-bridge]>=0.2.0"

如需无头 Ghidra 导出:

python3 -m pip install --upgrade "auto-re-agent[headless]>=0.2.0"

在目标项目中执行:

ghidra-bridge init
ghidra-bridge export all
ghidra-bridge info

Claude API 需设置 ANTHROPIC_API_KEY 或 RE_AGENT_LLM_API_KEY;OpenAI 兼容 API 需设置 OPENAI_API_KEY 或 RE_AGENT_LLM_API_KEY;Claude CLI 和 Codex CLI 需先完成本地命令认证。

如何使用这个 Agent?

先在目标项目执行 re-agent init --profile generic-cpp,然后编辑 re-agent.yaml,至少配置 llm、backend.cli_path、source_root 和 validation。示例可使用 llm.provider: codex、llm.model: gpt-5.4,以及 backend.type: ghidra-bridge、backend.cli_path: ghidra-bridge。配置完成后,先运行 re-agent reverse --address 0x401000;批量恢复可运行 re-agent reverse --class CTrain --max-functions 10,并用 re-agent status 查看进度。若启用严格验证,应配置 build_commands、test_commands、require_build、require_tests、require_verified,并在确认命令由项目所有者控制后设置 trust_configured_commands: true。

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

与传统反编译器相比,Ghidra 仍负责反汇编、反编译和程序分析,Auto RE Agent 负责组织证据、生成候选实现、审查、验证与报告。与交互式 Ghidra AI 或 MCP 助手相比,它采用持久化报告和受限的 reverser/checker 自动流程,而不是由分析师逐步驱动对话。

常见问题

它会修改或提交原始源码吗?
不会。生成实现写入报告和候选 overlay;隔离验证会在临时项目副本中进行。
能否不使用 Ghidra?
完整的二进制驱动恢复流程目前通过 ghidra-ai-bridge 使用 Ghidra。已有源码可用 re-agent parity --skip-ghidra 运行仅源码的 parity 检查,但证据较少。
支持哪些模型接入方式?
支持 Claude API、已认证的 Claude CLI、OpenAI 兼容 API,以及已认证的 Codex CLI;reverser 和 checker 可以采用不同配置。
构建和测试通过是否代表恢复正确?
不代表。成功还受 checker、结构验证、配置的验证策略和 parity RED/YELLOW 策略约束,且这些检查不构成等价性证明。

对比同类 Agent

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

相关 Agents