Token导航 LogoToken导航

MCP Server · 开发工具

AI Ghidra Tools

一款将Ghidra二进制分析能力集成到Claude Code中的逆向工程插件,支持二进制分析、反编译、模式搜索等功能。

stdio官方级别未说明来源级核验工具 18
逆向工程PythonClaude代码分析

快速开始

作者 / 组织
Und3rf10w
提供方
Und3rf10w
运行时
Python

工具数量

18

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

3

仓库热度

收录来源

1 个

MCP World

选型结论

AI Ghidra Tools 属于开发工具类 MCP Server,公开资料标注 18 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

python3 -m venv .venv

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 18 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

Claude代码的Ghidra插件

全面的逆向工程集成,通过模型上下文协议(MCP)将Ghidra强大的二进制分析功能直接引入Claude代码。

概述

这个插件使Claude能够分析可执行文件、反编译函数、搜索模式、跟踪交叉引用,甚至模拟代码——所有这些都是通过自然语言对话实现的。它将Ghidra的无头分析器与Claude Code连接起来,使逆向工程任务更容易访问和高效。

关键能力

  • 二进制分析:导入和分析可执行文件、库和固件
  • 反编译:将程序集转换为可读的C伪代码
  • 反汇编:查看完整上下文的原始装配说明
  • 模式搜索:查找字节序列、字符串和签名
  • 参见项:在整个二进制文件中跟踪数据和代码引用
  • 控制流:分析基本块和调用图
  • 仿真:使用Ghidra的P-code仿真器执行代码
  • 标注:添加注释并重命名符号以记录调查结果

需求

  • 吉德拉 11.0+(用12.0.2测试)
  • python 3.9+
  • Java 17+(适用于Ghidra)
  • 克劳德代码 命令行界面

安装

1.安装Ghidra

从下载并提取Ghidra 官方发布.

# Example: Extract to ~/ghidra
unzip ghidra_12.0.2_PUBLIC.zip -d ~/

2.设置环境变量

# Add to your shell profile (~/.bashrc, ~/.zshrc, etc.)
export GHIDRA_INSTALL=~/ghidra_12.0.2_PUBLIC

3.安装插件

将插件克隆或复制到您的Claude Code插件目录:

# Clone the repository
git clone https://github.com/your-org/ghidra-claude-plugin.git

# Or copy to plugins directory
cp -r ghidra ~/.claude/plugins/

4.安装Python依赖项

cd ~/.claude/plugins/ghidra
python3 -m venv .venv
source .venv/bin/activate
pip install mcp httpx

5.验证安装

claude -p "analyze /bin/ls and list its functions"

配置

环境变量

变量描述默认值
GHIDRA_INSTALLGhidra安装路径~/ghidra_*_PUBLIC
GHIDRA_WORKSPACEGhidra项目目录~/.claude/ghidra-workspace

MCP服务器配置

插件的 .mcp.json 配置MCP服务器:

{
  "mcpServers": {
    "ghidra-mcp": {
      "command": "python3",
      "args": ["${CLAUDE_PLUGIN_ROOT}/servers/ghidra-mcp/server.py"],
      "env": {
        "GHIDRA_INSTALL": "${GHIDRA_INSTALL}",
        "GHIDRA_WORKSPACE": "${HOME}/.claude/ghidra-workspace"
      }
    }
  }
}

可用工具

分析与导航

工具说明
analyze_binary导入并分析二进制文件。返回元数据,包括架构、入口点和函数计数。 必须先打电话。
list_functions具有分页和筛选功能的列表函数。返回名称、地址、大小和签名。
get_symbols获取导入和导出的符号。显示外部依赖关系和导出。
list_classes列出C++/Objective-C类、vtable和方法。

反编译和反汇编

工具说明
decompile_function将函数分解为C伪代码。返回代码、签名和局部变量。
get_disassembly获取函数或地址范围的原始程序集。包括字节、助记符和操作数。
get_basic_blocks获取包含基本块、边和指令的控制流图。

搜索和参考

工具说明
search_strings在二进制文件中查找具有最小长度和模式过滤的字符串
search_bytes使用通配符支持搜索字节模式(例如。, 48 ?? 05).
get_xrefs获取地址的交叉引用。跟踪调用者、被调用者和数据引用。
get_call_graph获取调用者/被调用者树以了解函数关系。

内存和数据

工具说明
get_memory_map获取具有权限和地址的内存部分。
get_data_at_address读取和解释地址处的数据(字节、整数、指针、字符串)。

修改和注释

工具说明
rename_symbol重命名函数或符号。Ghidra项目的变化依然存在。
add_comment在地址处添加注释(EOL、前置、后置、印版、可重复)。
set_function_signature更新函数返回类型和参数。
patch_bytes修改地址处的字节以进行修补或实验。

高级

工具说明
emulate_function使用Ghidra的P-code仿真器和自定义寄存器/内存输入执行代码。

