综合介绍
GhidraMCP 是一个开源工具,核心目标是把人工智能(AI)与 Ghidra 这个强大的逆向工程软件结合起来。它通过 Model Context Protocol(简称 MCP)协议,让大型语言模型(LLM)能够直接操作 Ghidra,自动化处理二进制文件的分析任务。这个工具由 LaurieWired 在 GitHub 上开发,发布于 2025 年 3 月。它适合安全研究人员、程序员或对逆向工程感兴趣的用户使用。GhidraMCP 的出现,让原本复杂的手动分析变得更高效,尤其是针对恶意软件分析和漏洞发现等场景。
功能列表
- 自动化逆向工程:通过 AI 控制 Ghidra,自动分析二进制文件。
- 方法和数据重命名:识别代码中的方法和数据,自动生成更易读的名称。
- 二进制文件解析:列出文件的函数、类、导入和导出信息。
- 恶意软件分析支持:帮助发现潜在的安全漏洞和恶意行为。
- 支持多种 MCP 客户端:兼容 Claude Desktop、5ire 等客户端。
- 开源可定制:用户可以根据需要修改代码或扩展功能。
使用帮助
安装流程
GhidraMCP 需要配合 Ghidra 和 MCP 客户端使用。以下是详细的安装步骤:
- 准备环境
- 确保已安装 Ghidra。Ghidra 是由美国国家安全局(NSA)开发的开源逆向工程工具,可从 Ghidra 官网 下载。
- 安装 Python 环境,推荐使用 Python 3.8 或更高版本,因为部分脚本依赖 Python。
- 下载 GhidraMCP。从 GitHub 仓库 点击 "Releases",获取最新版本的 ZIP 文件。
- 安装 Ghidra 插件
- 解压下载的 GhidraMCP ZIP 文件,找到插件文件(通常是
.zip
格式)。 - 打开 Ghidra,进入菜单
File -> Install Extensions
。 - 点击 "+" 按钮,选择解压后的插件文件,确认后重启 Ghidra。
- 插件安装完成后,GhidraMCP 的功能会自动集成到 Ghidra 中。
- 解压下载的 GhidraMCP ZIP 文件,找到插件文件(通常是
- 配置 MCP 客户端
GhidraMCP 需要一个 MCP 客户端来连接 AI。以下以 Claude Desktop 和 5ire 为例:- Claude Desktop 配置
- 打开 Claude Desktop,进入
Settings -> Developer -> Edit Config
。 - 编辑配置文件
claude_desktop_config.json
,添加以下内容:{ "mcpServers": { "ghidra": { "command": "python", "args": ["/你的绝对路径/bridge_mcp_ghidra.py"] } } }
- 确保
bridge_mcp_ghidra.py
文件路径正确,这个文件在 GhidraMCP 下载包中。
- 打开 Claude Desktop,进入
- 5ire 配置
- 打开 5ire,进入
Tools -> New
。 - 在设置中输入 GhidraMCP 的路径和参数,保存配置。
- 打开 5ire,进入
- 配置完成后,启动客户端,AI 就能通过 MCP 协议与 Ghidra 通信。
- Claude Desktop 配置
- 验证安装
- 打开 Ghidra,加载一个二进制文件(比如
.exe
或.bin
)。 - 在 MCP 客户端中输入指令,比如“分析这个文件的所有函数”。如果返回结果正常,说明安装成功。
- 打开 Ghidra,加载一个二进制文件(比如
主要功能操作
- 自动化分析二进制文件
- 在 Ghidra 中打开目标文件后,切换到 MCP 客户端。
- 输入自然语言指令,例如“列出所有函数并重命名”。AI 会自动调用 Ghidra 的功能,分析文件并返回结果。
- 结果会显示在客户端界面,通常包括函数列表和自动生成的新名称。
- 重命名方法和数据
- 在客户端输入“重命名所有未命名函数”。AI 会根据上下文猜测函数用途,并给出更直观的名称。
- 如果需要手动调整,重命名后的结果会同步到 Ghidra 的代码视图。
- 恶意软件分析
- 加载恶意软件样本后,输入“检查潜在漏洞”或“查找恶意行为”。
- AI 会扫描文件的导入表、字符串和调用关系,返回可能的安全问题,比如可疑的网络请求或文件操作。
操作流程
- 启动 Ghidra 和 MCP 客户端。
- 在 Ghidra 中导入二进制文件,点击“Analyze”开始初步解析。
- 切换到 MCP 客户端,输入分析指令,比如“提取所有字符串”或“分析函数调用”。
- 查看返回结果,根据需要调整指令或手动检查细节。
- 保存分析结果,Ghidra 支持导出为项目文件,方便后续使用。
注意事项
- 确保网络畅通,部分 AI 模型需要在线调用。
- 如果遇到错误,检查
bridge_mcp_ghidra.py
的路径是否正确,或查看 GitHub 上的 Issues 页面寻求帮助。 - 对于大型文件,分析可能需要更多时间,建议先测试小型样本。
应用场景
- 恶意软件研究
安全研究人员可以用 GhidraMCP 快速分析病毒或木马,找出恶意代码的执行逻辑和隐藏功能。 - 软件漏洞挖掘
开发者可以用它检查二进制文件,寻找潜在的安全漏洞,比如缓冲区溢出或未授权访问。 - 学习逆向工程
新手可以通过 AI 辅助,快速理解二进制文件的结构和功能,降低学习门槛。
QA
- GhidraMCP 支持哪些操作系统?
它兼容 Ghidra 支持的所有系统,包括 Windows、Mac 和 Linux。 - 需要编程经验吗?
不需要。安装和基本使用只需按步骤操作。但如果想定制功能,懂 Java 或 Python 会更有优势。 - 可以离线使用吗?
可以,但部分 AI 模型需要联网。如果用本地模型,就能完全离线运行。