Repolode
LaurieWired

LaurieWired/GhidraMCP

LLM 클라이언트가 바이너리를 디컴파일하고 분석하도록 Ghidra의 리버스 엔지니어링 기능을 제공하는 MCP 서버입니다.

스타
11,398
포크
1,197
열린 이슈
93
마지막 커밋
10일 전

어떤 프로젝트인가요?

GhidraMCP는 Ghidra 플러그인과 함께 사용하는 Model Context Protocol 서버입니다. MCP를 지원하는 LLM 클라이언트가 Ghidra의 핵심 기능을 호출해 바이너리를 디컴파일하고, 메서드·클래스·import·export 목록을 확인하고, 리버스 엔지니어링 작업을 진행하면서 메서드와 데이터를 이름 변경할 수 있습니다.

프로젝트는 두 부분으로 구성됩니다. Ghidra에 설치되어 Ghidra 인스턴스 내부에서 HTTP 서버를 실행하는 Java 확장과, 클라이언트 요청을 해당 HTTP 서버 호출로 변환하는 Python MCP 서버입니다. VS Code와 Claude Code 같은 클라이언트는 stdio로 서버를 실행하거나 streamable HTTP로 연결할 수 있습니다.

헤드리스 모드에서는 PyGhidra를 사용해 Ghidra GUI 없이 바이너리를 가져와 분석하며, 프로젝트 디렉터리를 선택적으로 유지할 수 있습니다. 설치하려면 Ghidra 12.1.4와 uv 또는 Python 3.10 이상이 필요합니다.

핵심 기능

  • 01Ghidra에서 바이너리를 디컴파일하고 분석합니다.
  • 02메서드와 데이터의 이름을 자동으로 변경합니다.
  • 03메서드, 클래스, import, export 목록을 표시합니다.
  • 04stdio 또는 streamable HTTP를 통해 모든 MCP 클라이언트와 연동합니다.
  • 05Ghidra GUI 없이 PyGhidra를 통한 헤드리스 분석을 지원합니다.

활용 사례

  • Ghidra 디컴파일러를 통해 LLM이 바이너리 리버스 엔지니어링을 지원하도록 합니다.
  • GUI가 없는 서버에서 바이너리를 일괄 또는 스크립트로 분석합니다.
  • 모델이 심볼 이름을 변경하고 함수를 요약하도록 해 낯선 실행 파일의 초기 분석을 빠르게 진행합니다.

토픽

자주 묻는 질문

GhidraMCP은(는) 무엇인가요?
LLM 클라이언트가 바이너리를 디컴파일하고 분석하도록 Ghidra의 리버스 엔지니어링 기능을 제공하는 MCP 서버입니다. GhidraMCP는 Ghidra 플러그인과 함께 사용하는 Model Context Protocol 서버입니다. MCP를 지원하는 LLM 클라이언트가 Ghidra의 핵심 기능을 호출해 바이너리를 디컴파일하고, 메서드·클래스·import·export 목록을 확인하고, 리버스 엔지니어링 작업을 진행하면서 메서드와 데이터를 이름 변경할 수 있습니다.
GhidraMCP은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
GhidraMCP은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
GhidraMCP은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. GhidraMCP의 마지막 커밋은 2026년 10월 10일입니다.
GhidraMCP은(는) 어디에 사용할 수 있나요?
Ghidra 디컴파일러를 통해 LLM이 바이너리 리버스 엔지니어링을 지원하도록 합니다. GUI가 없는 서버에서 바이너리를 일괄 또는 스크립트로 분석합니다. 모델이 심볼 이름을 변경하고 함수를 요약하도록 해 낯선 실행 파일의 초기 분석을 빠르게 진행합니다.
GhidraMCP은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/LaurieWired/GhidraMCP

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트