使用示例

基本分析

User: Analyze /bin/ls and show me its main function

Claude: [Calls analyze_binary, then decompile_function]
        Here's the decompiled main function...

发现漏洞

User: Search for strcpy calls in this binary

Claude: [Calls search_strings to find "strcpy", then get_xrefs]
        Found 3 calls to strcpy at addresses...

了解控制流

User: Show me the control flow graph for the authentication function

Claude: [Calls get_basic_blocks]
        The function has 12 basic blocks with the following structure...

图案狩猎

User: Find all instances of the byte pattern "48 89 e5" (mov rbp, rsp)

Claude: [Calls search_bytes]
        Found 47 matches, primarily at function prologues...

加密分析与仿真

User: Emulate the encrypt function with input "test"

Claude: [Calls emulate_function with memory setup]
        After 156 steps, RAX contains 0x7a3b2c1d...

项目结构

ghidra/
├── .claude-plugin/
│   └── plugin.json           # Plugin metadata
├── .mcp.json                  # MCP server configuration
├── servers/
│   └── ghidra-mcp/
│       ├── server.py         # MCP server implementation
│       └── ghidra_bridge.py  # Ghidra headless wrapper
├── ghidra_scripts/           # Jython scripts for Ghidra
│   ├── analyze_binary.py
│   ├── decompile_function.py
│   ├── get_disassembly.py
│   ├── search_bytes.py
│   ├── emulate_function.py
│   └── ... (18 scripts total)
├── commands/                 # Slash commands
│   ├── analyze.md
│   └── decompile.md
├── agents/                   # Specialized agents
│   └── reverse-engineer.md
├── skills/                   # Domain knowledge
│   └── ghidra-scripting/
├── tests/
│   └── test_ghidra_mcp.py   # Pytest test suite
└── README.md

发展

运行测试

cd ~/.claude/plugins/ghidra
source .venv/bin/activate
pip install pytest

# Run read-only tests
pytest -m "not write" -v

# Run all tests (includes write operations)
pytest -v

添加新工具

  1. 在中创建Jython脚本 ghidra_scripts/:
# @category Claude.MCP
# @runtime Jython

import json

def output_json(data):
    print("===JSON_START===")
    print(json.dumps(data))
    print("===JSON_END===")

def run():
    # Your implementation
    output_json({"status": "success", "data": result})

run()
  1. 在中添加包装器方法 ghidra_bridge.py
  2. 在中添加工具定义 server.py
  3. 在中添加测试 test_ghidra_mcp.py

调试

通过检查以下内容启用详细输出:

  • Ghidra日志: ~/Library/ghidra/ghidra_*/application.log
  • 脚本stdout:在bridge的 _parse_json_output

支持的体系结构

该插件支持Ghidra支持的所有架构,包括:

  • x86/x86-64(英特尔/AMD)
  • ARM/ARM64(AArch64)
  • MIPS/MIPS64
  • PowerPC
  • 学术出版与学术资源联盟
  • RISC-V
  • 68000(摩托罗拉)
  • 8051
  • 自动电压调节器
  • 20+更多

支持的文件格式

  • 可执行文件:ELF、PE/COFF、Mach-O
  • 图书馆:.so、.dll、.dylib
  • 固件:原始二进制文件、英特尔HEX、摩托罗拉S记录
  • 档案:.a、.lib
  • 其他:DEX(Android)、Java类文件、PDB符号

故障排除

“Ghidra analyze未找到无头”

确保 GHIDRA_INSTALL 指向您的Ghidra安装:

export GHIDRA_INSTALL=/path/to/ghidra_12.0.2_PUBLIC

“未加载程序”

呼叫 analyze_binary 在使用其他工具之前:

User: List functions in /bin/ls
Claude: I'll first analyze the binary, then list its functions.
        [Calls analyze_binary, then list_functions]

分析速度慢

大型二进制文件可能需要几分钟。使用 timeout 参数:

analyze_binary("/path/to/large_binary", timeout=900)  # 15 minutes

内存问题

通过在您的环境中设置来增加Ghidra的堆大小:

export GHIDRA_HEADLESS_MAXMEM=8G

安全注意事项

  • 此插件在二进制文件上执行Ghidra的无头分析器
  • 仅分析来自可信来源的二进制文件
  • 该插件在以下位置创建项目 ~/.claude/ghidra-workspace/
  • 补丁操作修改Ghidra项目,而不是原始二进制文件

工具与能力

工具数量

18

资源数量

0

提示词数量

0

能力标签

逆向工程Python本地部署二进制分析反编译代码分析安全研究

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 工具数量 18 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
AI Ghidra Tools

MCP World · 本页

18stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

AI Ghidra Tools 怎么安装?

公开资料给出的安装命令是 python3 -m venv .venv,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

AI Ghidra Tools 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

AI Ghidra Tools 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

AI Ghidra Tools 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

AI Ghidra Tools 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP