GhidraMCP:让AI大模型能够自主操作Ghidra进行逆向工程的开源项目
GhidraMCP 是什么?
GhidraMCP是一个通过MCP 协议,让 ai 大模型(如 Claude)能够自主操 Ghidra 进行逆向工程的开源项目。它将 Ghidra 的核心功能暴露给 MCP 客户端,支持反编译、分析二进制文件、自动重命名方法和数据,以及列出方法、类、导入和导出表。
GhidraMCP功能特征
反编译与分析:支持在 Ghidra 中反编译和分析二进制文件,生成可读性强的伪代码。
自动化重命名:基于语义分析自动标注方法名、类结构及数据变量,提升代码可读性。
结构化信息提取:批量导出程序的函数列表、类定义、导入/导出表等元数据。
多客户端兼容:支持所有符合 MCP 协议的客户端,如 Claude Desktop 和 5ire。
GhidraMCP应用场景
恶意软件分析:自动识别样本中的可疑 API 调用链,生成带注释的反编译报告,提升分析效率。
固件漏洞挖掘:结合多模型调度能力,提取函数表、识别潜在漏洞点并生成验证脚本。
软件逆向工程:辅助理解复杂软件的逻辑结构,降低逆向工程的难度。
技术架构
Python 脚本桥接:bridge_mcp_ghidra.py 脚本解析 AI 指令,通过 Socket 通信调用 Ghidra 插件。
Ghidra 插件:GhidraMCPPlugin 监听指令并调用 Ghidra 的 Java API 执行反编译、符号分析等操作。
GhidraMCP使用方法
1. 安装 Ghidra 插件:
下载最新版本的 GhidraMCP 发布包。
启动 Ghidra,选择 File -> Install Extensions,导入下载的 ZIP 文件。
重启 Ghidra,确保插件已启用。
2. 配置 MCP 客户端:
Claude Desktop:编辑配置文件 claude_desktop_config.json,添加 GhidraMCP 的服务配置。
5ire:在客户端中设置工具配置,指定 Tool Key、Name 和 Command。
3. 运行与使用:
启动客户端后,即可通过自然语言与 AI 交互,调用 Ghidra 的功能进行逆向分析。
GhidraMCP GitHub:https://github.com/LaurieWired/GhidraMCP