集成
GhidrAssistMCP Ghidra 原生 MCP 扩展
在 Ghidra 内运行 MCP 服务器的 Ghidra 扩展,通过 streamable HTTP 和旧版 SSE 提供 100 个名称明确的工具(默认启用 93 个),涵盖伪代码、反汇编、P-code、控制流图与调用图、交叉引用、字符串、导入表和导出表,以及重命名、修改类型、注释和结构体推断。自 3.0.0 版起,服务器随项目管理器一同启动,智能体在 CodeBrowser 尚未打开时即可创建、打开、保存和关闭项目并打开程序;同一个共享服务器会跟踪当前获得焦点的 CodeBrowser 窗口。扩展另附六个程序资源模板、七个分析提示词,以及在 analyzeHeadless 下运行服务器的脚本。
使用条件与局限
- 需要运行在 Java 25 或更新版本上的 Ghidra 12.0 或 12.1 Public;扩展 zip 与特定 Ghidra 版本对应。3.0.0 版(2026-10-09)的标签即所审阅的提交,该版本发布了适用于 Ghidra 12.1 的 zip;可通过 File → Install Extensions 安装,从源码构建则使用随附的 Gradle wrapper,并需要 Java 25 和 GHIDRA_INSTALL_DIR。服务器默认监听 localhost:8080,streamable HTTP 端点为 /mcp(MCP 2025-11-25),旧版 SSE 端点为 /sse(2024-11-05);Java MCP SDK 2.0.1、Jetty 和 Jackson 以私有包名打包在扩展内。
- 待分析的程序来自用户自己的 Ghidra 项目或导入的文件,扩展本身不提供任何目标二进制。无界面模式在 analyzeHeadless 中运行随附的 GAMCPStartServerScript.java,作用于已加载的程序;设置 wait=true 可保持会话不退出,completion_file 选项则用于结束会话。项目生命周期类工具需要图形界面的项目管理器。
- 写入类工具会修改程序或项目,包括名称、类型、注释、结构体、反汇编、分析选项和保存操作;读写两类工具分别带有对应的 MCP 标注。import_file、export_program 和五个 Ghidra 脚本工具默认禁用;无界面模式下的 agent_lab 配置会开放沙箱内的程序导出,任意路径导入和脚本仍保持禁用。README 未说明任何客户端认证机制;服务器会拒绝 Origin 请求头不在允许范围内的浏览器请求。
- 项目的现代化评审文档称,在 Ghidra 12.0 和 12.1 上运行 buildExtension test 均通过 90 项测试,并记录了 2026-10-09 在 Ghidra 12.1 上的一次实机冒烟测试,而四个项目控制工具是在该测试之后加入的;以上均为项目自报结果。采用 MIT 许可。仓库已从 jtang613/GhidrAssistMCP 迁移,README 推荐作者自己的 GhidrAssist 客户端。本次未运行扩展、服务器或任何分析,所审来源也未确立与 REA 的关联。
关于此条目
- 类型
- 集成
- 类别
- 独立 MCP 集成
- 关联
- 独立智能体集成
- 目标
- 二进制
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · symgraph/GhidrAssistMCP · 修订 b575acc
- docs/modernization-review.md GitHub · symgraph/GhidrAssistMCP · 修订 b575acc
- build.gradle GitHub · symgraph/GhidrAssistMCP · 修订 b575acc
- src/main/java/ghidrassistmcp/GhidrAssistMCPServer.java GitHub · symgraph/GhidrAssistMCP · 修订 b575acc
- ghidra_scripts/GAMCPStartServerScript.java GitHub · symgraph/GhidrAssistMCP · 修订 b575acc
- LICENSE GitHub · symgraph/GhidrAssistMCP · 修订 b575acc
- https://github.com/symgraph/GhidrAssistMCP/releases/tag/3.0.0