AI个人学习
和实操指南
豆包Marscode1

GhidraMCP:连接AI与Ghidra的逆向工程工具

综合介绍

GhidraMCP 是一个开源工具,核心目标是把人工智能(AI)与 Ghidra 这个强大的逆向工程软件结合起来。它通过 Model Context Protocol(简称 MCP)协议,让大型语言模型(LLM)能够直接操作 Ghidra,自动化处理二进制文件的分析任务。这个工具由 LaurieWired 在 GitHub 上开发,发布于 2025 年 3 月。它适合安全研究人员、程序员或对逆向工程感兴趣的用户使用。GhidraMCP 的出现,让原本复杂的手动分析变得更高效,尤其是针对恶意软件分析和漏洞发现等场景。

GhidraMCP:连接AI与Ghidra的逆向工程工具-1


 

功能列表

  • 自动化逆向工程:通过 AI 控制 Ghidra,自动分析二进制文件。
  • 方法和数据重命名:识别代码中的方法和数据,自动生成更易读的名称。
  • 二进制文件解析:列出文件的函数、类、导入和导出信息。
  • 恶意软件分析支持:帮助发现潜在的安全漏洞和恶意行为。
  • 支持多种 MCP 客户端:兼容 Claude Desktop、5ire 等客户端。
  • 开源可定制:用户可以根据需要修改代码或扩展功能。

 

使用帮助

安装流程

GhidraMCP 需要配合 Ghidra 和 MCP 客户端使用。以下是详细的安装步骤:

  1. 准备环境
    • 确保已安装 Ghidra。Ghidra 是由美国国家安全局(NSA)开发的开源逆向工程工具,可从 Ghidra 官网 下载。
    • 安装 Python 环境,推荐使用 Python 3.8 或更高版本,因为部分脚本依赖 Python。
    • 下载 GhidraMCP。从 GitHub 仓库 点击 "Releases",获取最新版本的 ZIP 文件。
  2. 安装 Ghidra 插件
    • 解压下载的 GhidraMCP ZIP 文件,找到插件文件(通常是 .zip 格式)。
    • 打开 Ghidra,进入菜单 File -> Install Extensions
    • 点击 "+" 按钮,选择解压后的插件文件,确认后重启 Ghidra。
    • 插件安装完成后,GhidraMCP 的功能会自动集成到 Ghidra 中。
  3. 配置 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 下载包中。
    • 5ire 配置
      • 打开 5ire,进入 Tools -> New
      • 在设置中输入 GhidraMCP 的路径和参数,保存配置。
    • 配置完成后,启动客户端,AI 就能通过 MCP 协议与 Ghidra 通信。
  4. 验证安装
    • 打开 Ghidra,加载一个二进制文件(比如 .exe 或 .bin)。
    • 在 MCP 客户端中输入指令,比如“分析这个文件的所有函数”。如果返回结果正常,说明安装成功。

主要功能操作

  • 自动化分析二进制文件
    • 在 Ghidra 中打开目标文件后,切换到 MCP 客户端。
    • 输入自然语言指令,例如“列出所有函数并重命名”。AI 会自动调用 Ghidra 的功能,分析文件并返回结果。
    • 结果会显示在客户端界面,通常包括函数列表和自动生成的新名称。
  • 重命名方法和数据
    • 在客户端输入“重命名所有未命名函数”。AI 会根据上下文猜测函数用途,并给出更直观的名称。
    • 如果需要手动调整,重命名后的结果会同步到 Ghidra 的代码视图。
  • 恶意软件分析
    • 加载恶意软件样本后,输入“检查潜在漏洞”或“查找恶意行为”。
    • AI 会扫描文件的导入表、字符串和调用关系,返回可能的安全问题,比如可疑的网络请求或文件操作。

操作流程

  1. 启动 Ghidra 和 MCP 客户端。
  2. 在 Ghidra 中导入二进制文件,点击“Analyze”开始初步解析。
  3. 切换到 MCP 客户端,输入分析指令,比如“提取所有字符串”或“分析函数调用”。
  4. 查看返回结果,根据需要调整指令或手动检查细节。
  5. 保存分析结果,Ghidra 支持导出为项目文件,方便后续使用。

注意事项

  • 确保网络畅通,部分 AI 模型需要在线调用。
  • 如果遇到错误,检查 bridge_mcp_ghidra.py 的路径是否正确,或查看 GitHub 上的 Issues 页面寻求帮助。
  • 对于大型文件,分析可能需要更多时间,建议先测试小型样本。

 

应用场景

  1. 恶意软件研究
    安全研究人员可以用 GhidraMCP 快速分析病毒或木马,找出恶意代码的执行逻辑和隐藏功能。
  2. 软件漏洞挖掘
    开发者可以用它检查二进制文件,寻找潜在的安全漏洞,比如缓冲区溢出或未授权访问。
  3. 学习逆向工程
    新手可以通过 AI 辅助,快速理解二进制文件的结构和功能,降低学习门槛。

 

QA

  1. GhidraMCP 支持哪些操作系统?
    它兼容 Ghidra 支持的所有系统,包括 Windows、Mac 和 Linux。
  2. 需要编程经验吗?
    不需要。安装和基本使用只需按步骤操作。但如果想定制功能,懂 Java 或 Python 会更有优势。
  3. 可以离线使用吗?
    可以,但部分 AI 模型需要联网。如果用本地模型,就能完全离线运行。
未经允许不得转载:首席AI分享圈 » GhidraMCP:连接AI与Ghidra的逆向工程工具
zh_CN简体中文