GhidrAssistMCP项目概览:如何为Ghidra装上原生MCP Server,让AI参与逆向工程 【免费下载链接】GhidrAssistMCPAn native MCP server extension for Ghidra项目地址https://gitcode.com/gh_mirrors/gh/GhidrAssistMCP点击查看免费下载GhidrAssistMCP 是一款为逆向工程平台 Ghidra 打造的原生 MCPModel Context Protocol模型上下文协议Server 扩展它让 AI 助手能够直接调用 Ghidra 的工具能力读取反编译代码、搜索函数、重命名符号、追踪交叉引用。这篇文章面向新手带你完整了解它的功能、安装步骤与配置方法快速搭建AI Ghidra的逆向分析工作流。为什么逆向工程需要 MCP Server如果你曾用 AI 辅助分析过二进制文件大概率经历过这样的流程在 Ghidra 里选中函数手动复制反编译代码粘贴到聊天窗口附上地址、签名等上下文等 AI 分析完再把结论手动誊回 Ghidra 的注释里这个过程既低效又容易丢失上下文。MCP 是 AI 与外部工具之间的标准化协议——工具只要以 MCP 的形式暴露能力AI 客户端就可以像长出手一样直接调用它们而不是靠人肉复制粘贴。GhidrAssistMCP 做的事正是把 Ghidra 变成一个 MCP Server让 AI 助手在分析过程中随时查询和操作 Ghidra 中的程序数据。一分钟认识 GhidrAssistMCP一句话概括它是 Ghidra 的扩展插件在 Ghidra 进程内部启动一个 MCP Server默认localhost:8080把 Ghidra 的反向工程能力封装成 49 个标准 MCP 工具对外提供。核心能力一览能力说明49 个内置 MCP 工具覆盖程序管理、函数分析、交叉引用、结构体、类型、注释、书签等6 个 MCP 资源以ghidra://program/{name}/info等 URI 直接读取程序信息、函数、字符串等7 个内置 Prompt预置函数分析、漏洞识别、数据流追踪等常见任务的提示词模板双 HTTP 传输同时支持 SSE 和 Streamable HTTP兼容更多 MCP 客户端多程序/多窗口一个 Server 服务所有 CodeBrowser 窗口自动感知当前焦点程序结果缓存 异步任务重复查询命中缓存反编译等耗时操作异步执行并可查询/取消 完整文档见仓库根目录的 README.md。核心功能亮点49 个 MCP 工具覆盖逆向全流程工具按场景组织成几大类别完整清单见 README.md 的 Available Tools 章节实现位于 src/main/java/ghidrassistmcp/tools/类别代表工具能做什么程序管理get_binary_info、list_binaries、open_program查看程序信息、打开/关闭程序、导入文件自动分析analyze_program、analysis_options触发自动分析、管理分析选项预设函数分析get_functions、get_function_stack_layout、get_basic_blocks列出函数、查看栈帧布局与基本块代码读取get_code按decompiler/disassembly/pcode三种格式取代码交叉引用xrefs查地址/函数引用支持调用者/被调用者结构体struct创建、合并、按 C 定义修改结构体自动从变量用法推导结构体符号改名rename_symbol、batch_rename重命名函数/数据/变量支持批量操作注释与书签comments、bookmarksAI 把分析结论直接写回 Ghidra 注释一个值得注意的设计涉及文件系统和脚本执行的高风险工具import_file、scripts、export_program默认处于禁用状态需要时再在配置界面手动开启安全默认值对新手很友好。7 个预置分析提示词扩展内置了常见逆向任务的 Prompt 模板源码在 src/main/java/ghidrassistmcp/prompts/analyze_function— 函数综合分析identify_vulnerability— 安全漏洞识别trace_data_flow— 数据流追踪trace_network_data— 网络收发调用栈追踪协议分析compare_functions— 两个函数的相似性比对document_function— 生成函数文档reverse_engineer_struct— 从使用模式恢复结构体定义多程序与焦点感知同时打开多个二进制时单个 MCP Server 服务所有 CodeBrowser 窗口。每次工具响应都会带上上下文头部例如[Context] Operating on: malware.exe | Active window: malware.exeAI 由此知道当前操作的是哪个程序未指定program_name时自动使用当前焦点窗口中的程序多任务切换不再混淆。安装步骤三步装好 Ghidra MCP 扩展前置条件Ghidra 11.4官方在 Ghidra 12.1 Public 上测试通过一个支持 MCP 的 AI 客户端方式一安装二进制发行版推荐从 Releases 页面下载最新的.zip扩展包在 Ghidra 中File → Install Extensions → Add Extension选择下载的 ZIP按提示重启File → Configure → Configure Plugins搜索 GhidrAssistMCP 并勾选启用方式二从源码构建源码构建需要 Java 25并使用仓库内置的 Gradle wrappergit clone https://gitcode.com/gh_mirrors/gh/GhidrAssistMCP cd GhidrAssistMCP指定 Ghidra 安装目录后一条命令完成构建与安装构建时请确保 Ghidra 已关闭export GHIDRA_INSTALL_DIR/path/to/ghidra_12.1_PUBLIC ./gradlew installExtension该命令会把构建产物写入 Ghidra 安装目录的Extensions/Ghidra并解压到用户扩展目录。重启 Ghidra 后如插件未自动出现同样通过File → Configure → Configure Plugins启用即可。初始配置一键启动 MCP Server启动 Ghidra 后通过Window → GhidrAssistMCP或工具栏图标打开控制面板。界面包含两个页签UI 实现见 GhidrAssistMCPProvider.javaConfiguration 页签Host默认localhostPort默认8080Enable MCP Server开关下方是全部 MCP 工具的勾选列表可逐个启用/禁用点击Save Configuration持久化Log 页签实时滚动显示每一条REQ工具请求和RES工具响应是观察 AI 客户端都在做什么的仪表盘快速上手MCP 客户端如何连接Server 启动后暴露以下端点SSE: http://localhost:8080/sse SSE messages: http://localhost:8080/message Streamable HTTP: http://localhost:8080/mcp在你的 AI 客户端中添加以上地址为 MCP Server即可开始对话。一次典型的工具调用如下调用get_code反编译main函数{ method: tools/call, params: { name: get_code, arguments: { function: main, format: decompiler } } }除了工具客户端还可以直接读取 6 个静态资源如ghidra://program/{name}/functions函数列表、ghidra://program/{name}/strings字符串等适合让 AI 一次性获取程序的静态概览。Headless 模式把 MCP Server 带进自动化流水线不需要打开 GUI 也能用。仓库提供了专用脚本 GAMCPStartServerScript.java作为analyzeHeadless的 pre/post 脚本运行$GHIDRA_INSTALL_DIR/support/analyzeHeadless /tmp/ghidra-projects McpHeadless \ -import /path/to/binary \ -scriptPath $GHIDRASSISTMCP_EXT/ghidra_scripts \ -preScript GAMCPStartServerScript.java host127.0.0.1 port8080加上waittrue参数可让分析完成后 Server 保持运行供交互式客户端接入。这让MCP 化的 Ghidra可以直接嵌入批处理和 CI 场景是自动化逆向分析的利器。常见问题排查现象排查方向Server 无法启动检查 8080 端口是否被占用查看 Ghidra 控制台日志AI 客户端连接失败确认 Server 已启用本地执行curl http://localhost:8080/sse验证检查防火墙工具没有出现在列表中确认插件已启用检查 Configuration 页签中工具是否被勾选工具执行报错确认目标程序已加载进 Ghidra并在 Log 页签查看具体错误异步任务卡住用get_task_status/list_tasks查看必要时cancel_task取消如需更详细的日志可在 Ghidra 启动参数中加入-Dlog4j.logger.ghidrassistmcpDEBUG项目结构速览想深入了解实现的同学可以从这几个入口读起总览与协议端点GhidrAssistMCPServer.java工具注册、缓存与异步任务管理GhidrAssistMCPBackend.java多窗口焦点追踪的单例协调器GhidrAssistMCPManager.javaHeadless 服务器GhidrAssistMCPHeadlessServer.java工具接口定义McpTool.java内置帮助文档help.html项目采用 MIT 许可证见 LICENSE可以自由使用与二次开发。总结GhidrAssistMCP 用原生扩展的方式把 Ghidra 接入了 MCP 生态✅ 49 个工具 6 个资源 7 个预置 Prompt覆盖逆向分析全流程✅ 双传输协议多程序多窗口缓存与异步任务一应俱全✅ 三步安装localhost:8080即开即用还支持 headless 自动化✅ 高风险工具默认禁用安全默认值对新手友好装好它之后AI 不再需要你把反编译代码一个个粘贴过去——它可以直接看见并操作你正在 Ghidra 中分析的每个字节。这正是 AI 参与逆向工程的第一步。赞分享【免费下载链接】GhidrAssistMCPAn native MCP server extension for Ghidra项目地址https://gitcode.com/gh_mirrors/gh/GhidrAssistMCP点击查看免费下载相关推荐为什么jadx-mcp-server被称为AI逆向工程利器LLM驱动APK分析的完整概览为什么jadx mcp server被称为AI逆向工程利器LLM驱动APK分析的完整概览 jadx mcp server 是一款面向 Android 逆向工程GhidraGPT把AI逆向助手装进Ghidra——完整功能概览与项目深度介绍GhidraGPT把AI逆向助手装进Ghidra——完整功能概览与项目深度介绍 GhidraGPT 是一款开源的 Ghidra AI 逆向插件 它将 LLMReVa Ghidra MCP 服务器架构全解析双层插件与 McpServerManager 如何让 AI 驱动逆向工程ReVa Ghidra MCP 服务器架构全解析双层插件与 McpServerManager 如何让 AI 驱动逆向工程 ReVareverse engin上一篇TypeWhisper 插件系统入门7 种插件类型与 50 集成生态一次看懂下一篇treehouse实验性Jujutsu后端初探同一套池化机制改用jj工作空间创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考