
Ghidra용 MCP 서버

ghidraMCP는 LLM이 애플리케이션을 자율적으로 리버스 엔지니어링할 수 있게 해주는 Model Context Protocol 서버입니다. 핵심 Ghidra 기능의 다양한 도구를 MCP 클라이언트에 노출합니다.
https://github.com/user-attachments/assets/36080514-f227-44bd-af84-78e29ee1d7f9
MCP 서버 + Ghidra 플러그인
먼저 이 저장소의 최신 릴리즈를 다운로드하세요. 여기에는 Ghidra 플러그인과 Python MCP 클라이언트가 포함되어 있습니다. 그런 다음 플러그인을 Ghidra에 직접 임포트할 수 있습니다.
File -> Install Extensions 선택+ 버튼 클릭GhidraMCP-1-2.zip (또는 선택한 버전) 선택File -> Configure -> Developer에서 GhidraMCPPlugin이 활성화되어 있는지 확인Edit -> Tool Options -> GhidraMCP HTTP Server에서 Ghidra 포트 구성비디오 설치 가이드:
https://github.com/user-attachments/assets/75f0c176-6da1-48dc-ad96-c182eb4648c3
이론적으로 모든 MCP 클라이언트는 ghidraMCP와 함께 작동해야 합니다. 아래에 세 가지 예시가 나와 있습니다.
Claude Desktop을 Ghidra MCP 클라이언트로 설정하려면 Claude -> Settings -> Developer -> Edit Config -> claude_desktop_config.json으로 이동하여 다음을 추가하세요:
{
"mcpServers": {
"ghidra": {
"command": "python",
"args": [
"/ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py",
"--ghidra-server",
"http://127.0.0.1:8080/"
]
}
}
}
또는 이 파일을 직접 편집하세요:
/Users/YOUR_USER/Library/Application Support/Claude/claude_desktop_config.json
서버 IP와 포트는 구성할 수 있으며 대상 Ghidra 인스턴스를 가리키도록 설정해야 합니다. 설정하지 않으면 둘 다 localhost:8080으로 기본 설정됩니다.
Cline과 함께 GhidraMCP를 사용하려면 MCP 서버도 수동으로 실행해야 합니다. 먼저 다음 명령을 실행하세요:
python bridge_mcp_ghidra.py --transport sse --mcp-host 127.0.0.1 --mcp-port 8081 --ghidra-server http://127.0.0.1:8080/
유일한 필수 인자는 transport입니다. 다른 모든 인자를 지정하지 않으면 위 값으로 기본 설정됩니다. MCP 서버가 실행되면 Cline을 열고 상단에서 MCP Servers를 선택하세요.

그런 다음 Remote Servers를 선택하고 다음을 추가하세요. URL이 MCP 호스트 및 포트와 일치하는지 확인하세요.
http://127.0.0.1:8081/sse백엔드에서 여러 모델을 지원하는 또 다른 MCP 클라이언트는 5ire입니다. GhidraMCP를 설정하려면 5ire를 열고 Tools -> New로 이동하여 다음 구성을 설정하세요.
python /ABSOLUTE_PATH_TO/bridge_mcp_ghidra.pylib/ 디렉터리로 다음 파일을 복사하세요:Ghidra/Features/Base/lib/Base.jarGhidra/Features/Decompiler/lib/Decompiler.jarGhidra/Framework/Docking/lib/Docking.jarGhidra/Framework/Generic/lib/Generic.jarGhidra/Framework/Project/lib/Project.jarGhidra/Framework/SoftwareModeling/lib/SoftwareModeling.jarGhidra/Framework/Utility/lib/Utility.jarGhidra/Framework/Gui/lib/Gui.jarmvn clean package assembly:single
생성된 zip 파일에는 빌드된 Ghidra 플러그인과 해당 리소스가 포함됩니다. 이러한 파일은 Ghidra가 새 확장 기능을 인식하는 데 필요합니다.