项目简介
MCP-Ghidra5是一个先进的Model Context Protocol (MCP) 服务器,它将强大的Ghidra逆向工程功能与多模型AI技术无缝集成。该工具支持OpenAI GPT-5、Anthropic Claude、Google Gemini等7大AI服务商,以及通过Ollama集成的本地LLM,旨在将耗时的人工二进制分析转化为自动化、智能化的工作流程,同时优化成本并提供自动故障转移系统,是专业级的网络安全工具。
主要功能点
- 多模型AI支持:集成OpenAI GPT-5/GPT-4o、Claude 3.5、Gemini 1.5 Pro、Grok Beta、Perplexity、DeepSeek及Ollama(用于本地LLM)等7个AI提供商。
- 智能故障转移与成本优化:自动选择最合适的AI模型,确保服务高可用性,并通过智能模型选择节省30-50%的AI成本。
- 综合二进制分析:利用Ghidra进行全面的可执行文件分析,并结合AI进行解释和洞察。
- 高级逆向工程:支持函数反编译、恶意软件检测、漏洞利用开发、固件分析及模式识别等。
- 安全与性能:确保API密钥安全,分析结果不远程存储,本地化处理Ghidra分析,并提供快速、深度的分析模式。
- Tier 1 二进制工具:新增字符串提取、文件信息、Objdump反汇编、Readelf分析、Hexdump分析等基础二进制分析工具,并可选择AI辅助分析。
安装步骤
- 安装Ghidra (必要)
- 从GitHub下载Ghidra最新版本:'https://github.com/NationalSecurityAgency/ghidra/releases'
- 建议解压到 '/opt/ghidra/' 目录。例如,如果您下载的文件名为 'ghidra_10.3_PUBLIC_20240320.zip':
sudo mkdir -p /opt/ghidra sudo tar -xzf ghidra_*.zip -C /opt/ && sudo mv /opt/ghidra_* /opt/ghidra
- 下载MCP-Ghidra5
wget https://github.com/TheStingR/MCP-Ghidra5/archive/main.zip unzip main.zip && cd MCP-Ghidra5-main - 运行安装脚本
cd MCP-Ghidra5 ./install_mcp_ghidra5.sh- 按照提示接受条款并输入您的OpenAI API Key。
- 配置API Key
- 在您的环境中设置OpenAI API Key(推荐):
export OPENAI_API_KEY="sk-your-openai-api-key-here" - 若要使用其他AI模型(如Claude、Gemini),请设置相应的API Key环境变量,例如:
export ANTHROPIC_API_KEY="sk-your-anthropic-api-key-here" export GEMINI_API_KEY="your-gemini-api-key-here" # 更多AI提供商请参考仓库文档,通常格式为 'export PROVIDER_API_KEY="your-key"' - 如果您希望指定默认使用的AI模型,可以设置:
export AI_MODEL_PREFERENCE="claude-3-5-sonnet" # 例如,将默认模型设置为Claude
- 在您的环境中设置OpenAI API Key(推荐):
- 启动服务器
python3 ghidra_gpt5_mcp.py- 服务器将以Stdio模式运行,等待MCP客户端连接。
服务器配置 (供MCP客户端连接使用)
MCP客户端需要配置MCP服务器的启动命令及其参数才能与该服务器建立连接。以下是推荐的JSON格式配置信息:
{ "name": "Ghidra GPT-5 MCP Server", "command": ["python3"], "args": ["/path/to/MCP-Ghidra5/ghidra_gpt5_mcp.py"], "description": "通过Ghidra和多模型AI提供高级逆向工程服务", "capabilities": { "tools": [ "ghidra_binary_analysis", "ghidra_function_analysis", "ghidra_exploit_development", "ghidra_malware_analysis", "ghidra_firmware_analysis", "ghidra_code_pattern_search", "gpt5_reverse_engineering_query", "ai_model_status", "binary_strings_analysis", "binary_file_info", "binary_objdump_analysis", "binary_readelf_analysis", "binary_hexdump_analysis" ] } }
- name: 'Ghidra GPT-5 MCP Server',MCP客户端中显示的服务器名称。
- command: '["python3"]',用于启动MCP服务器的可执行命令。
- args: '["/path/to/MCP-Ghidra5/ghidra_gpt5_mcp.py"]',传递给启动命令的参数。请将 '/path/to/MCP-Ghidra5/' 替换为MCP-Ghidra5仓库在您系统上的实际路径。
- description: '通过Ghidra和多模型AI提供高级逆向工程服务',服务器的功能描述。
- capabilities: 服务器提供的功能列表,这里列出了所有可用的MCP工具,MCP客户端可据此了解服务器能力。
基本使用方法
配置MCP客户端后,您可以通过客户端调用该服务器提供的各种工具。例如,在支持MCP的客户端(如某些集成开发环境或终端插件)中:
-
执行二进制分析 调用 'ghidra_binary_analysis' 工具,提供二进制文件路径和分析深度:
call_mcp_tool("ghidra_binary_analysis", { "binary_path": "/path/to/your/executable", "analysis_depth": "deep", "focus_areas": ["vulnerabilities", "crypto"] }) -
直接向AI提问 调用 'gpt5_reverse_engineering_query' 工具,提出您的逆向工程问题,并可选择指定首选AI模型:
call_mcp_tool("gpt5_reverse_engineering_query", { "query": "如何在Linux x64系统上利用栈溢出漏洞?", "specialization": "binary_exploitation", "preferred_model": "claude-3-5-sonnet" }) -
检查AI模型状态 调用 'ai_model_status' 工具,查看当前AI模型的可用性、用量统计和配置:
call_mcp_tool("ai_model_status", {"action": "status"}) -
进行字符串分析 调用 'binary_strings_analysis' 工具,提取二进制文件中的字符串并进行AI分析:
call_mcp_tool("binary_strings_analysis", { "binary_path": "/path/to/your/binary", "min_length": 6, "encoding": "all", "ai_analysis": True })
信息
分类
AI与计算