GhidraMCP:讓AI大模型能夠自主操作Ghidra進(jìn)行逆向工程的開源項(xiàng)目
GhidraMCP 是什么?
GhidraMCP是一個(gè)通過MCP 協(xié)議,讓 ai 大模型(如 Claude)能夠自主操 Ghidra 進(jìn)行逆向工程的開源項(xiàng)目。它將 Ghidra 的核心功能暴露給 MCP 客戶端,支持反編譯、分析二進(jìn)制文件、自動(dòng)重命名方法和數(shù)據(jù),以及列出方法、類、導(dǎo)入和導(dǎo)出表。
GhidraMCP功能特征
反編譯與分析:支持在 Ghidra 中反編譯和分析二進(jìn)制文件,生成可讀性強(qiáng)的偽代碼。
自動(dòng)化重命名:基于語(yǔ)義分析自動(dòng)標(biāo)注方法名、類結(jié)構(gòu)及數(shù)據(jù)變量,提升代碼可讀性。
結(jié)構(gòu)化信息提取:批量導(dǎo)出程序的函數(shù)列表、類定義、導(dǎo)入/導(dǎo)出表等元數(shù)據(jù)。
多客戶端兼容:支持所有符合 MCP 協(xié)議的客戶端,如 Claude Desktop 和 5ire。
GhidraMCP應(yīng)用場(chǎng)景
惡意軟件分析:自動(dòng)識(shí)別樣本中的可疑 API 調(diào)用鏈,生成帶注釋的反編譯報(bào)告,提升分析效率。
固件漏洞挖掘:結(jié)合多模型調(diào)度能力,提取函數(shù)表、識(shí)別潛在漏洞點(diǎn)并生成驗(yàn)證腳本。
軟件逆向工程:輔助理解復(fù)雜軟件的邏輯結(jié)構(gòu),降低逆向工程的難度。
技術(shù)架構(gòu)
MCP 協(xié)議:作為“翻譯官”,定義 AI 與工具間的標(biāo)準(zhǔn)交互格式,支持指令傳遞和結(jié)果返回。
Python 腳本橋接:bridge_mcp_ghidra.py 腳本解析 AI 指令,通過 Socket 通信調(diào)用 Ghidra 插件。
Ghidra 插件:GhidraMCPPlugin 監(jiān)聽指令并調(diào)用 Ghidra 的 Java API 執(zhí)行反編譯、符號(hào)分析等操作。
GhidraMCP使用方法
1. 安裝 Ghidra 插件:
下載最新版本的 GhidraMCP 發(fā)布包。
啟動(dòng) Ghidra,選擇 File -> Install Extensions,導(dǎo)入下載的 ZIP 文件。
重啟 Ghidra,確保插件已啟用。
2. 配置 MCP 客戶端:
Claude Desktop:編輯配置文件 claude_desktop_config.json,添加 GhidraMCP 的服務(wù)配置。
5ire:在客戶端中設(shè)置工具配置,指定 Tool Key、Name 和 Command。
3. 運(yùn)行與使用:
啟動(dòng)客戶端后,即可通過自然語(yǔ)言與 AI 交互,調(diào)用 Ghidra 的功能進(jìn)行逆向分析。
GhidraMCP GitHub:https://github.com/LaurieWired/GhidraMCP