SuperAPI AI 工具集

GhidraMCP

GhidraMCP 是一个基于 Socket 的 Ghidra 扩展插件,通过模型上下文协议(MCP)向 AI 助手暴露 70 个逆向工程工具。在 Ghidra 中打开二进制文件并启用该插件后,Claude 等 MCP 客户端即可对函数进行反编译、重命名符号、添加代码注释、搜索漏洞等操作。插件由 Java 编写,在 Ghidra 内启动 TCP 服务器并自动拉起 Go 桥接程序;桥接程序通过 stdio 与 AI 客户端进行 MCP 通信,再以带 4 字节长度前缀的 JSON-RPC 帧格式转发到本地 TCP 套接字。支持可选的 API 密钥认证以保护 TCP 通道,并兼容多实例、异步反编译、结果分页与连接自动重试。

访问官网

工具介绍

GhidraMCP 是一个面向 Ghidra 的扩展插件,通过模型上下文协议(MCP)向 AI 助手提供 70 个逆向工程工具,让 AI 客户端能够参与二进制分析工作。它采用 Java 插件与 Go 桥接程序组合的架构:Java 插件在 Ghidra 内部启动一个 TCP 服务器,并自动启动 Go 桥接二进制文件;桥接程序通过 stdio 与 AI 客户端进行 MCP 通信,再将调用以带 4 字节长度前缀的 JSON-RPC 帧格式转发到本地 TCP 套接字。可选 API 密钥认证用于保护 TCP 通道,默认仅绑定 localhost,适合本地单用户使用。

工具能力覆盖查询、修改、分析、恶意软件分诊、IoT/嵌入式安全、结构管理、异步反编译以及多实例支持等多个类别。所有工具均接受可选的 target_port 参数,用于将调用路由到指定的 Ghidra 实例,因此可以同时在多个 Ghidra 窗口中处理不同二进制文件。异步反编译适用于可能需要 30 秒以上才能完成的大型函数,客户端可先发起反编译,继续其他工作后再轮询结果。对于函数、字符串、导入等大型结果集,支持 offset / limit 进行分页,以便安全地增量获取。

使用方式方面:需要准备一个兼容 MCP 的 AI 客户端(如 Claude Desktop、Claude Code 等),从 Releases 下载最新发布 ZIP 包;在 Ghidra 中通过 File > Install Extensions > “+” 选择该 ZIP 安装;打开项目与二进制程序后,在 File > Configure > GhidraMCP 中勾选 MCPServerPlugin;插件会自动启动 TCP 服务器(默认 localhost:8765)并启动桥接程序。配置 Claude Desktop 时,可在 MCP > Settings 中点击 Write to Claude Config;其他 MCP 客户端可点击 Copy to Clipboard 并添加到客户端配置。若设置了 API 密钥,需要将其包含在 env 块中(插件会自动处理)。也可在 Ghidra 中通过 MCP > Copy MCP Config 获取配置片段。完整工具参考(含参数、类型与示例)见 TOOLS.md。

设置存储在 Ghidra 用户设置目录下的 GhidraMCP.properties 文件中,也可通过 MCP > Settings 图形界面配置端口、localhost 绑定、API 密钥、自动启动以及桥接启用/禁用等。对话框提供 Generate 按钮生成 32 字符随机 API 密钥,提供 Write to Claude Config 将 GhidraMCP 合并进 Claude Desktop 的 claude_desktop_config.json,以及 Copy to Clipboard 复制 MCP 配置 JSON 片段。若在服务运行时保存,会提示是否自动重启。当 auto_start 为 false 时,可从 MCP > Toggle Server 手动启动服务器。bridge_enabled 设置面向高级场景(如调试桥接程序或使用直接与 Java 服务器 TCP 通信的自定义 MCP 客户端),多数用户应保持启用。

安全方面,默认 TCP 服务器仅绑定 localhost 且无 API 密钥。更严格的配置可启用 API 密钥认证:在 MCP > Settings 中生成或输入密钥并保存,桥接程序会在连接时先发送 authenticate 请求,服务器在认证成功前拒绝所有非认证请求,连续 3 次失败则终止连接。API 密钥通过 GHIDRA_API_KEY 环境变量传递而非命令行参数,以防在进程参数列表中泄露。localhost_only 为 true(默认)时服务器仅接受 127.0.0.1 的连接;若需远程访问(例如 Ghidra 运行在无头服务器上而 AI 客户端在另一台机器),可取消勾选并务必使用 API 密钥。远程/无头场景下,需在远程机器上将 MCP 客户端指向 Ghidra 主机。

项目支持从源码构建:分别构建 Go 桥接程序与 Ghidra 扩展,扩展 ZIP 会生成在 dist/ 目录。项目使用 GitHub Actions 进行自动化构建与发布:build.yml 在推送、PR 或打标签时运行 Go 测试、为 4 个平台交叉编译桥接程序、在 Xvfb 下运行 Java 单元测试与 Ghidra 集成测试、构建扩展 ZIP,并在 v* 标签时创建 GitHub Releases;check-ghidra-release.yml 每日运行,检测新的 Ghidra 版本、提交版本升级 PR、通过 GitHub App 自动批准,并在测试通过后自动合并。许可证为 Apache License 2.0。GhidraMCP 与 NSA 或 Ghidra 项目无隶属或背书关系。项目欢迎贡献,可提交 issue 或 pull request。