Ghidra MCP桥接工具

一个基于PyGhidra的MCP桥接工具,运行在Ghidra 12.0+环境中,将Ghidra的反向工程能力暴露给AI代理。

  • by Hao17
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Hao17/LiteGhidraMCP

使用说明

Ghidra MCP桥

英语| 简体中文

版本:该分支针对Ghidra 12.0+(PyGhidra)。Ghidra 11.x用户→ ghidra-11-ghidrathon 分支或 v1.0-ghidrathon 标签。

基于PyGhidra的MCP(模型上下文协议)桥在Ghidra 12.0+内部运行,将Ghidra逆向工程的能力暴露给AI代理。

亮点

  • 7个MCP工具 --单条目,模式分派到50多个API。没有工具蔓延。
  • 版本控制+AI/人工协作 --多个AI代理和人类通过Ghidra服务器在同一个二进制文件上工作,并具有完整的版本历史记录。
  • 多二进制交叉分析 --在一个项目中针对不同的二进制文件启动多个客户端。非常适合VMP解包、DLL-EXE交互跟踪和多模块固件。
  • AI友好 --安装该技能,让Claude Code/Code启动服务器,导入二进制文件,配置MCP,并开始分析。

快速开始

让AI来做⭐ (推荐)

# Install the gmcp CLI
git clone https://github.com/Hao17/LiteGhidraMCP.git && cd LiteGhidraMCP
pip install -e .

# Install the skill into your analysis project (`-d` = your project dir, where AI will run)
cd /path/to/your/project
gmcp install -d . skill claude-code   # or: codex / cursor

然后告诉你的AI: “帮助我分析~/Downloads/firmware.bin” --这项技能教它剩下的。

码头工人

pip install -e .                                # installs the `gmcp` CLI
gmcp server up                                  # first run prompts admin registration
gmcp server repo create test                    # admin-owned: clients can't create repos
gmcp client start 1 --repo test --binary-file ~/firmware.bin
gmcp install mcp claude-code                    # or: claude-desktop / coco

gmcp client start 打印要使用的端点——将它们复制到MCP客户端配置中:

✓ Client 1 started
  User:    u-a1b2c3d4e5f6 (ephemeral)
  Repo:    test
  Binary:  firmware.bin
  HTTP:    http://localhost:8803
  MCP SSE: http://localhost:8804/sse

GUI模式(无Docker)

直接在Ghidra中运行脚本:

  1. 使用PyGhidra启动: <ghidra_install>/support/pyghidraRun
  2. 安装桥接器 进入PyGhidra venv (不是系统Python):
    ~/Library/ghidra/ghidra_<VERSION>_PUBLIC/venv/bin/python3 -m pip install -r requirements.txt
    
  3. 在吉德拉→ 脚本管理器→ 将此仓库添加到脚本目录→ run ghidra_mcp_server.py

如果你看到 MCP proxy failed to start + ModuleNotFoundError: No module named 'mcp',步骤2打错了Python。


MCP工具

工具 说明
吉德拉概述 二进制调查——元数据、内存布局、关键函数、导入/导出、字符串
吉德拉研究 搜索函数、符号、字符串、交叉引用、字节、指令
ghidra_视图 反编译/反汇编/内存查看
ghidra_list 符号列表浏览(函数、类、导入、导出等)
ghidra_编辑 重命名、设置数据类型、添加注释(支持批量)
ghidraexec 使用完整的Ghidra API访问权限执行自定义Python/Java脚本
ghidra版本 版本日志/回滚/还原(仅服务器模式)

有关基本的HTTP API(50多条路由),请参阅 CLAUDE.md.


文档