逆向二进制,最枯燥也最费时的是反复在 Ghidra 里点“反编译、看函数、查导入导出”。把 LLM 接进来做这件事,过去要自己写胶水把 Ghidra 的 API 暴露成工具。GhidraMCP 直接把这个桥接做成 MCP 服务器,让任何 MCP 客户端都能让模型自主反编译、分析、重命名符号。

项目基本信息

信息项详情
项目名称GhidraMCP
GitHub地址https://github.com/LaurieWired/GhidraMCP
项目描述让大语言模型通过 MCP 自主逆向工程的 Ghidra 服务器
作者LaurieWired
开源协议Apache License 2.0
开源状态公开
Languages—
支持平台Windows / macOS / Linux
最后更新2026-10-10

一、项目介绍

LaurieWired/GhidraMCP 是一个 MCP(Model Context Protocol)服务器,让 LLM 自主逆向工程,Apache-2.0 协议。它把 Ghidra 的核心能力(反编译、列出方法/类/导入/导出、自动重命名)暴露为 MCP 工具,并提供配套 Ghidra 插件与 Python MCP 客户端。支持 VS Code、Claude Code 等客户端,也支持无 GUI 的 headless 模式(用 PyGhidra 直接导入分析二进制)。

二、核心优势

  1. 原生 MCP:把 Ghidra 能力作为标准 MCP 工具暴露,任意客户端可用。
  2. 反编译分析:LLM 可自主反编译、列出符号、自动重命名。
  3. 多客户端:VS Code、Claude Code 等按标准 JSON 配置接入。
  4. Headless 模式:无需 Ghidra GUI,用 PyGhidra 直接分析二进制。
  5. 跨平台:基于 Java/Ghidra,Windows / macOS / Linux 均可运行。

三、适用场景

  • 让 LLM 辅助分析未知二进制与固件。
  • 在 VS Code/Claude Code 里把逆向能力当工具调用。
  • 自动化批量反编译与符号重命名。
  • 安全研究中的辅助逆向工作流。

四、安装教程

先装 Ghidra 12.1.4 与 uv,再从 Releases 下载插件导入 Ghidra:

# 在 Ghidra: File -> Install Extensions -> 选 GhidraMCP.zip -> 重启
uvx --from git+https://github.com/LaurieWired/GhidraMCP ghidra-mcp --ghidra-server http://127.0.0.1:8080/

常见报错:Ghidra 版本需匹配(12.1.4),否则插件加载失败;uvx 首次会拉取依赖,需联网。

五、使用示例

Claude Code 接入(一行):

claude mcp add ghidra -- uvx --from git+https://github.com/LaurieWired/GhidraMCP ghidra-mcp --ghidra-server http://127.0.0.1:8080/

VS Code(.vscode/mcp.json):

{
  "servers": {
    "ghidra": {
      "type": "stdio",
      "command": "uvx",
      "args": ["--from", "git+https://github.com/LaurieWired/GhidraMCP", "ghidra-mcp", "--ghidra-server", "http://127.0.0.1:8080/"]
    }
  }
}

真实效果:配置后,模型在客户端里调用 GhidraMCP 工具,对目标二进制反编译、列出导入导出、自动重命名方法——把“人肉点 Ghidra”变成“模型自主分析”。

六、常见问题

Q:一定要开 Ghidra GUI 吗?
A:不必,headless 模式用 PyGhidra 直接分析二进制。
Q:支持哪些客户端?
A:任意 MCP 客户端,如 VS Code、Claude Code。
Q:协议允许商用吗?
A:Apache-2.0,允许商用与修改,需保留版权与许可声明。

七、总结

GhidraMCP 用标准 MCP 把 Ghidra 的逆向能力暴露给任意 LLM 客户端,让“模型自主逆向”成为现实。对做安全研究与二进制分析、又想用上 AI 的团队,它是低摩擦的桥接层;Apache-2.0 协议,支持 headless。