bethington/ghidra-mcp
Ghidra MCP Server — 200+ MCP tools for AI-powered reverse engineering. GUI plugin + headless server, lazy tool loading, convention enforcement, batch operations, Ghidra Server integration, and Docker deployment.
Ghidra MCP Server – 是什么
Ghidra MCP 是一个生产就绪的服务器,通过 Model Context Protocol (MCP) 暴露 Ghidra 的逆向工程引擎。实际上,它允许您通过一个丰富且类型安全的 API,从外部程序(包括 AI 代理、CI 流水线或自定义脚本)控制 Ghidra 安装(GUI 和无头模式)。
为什么重要
- 全功能 API – 253 个 MCP「工具」涵盖了 Ghidra 能做的所有事情:读写符号、创建结构体、运行反编译、执行 P-code 模拟、连接实时调试器,甚至管理 Ghidra Server 项目。
- AI 友好 – 服务器强制执行命名规范和评分逻辑,使大型语言模型助手无需在每个提示中嵌入风格指南,即可生成一致且符合风格的输出。
- 生产级 – 原子事务、批量操作(减少约 90% 的 API 调用)、可配置超时和优雅的错误处理,使其适用于自动化流水线。
- 跨二进制文档传播 – 函数通过 SHA-256 哈希标识;一次编写的文档可自动传播到同一二进制文件的更新版本中。
- 无头 & Docker 就绪 – 可在无 Ghidra GUI 的情况下运行,适用于 CI/CD、云服务或大规模批量分析。
核心功能(如 README 所列)
| 类别 | 亮点 |
|---|---|
| MCP 集成 | 完整的 Model Context Protocol 实现;253 个工具;原子事务;批量模式;实时分析。 |
| 静态二进制分析 | 反编译、调用图、交叉引用、完整性评分、数据流(P-code 图)分析、结构体/枚举发现、字符串提取、导入/导出检查、原始内存读取。 |
| 动态分析(v5.4.0) | 通过 Ghidra 的 EmulatorHelper 实现 P-code 模拟;实时调试器桥接(17 个 Java + 22 个 Python 端点),支持 Windows(dbgeng)和 Unix(gdb/lldb)调试器,断点、寄存器/内存访问、ASLR 友好的地址转换。 |
| AI 驱动工作流 | 多步骤函数文档化流水线(匈牙利命名法、类型审计、验证评分)、并行批量文档化、孤立代码发现、系统性结构发现、跨版本哈希匹配。 |
| 自动化与 DevOps | 管理 Ghidra 脚本、多程序处理、批量重命名/注释/类型化、无头服务器模式、Ghidra Server 项目/版本控制、程序化分析器控制。 |
| 规范强制 | 命名、类型及其他规范的分层规则系统(自动修复、警告、拒绝)——对人类团队和 AI 代理均有益。 |
快速入门(快速启动摘要)
- 先决条件 – Java 21、Maven 3.9+、Ghidra 12.1.2、Python 3.10+(推荐使用 uv)。安装您操作系统对应的系统包(Ubuntu/Debian、macOS Homebrew、Arch AUR 包均已记录)。
- 克隆与预检
git clone https://github.com/bethington/ghidra-mcp.git && cd ghidra-mcp python -m tools.setup preflight --ghidra-path <path‑to‑ghidra> - 构建与部署 –
tools.setup辅助工具将 Ghidra JAR 安装到本地 Maven 仓库,构建扩展,并将其复制到 Ghidra 的Extensions/文件夹中。python -m tools.setup ensure-prereqs --ghidra-path <path> python -m tools.setup build python -m tools.setup deploy --ghidra-path <path> - 运行桥接器 – 服务器可通过三种传输方式启动:
- stdio(默认)– 适合通过 stdin/stdout 管道传输 JSON 的 AI 工具。
- streamable‑http – 用于 Web 客户端或浏览器的轻量级 HTTP 端点(
/mcp)。 - sse – 已弃用的旧式流式模式。
uv run bridge-mcp-ghidra # stdio uv run bridge-mcp-ghidra --transport streamable-http --mcp-port 8081 - 配置客户端 – 将服务器添加到 MCP 兼容客户端(如 Claude Code、Autohand Code 或开源 MCP Inspector)中,指向 stdio 命令或 HTTP URL 即可。
典型用例
- 自动化逆向工程流水线 – CI 作业加载二进制文件,运行文档化工作流,并导出结构化 JSON 供下游分析使用。
- AI 辅助代码理解 – 大型语言模型代理查询服务器以获取反编译、数据流或重命名建议,然后写回一致的注释。
- 实时调试辅助 – AI 助手可通过调试器桥接连接到运行中的进程,逐步执行代码,并实时查询 P-code 状态。
- 跨版本知识共享 – 基于哈希的文档传播可让您在相同产品的多个版本间保持注释同步。
项目健康指标(来自徽章)
- 测试 – 每次推送都会运行 CI。
- 发布 – 发布版本化发布。
- OpenSSF Scorecard – 安全审计评分公开可见。
- 活跃社区 – 提供讨论、问题追踪器和赞助选项。
简而言之: ghidra‑mcp 是一个真实、持续维护的桥梁,将 Ghidra 转变为可编程的 AI 友好服务。它正处于 AI 增强逆向工程和自动化二进制分析的前沿技术领域。
相关
- 项目
- 项目
- 项目
- 项目
- 项目