local-only server
The server can only run on the client’s local machine because it depends on local resources.
기드라MCP
ghidraMCP는 LLM이 애플리케이션을 자율적으로 역엔지니어링할 수 있도록 하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. Ghidra의 핵심 기능부터 MCP 클라이언트까지 다양한 도구를 제공합니다.
https://github.com/user-attachments/assets/36080514-f227-44bd-af84-78e29ee1d7f9
특징
MCP 서버 + Ghidra 플러그인
- 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 클라이언트
이론적으로 모든 MCP 클라이언트는 ghidraMCP와 함께 작동해야 합니다. 아래에 두 가지 예가 나와 있습니다.
예 1: Claude Desktop
Claude Desktop을 Ghidra MCP 클라이언트로 설정하려면 Claude
-> Settings
-> Developer
-> Edit Config
-> claude_desktop_config.json
으로 이동하여 다음을 추가합니다.
지엑스피1
또는 이 파일을 직접 편집하세요.
서버 IP와 포트는 구성 가능하며 대상 Ghidra 인스턴스를 가리키도록 설정해야 합니다. 설정하지 않으면 두 IP와 포트 모두 기본적으로 localhost:8080으로 설정됩니다.
예 2: 클라인
Cline 과 함께 GhidraMCP를 사용하려면 MCP 서버도 수동으로 실행해야 합니다. 먼저 다음 명령을 실행하세요.
유일하게 필요한 인수는 전송입니다. 다른 모든 인수를 지정하지 않으면 위의 인수가 기본값으로 사용됩니다. MCP 서버가 실행되면 Cline을 열고 상단에서 MCP Servers
선택하세요.
그런 다음 Remote Servers
선택하고 다음을 추가하고 URL이 MCP 호스트 및 포트와 일치하는지 확인합니다.
- 서버 이름: GhidraMCP
- 서버 URL:
http://127.0.0.1:8081/sse
예시 3: 5ire
백엔드에서 여러 모델을 지원하는 또 다른 MCP 클라이언트는 5ire 입니다. GhidraMCP를 설정하려면 5ire를 열고 Tools
-> New
로 이동하여 다음 구성을 설정하세요.
- 도구 키: ghidra
- 이름: GhidraMCP
- 명령어:
python /ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py
소스에서 빌드
다음을 실행하여 Maven으로 빌드합니다.
mvn clean package assembly:single
생성된 zip 파일에는 빌드된 Ghidra 플러그인과 해당 리소스가 포함되어 있습니다. 이 파일들은 Ghidra가 새 확장 프로그램을 인식하는 데 필요합니다.
- lib/GhidraMCP.jar
- 확장 프로그램.속성
- 모듈.매니페스트
This server cannot be installed
LLM이 Ghidra 기능을 노출하여 애플리케이션을 자율적으로 역엔지니어링하고, 디컴파일, 분석, 메서드 및 데이터의 자동 이름 변경을 가능하게 하는 MCP 서버입니다.