集成
Ghidra Headless MCP
仅以无界面方式运行的 MCP 服务器,通过 PyGhidra 驱动 Ghidra,设计为与智能体运行在同一容器中,而不是连接 Ghidra 图形界面。其 34 组共 212 个工具涵盖程序与项目生命周期、反汇编、反编译与 P-code、补丁与内存修改、符号、引用、类型与结构布局、搜索和图提取,其他需求可通过直接执行 Python、调用 Java API 或运行脚本完成。程序默认以只读方式打开,修改在支持撤销与重做的事务中进行;伪后端让开发和 CI 无需安装 Ghidra 即可运行,ghidra_cli 客户端则把同一套工具提供给不使用 MCP 的命令行和智能体。
- 目标
- 二进制
- 类别
- 独立 MCP 集成
- 关联
- 独立智能体集成
- 来源复核于
使用条件与局限
- 所审阅的 main 提交(2026-09-16)标为 0.1.0 版,没有标签或发行版;更新日志把所有改动都列在 Unreleased 下,RELEASING.md 称源码发行版只发布到 GitHub、不发布到 PyPI,并要求在选定许可证之前不要创建公开发行标签。需从检出的源码用 pip 安装。README 称代码、测试和文档全部是“vibe coding”写成的。
- 需要 Python 3.11+、pyghidra 3.0.2+,以及通过 GHIDRA_INSTALL_DIR 或 --ghidra-install-dir 指定的本地 Ghidra 安装;README 未注明最低 Ghidra 版本。MCP 可经 stdio 或 TCP 运行,README 给出了 Claude Code、Codex 和通用 MCP 主机的配置示例,以及一个在智能体旁安装 Ghidra 的 Kali 基础 Dockerfile 示例。调试器、Version Tracking、FID、BSim 和模拟器相关工作流被列为尚未提供。
- ghidra.eval、ghidra.call 和 ghidra.script 会在 Ghidra 运行时中执行任意 Python、Java 代码和脚本,两种传输方式均无身份验证;TCP 服务器只绑定 127.0.0.1,README 要求仅在受信任的容器化环境中使用。只读会话可保护程序状态,但不会隔离文件系统或进程访问。
- 仓库在 samples/ 中附带一个已剥离符号的 AArch64 GNU coreutils ls 可执行文件,作为功能模糊测试器的默认目标,另有一个小型已编译的 hello 测试样本及其 C 源码。README 称 CI 还会运行真实 Ghidra 测试和 wheel 检查,但所审阅的工作流只运行 Ruff 和基于伪后端的非真实环境 pytest 测试。本次审阅阅读了源码和文档,未运行该服务器。
- GitHub 依据初始提交中加入的 LICENSE 文件识别为 GPL-2.0,而 README 和 RELEASING.md 仍视许可证为尚未选定,pyproject.toml 也未声明许可证。所审来源未确立与 REA 的关联。
关于此条目
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · mrphrazer/ghidra-headless-mcp · 修订 307b461
- FEATURE_SUPPORT.md GitHub · mrphrazer/ghidra-headless-mcp · 修订 307b461
- CHANGELOG.md GitHub · mrphrazer/ghidra-headless-mcp · 修订 307b461
- RELEASING.md GitHub · mrphrazer/ghidra-headless-mcp · 修订 307b461
- pyproject.toml GitHub · mrphrazer/ghidra-headless-mcp · 修订 307b461
- .github/workflows/ci.yml GitHub · mrphrazer/ghidra-headless-mcp · 修订 307b461
- LICENSE GitHub · mrphrazer/ghidra-headless-mcp · 修订 307b461
- ghidra_headless_mcp/_version.py GitHub · mrphrazer/ghidra-headless-mcp · 修订 307b461
- samples GitHub · mrphrazer/ghidra-headless-mcp · 修订 307b461
- tests/fixtures GitHub · mrphrazer/ghidra-headless-mcp · 修订 307b461