搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

cyberkaida/reverse-engineering-assistant

安全

把逆向工程工具通过 MCP 服务器开放给大模型客户端,支持在 Ghidra 中交互分析或无界面自动分析二进制。

944
93
Java
Apache-2.0
创建于 3 年前

项目介绍

ReVa 是一个 Ghidra 扩展,内置 Model Context Protocol(MCP)服务器,让 AI 客户端可以查询和操作 Ghidra 的逆向分析能力。它不是把全部能力塞进一个巨大提示词,而是向模型提供许多小型工具:这些工具带有输入 schema、能容忍格式偏差的输入,并在反编译结果中附带命名空间和交叉引用等上下文,让模型像人类分析师一样逐步探索二进制。项目通过缩小单次输出、减少上下文膨胀来应对大型二进制和固件镜像。

适用对象是已经使用 Ghidra、希望在同一工作流里引入大模型助手的逆向工程师。由于它是 MCP 服务器,也可以与其他 MCP 服务器组合使用,例如让 ReVa 查 GitHub 源码或做网页搜索,以补充分析 MCP 概览。

安装

ReVa 要求 Ghidra 12.0 及以上。Ghidra 12.2+ 需要 Java 25,较早的支持版本需要 Java 21。请从 releases 下载与你的 Ghidra 版本完全对应的包,通过 Ghidra 扩展管理器安装。从源码构建需要设置 GHIDRA_INSTALL_DIR 并运行 Gradle:

export GHIDRA_INSTALL_DIR=/path/to/ghidra
gradle install

安装后需要在两个位置启用:在 Project 视图中打开 File → Configure → Configure all plugins,勾选 ReVa Application Plugin;在 Code Browser 中同样操作,勾选 ReVa Plugin,然后保存工具以便默认启用 安装说明。

快速使用(Assistant 模式)

启动安装好 ReVa 的 Ghidra 并打开一个项目。MCP 服务器默认通过 streamable HTTP 传输在 8080 端口监听,可在 Ghidra 项目设置中修改端口。使用 Claude Code 时执行:

claude mcp add --scope user --transport http ReVa -- http://localhost:8080/mcp/message

在 Ghidra 打开的情况下运行 claude,用 /mcp 检查连接。如果不想每次调用工具都确认权限,可以在 /permissions 中为 mcp__ReVa 添加规则 助手模式配置。VSCode 内置的 MCP 客户端也可以在用户设置中指向同一个 HTTP 端点 VSCode 配置。

Headless 模式

用于自动化、CI/CD、Docker 或 PyGhidra 脚本时,ReVa 可以无 GUI 运行,并自行管理 Ghidra 启动和临时项目:

export GHIDRA_INSTALL_DIR=/path/to/ghidra
uv tool install reverse-engineering-assistant
claude mcp add --scope user ReVa -- mcp-reva
claude -p "Import /bin/ls with ReVa and tell me how it works"

项目会创建在当前工作目录的 .reva/projects/ 下,因此在同一目录运行客户端可以把多个文件导入同一个项目 Headless 用法。PyGhidra 用户可以在自己的脚本中启动 RevaHeadlessLauncher、等待服务器就绪,再停止它 PyGhidra 示例。

Claude Code 技能

仓库附带 Claude Code marketplace 和 ReVa 技能,覆盖二进制初筛、深度分析、密码学分析和 CTF 指南。安装命令:

claude plugin marketplace add cyberkaida/reverse-engineering-assistant

技能会被加入 Claude Code,安装后即可使用,后续还会继续增加 marketplace 配置。

使用约束

ReVa 会开放 PyGhidra 脚本环境。如果允许它监听公网接口,应启用 API key 认证或关闭脚本工具;默认只监听 localhost 且开启脚本工具。Ghidra 与 Java 版本必须和所安装的 release 匹配;Headless 项目是会话级临时项目并会自动清理,需要长期保留的分析应使用 Assistant 模式或自行管理项目。许可证为 Apache-2.0。

HotRepo 点评

HotRepo 目前只有 2026-11-04 的一条记录:ReVa 进入 Java 日榜第 14 名,当天新增 16 Star,总 Star 934。单日快照不足以判断趋势。更值得关注的是项目本身针对大模型使用所做的工具设计——聚焦输出、容错 schema、附带交叉引用上下文——以及同时提供 Ghidra 界面内交互和 Headless 流水线两种模式。评估时应结合具体逆向工作流看这些能力,而不是星数。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。