项目简介
GhidraMCP Bridge 是一个 Ghidra 插件,它实现了 Model Context Protocol (MCP) 服务器,旨在桥接 Ghidra 强大的逆向工程能力和 AI 助手。通过这个插件,AI 模型可以连接到 Ghidra 并协助进行二进制分析任务,从而提高逆向工程的效率和可访问性。
主要功能点:
- AI 驱动的二进制分析: 通过 Model Context Protocol (MCP) 将 AI 助手连接到 Ghidra。
- 自然语言交互: 使用自然语言提问关于二进制文件的问题。
- 代码深度洞察: 检索详细的函数信息和反编译代码。
- 二进制结构分析: 探索导入、导出和内存布局。
- 自动化安全分析: 获取 AI 辅助的关于潜在安全漏洞的见解。
- 跨平台兼容性: 在 Ghidra 支持的所有平台上工作。
安装步骤:
- 前提条件:
- Ghidra 11.0 或更高版本
- Java 17 或更高版本
- Python 3.8+ (用于桥接脚本)
- 下载插件:
- 从 Releases 页面下载最新版本的 ZIP 文件。
- 安装插件:
- 打开 Ghidra。
- 导航到 'File > Install Extensions'。
- 点击 "+" 按钮并选择下载的 ZIP 文件。
- 重启 Ghidra 以完成安装。
- 启用插件:
- 前往 'File > Configure > Miscellaneous' 并勾选 "MCPServerPlugin" 旁边的复选框以启用插件。
服务器配置:
MCP 服务器插件在 Ghidra 启动时自动运行。为了让 MCP 客户端(例如 Claude)连接到 GhidraMCP 服务器,您需要配置客户端的 MCP 设置。以下是一个连接到 GhidraMCP 的 Claude 客户端配置示例:
{ "mcpServers": { "ghidra": { "command": "python", "args": ["PATH-TO-REPO/GhidraMCP/ghidra_server.py"] // 请将 "PATH-TO-REPO/GhidraMCP/ghidra_server.py" 替换为 ghidra_server.py 脚本的实际路径 } } }
配置参数说明:
- server name: 'ghidra' (服务器名称,可以自定义)
- command: 'python' (启动桥接脚本的命令,假设您的 Python 环境已配置好)
- args: '["PATH-TO-REPO/GhidraMCP/ghidra_server.py"]' (启动桥接脚本的参数,指向 'ghidra_server.py' 脚本的路径)
基本使用方法:
- 启动 Ghidra 和 MCP 服务器: 启用 GhidraMCP 插件后,当您打开 Ghidra 项目时,MCP 服务器会自动启动。您可以在 Ghidra 控制台中看到类似 "MCP Server started on port 8765" 的消息来确认服务器已启动。
- 启动桥接脚本: 根据 Claude 客户端配置,启动 'ghidra_server.py' 桥接脚本。
python PATH-TO-REPO/GhidraMCP/ghidra_server.py - 连接 AI 助手: 配置并启动您的 MCP 客户端(例如 Claude),客户端将通过桥接脚本与 GhidraMCP 服务器通信。
- 使用自然语言提问: 在 AI 助手中使用自然语言向 Ghidra 提出关于已加载二进制文件的问题,例如:
- "这个二进制文件使用了哪些加密算法?"
- "能否显示地址 0x401000 处函数的反编译代码?"
- "这个恶意软件发出了哪些可疑的 API 调用?"
更多信息:
- 默认情况下,GhidraMCP 服务器运行在 'localhost:8765'。
- 您可以通过修改 'MCPServerPlugin.java' 文件来自定义服务器端口。
- 您可以通过 'ghidra_server.py' 脚本中定义的工具和资源与 Ghidra 进行交互。
信息
分类
开发者工具