Repolode
bethington

bethington/ghidra-mcp

让 AI 助手通过 MCP 调用 Ghidra 做逆向分析的服务器,提供 200 多个工具。

Star
5,821
Fork
347
未关闭 Issue
33
最近提交
5天前

这是什么?

GhidraMCP 是一个 MCP(Model Context Protocol)服务器,把 Ghidra 的逆向分析能力接入 AI 助手和自动化工具。它提供 200 多个工具,覆盖反编译、调用图、交叉引用、数据类型与结构体、字符串和导入表分析,并支持重命名、设置类型、添加注释等写操作。既可以作为 Ghidra GUI 插件运行,也可以以无界面的 headless 服务器方式运行,便于脚本化和 Docker 部署。

除静态分析外,项目还支持对单个函数进行 P-code 模拟执行,基于 Ghidra TraceRmi 框架的实时调试器集成,以及从指定变量或寄存器出发的 P-code 数据流追踪。通过函数哈希匹配,可以把已有文档迁移到另一个版本的二进制文件上。工具默认按需加载,避免一次性塞满 MCP 客户端;脚本执行功能需要显式开启。

项目要求 Ghidra 12.1.4 和 Java 21,Python 桥接程序可通过 uv 或 pip 安装。

核心功能

  • 01提供 200 多个 MCP 工具,涵盖反编译、交叉引用和调用图分析。
  • 02支持重命名、重新设置类型、添加注释和创建结构体等写操作。
  • 03既可作为 Ghidra GUI 插件运行,也可以 headless 服务器方式运行,支持 Docker。
  • 04支持对单个函数进行 P-code 模拟执行,以及基于 P-code 的数据流追踪。
  • 05通过 Ghidra TraceRmi 框架集成实时调试器。
  • 06基于 SHA-256 函数哈希,在不同版本的二进制文件之间迁移函数文档。

适用场景

  • 让 AI 助手逐步分析无符号的二进制文件,为函数命名并补充文档。
  • 在多次分析会话中,按统一命名规范批量标注大型程序。
  • 借助函数哈希匹配,把分析成果从二进制的旧版本迁移到新版本。
  • 在 CI 或 Docker 流水线中无界面地运行自动化 Ghidra 分析。

快速上手

  1. 1

    安装前置条件:Ghidra 12.1.4、Java 21 和 uv

  2. 2

    在 Ghidra 中通过 File > Install Extensions 安装 GhidraMCP 扩展 zip 包,然后重启 Ghidra

  3. 3

    使用 uv 从发行版 wheel 安装 MCP 桥接器

    uv tool install https://github.com/bethington/ghidra-mcp/releases/download/v7.0.0/ghidra_mcp_bridge-7.0.0-py3-none-any.whl
  4. 4

    在 MCP 客户端中使用桥接器的绝对路径进行配置

使用前须知

  • Ghidra 扩展只能在其构建所针对的确切版本 12.1.4 中加载。
  • 需要 Java 21,并且要运行已启用 GhidraMCP 插件的 Ghidra 实例。
  • main 分支和候选版本处于测试阶段,dev 分支为实验性质,工具接口可能发生变化。
  • 实时调试器功能仅能通过 Ghidra 图形界面插件使用。

标签

常见问题

ghidra-mcp 是什么?
让 AI 助手通过 MCP 调用 Ghidra 做逆向分析的服务器,提供 200 多个工具。 GhidraMCP 是一个 MCP(Model Context Protocol)服务器,把 Ghidra 的逆向分析能力接入 AI 助手和自动化工具。它提供 200 多个工具,覆盖反编译、调用图、交叉引用、数据类型与结构体、字符串和导入表分析,并支持重命名、设置类型、添加注释等写操作。既可以作为 Ghidra GUI 插件运行,也可以以无界面的 headless 服务器方式运行,便于脚本化和 Docker 部署。
ghidra-mcp 可以免费使用吗?用的什么许可证?
ghidra-mcp 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
ghidra-mcp 还在维护吗?
活跃维护中。ghidra-mcp 最近一次提交是在 2026年10月16日。
ghidra-mcp 适合用来做什么?
让 AI 助手逐步分析无符号的二进制文件,为函数命名并补充文档。 在多次分析会话中,按统一命名规范批量标注大型程序。 借助函数哈希匹配,把分析成果从二进制的旧版本迁移到新版本。 在 CI 或 Docker 流水线中无界面地运行自动化 Ghidra 分析。
ghidra-mcp 怎么安装和运行?
安装前置条件:Ghidra 12.1.4、Java 21 和 uv 在 Ghidra 中通过 File > Install Extensions 安装 GhidraMCP 扩展 zip 包,然后重启 Ghidra 使用 uv 从发行版 wheel 安装 MCP 桥接器: uv tool install https://github.com/bethington/ghidra-mcp/releases/download/v7.0.0/ghidra_mcp_bridge-7.0.0-py3-none-any.whl 在 MCP 客户端中使用桥接器的绝对路径进行配置
在哪里获取 ghidra-mcp?
源代码和安装说明在 GitHub 上:https://github.com/bethington/ghidra-mcp

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目