Repolode
bethington

bethington/ghidra-mcp

AI 어시스턴트가 바이너리를 분석하도록 Ghidra를 제어하는 MCP 서버로, 디컴파일·이름 변경·주석 추가 등에 쓰이는 도구를 200개 이상 제공합니다.

스타
5,821
포크
347
열린 이슈
33
마지막 커밋
5일 전

어떤 프로젝트인가요?

GhidraMCP는 Ghidra의 리버스 엔지니어링 기능을 AI 어시스턴트와 자동화 도구에 연결하는 MCP 서버입니다. 디컴파일, 호출 그래프, 교차 참조, 데이터 타입과 구조체, 문자열 및 임포트 분석은 물론 이름 변경, 타입 지정, 주석 추가 같은 쓰기 작업을 아우르는 도구를 200개 넘게 제공합니다. Ghidra GUI 내부 플러그인으로 실행하거나, 스크립트 및 Docker 기반 분석에 적합한 헤드리스 서버로 실행할 수 있습니다.

정적 분석 외에도 개별 함수의 P-code 에뮬레이션, Ghidra의 TraceRmi 프레임워크를 기반으로 한 실시간 디버거 연동, 지정한 변수나 레지스터에서 시작하는 P-code 데이터 흐름 추적 기능을 제공합니다. 해시 기반 함수 매칭을 통해 한 바이너리 버전의 문서를 다른 버전으로 옮길 수 있습니다. MCP 클라이언트에 전체 도구 목록이 한꺼번에 전달되지 않도록 도구는 기본적으로 필요할 때 로드되며, 스크립트 실행은 명시적으로 활성화하지 않는 한 꺼져 있습니다.

Ghidra 12.1.4와 Java 21이 필요하며, Python 브리지는 릴리스 wheel을 uv 또는 pip로 설치할 수 있습니다.

핵심 기능

  • 01디컴파일, 교차 참조, 호출 그래프 분석을 위한 MCP 도구를 200개 이상 제공합니다.
  • 02이름 변경, 타입 재지정, 주석 추가, 구조체 생성 등의 쓰기 작업을 지원합니다.
  • 03Ghidra 내부 GUI 플러그인이나 헤드리스 서버로 실행할 수 있으며, Docker도 지원합니다.
  • 04개별 함수의 P-code 에뮬레이션과 P-code 기반 데이터 흐름 추적 기능을 제공합니다.
  • 05Ghidra의 TraceRmi 프레임워크를 통해 실시간 디버거와 연동합니다.
  • 06SHA-256 함수 해시를 사용해 바이너리 버전 간 함수 문서를 옮깁니다.

활용 사례

  • AI 어시스턴트가 심볼이 제거된 바이너리를 분석하며 함수 이름을 지정하고 문서를 작성하도록 합니다.
  • 여러 세션에 걸쳐 일관된 이름 규칙으로 대규모 프로그램에 일괄 주석을 추가합니다.
  • 함수 해시 매칭으로 바이너리의 한 빌드에서 다음 빌드로 분석 결과를 이어갑니다.
  • GUI 없이 CI 또는 Docker 파이프라인에서 Ghidra 분석을 자동으로 실행합니다.

빠른 시작

  1. 1

    필수 구성 요소를 설치합니다: Ghidra 12.1.4, Java 21, uv

  2. 2

    Ghidra에서 File > Install Extensions를 통해 GhidraMCP 확장 ZIP을 설치한 다음 Ghidra를 다시 시작합니다

  3. 3

    uv를 사용해 릴리스 wheel에서 MCP 브리지를 설치합니다

    uv tool install https://github.com/bethington/ghidra-mcp/releases/download/v7.0.0/ghidra_mcp_bridge-7.0.0-py3-none-any.whl
  4. 4

    절대 경로를 사용해 MCP 클라이언트를 브리지에 연결합니다

사용 전 알아둘 점

  • Ghidra 확장은 빌드된 버전과 정확히 일치하는 Ghidra 12.1.4에서만 로드됩니다.
  • Java 21과 GhidraMCP 플러그인이 활성화된 상태로 실행 중인 Ghidra 인스턴스가 필요합니다.
  • main과 릴리스 후보는 베타이며 dev는 실험 단계이므로 도구 인터페이스가 변경될 수 있습니다.
  • 실시간 디버거 기능은 Ghidra GUI 플러그인을 통해서만 사용할 수 있습니다.

토픽

자주 묻는 질문

ghidra-mcp은(는) 무엇인가요?
AI 어시스턴트가 바이너리를 분석하도록 Ghidra를 제어하는 MCP 서버로, 디컴파일·이름 변경·주석 추가 등에 쓰이는 도구를 200개 이상 제공합니다. GhidraMCP는 Ghidra의 리버스 엔지니어링 기능을 AI 어시스턴트와 자동화 도구에 연결하는 MCP 서버입니다. 디컴파일, 호출 그래프, 교차 참조, 데이터 타입과 구조체, 문자열 및 임포트 분석은 물론 이름 변경, 타입 지정, 주석 추가 같은 쓰기 작업을 아우르는 도구를 200개 넘게 제공합니다. Ghidra GUI 내부 플러그인으로 실행하거나, 스크립트 및 Docker 기반 분석에 적합한 헤드리스 서버로 실행할 수 있습니다.
ghidra-mcp은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
ghidra-mcp은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
ghidra-mcp은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. ghidra-mcp의 마지막 커밋은 2026년 10월 16일입니다.
ghidra-mcp은(는) 어디에 사용할 수 있나요?
AI 어시스턴트가 심볼이 제거된 바이너리를 분석하며 함수 이름을 지정하고 문서를 작성하도록 합니다. 여러 세션에 걸쳐 일관된 이름 규칙으로 대규모 프로그램에 일괄 주석을 추가합니다. 함수 해시 매칭으로 바이너리의 한 빌드에서 다음 빌드로 분석 결과를 이어갑니다. GUI 없이 CI 또는 Docker 파이프라인에서 Ghidra 분석을 자동으로 실행합니다.
ghidra-mcp는 어떻게 설치하나요?
필수 구성 요소를 설치합니다: Ghidra 12.1.4, Java 21, uv Ghidra에서 File > Install Extensions를 통해 GhidraMCP 확장 ZIP을 설치한 다음 Ghidra를 다시 시작합니다 uv를 사용해 릴리스 wheel에서 MCP 브리지를 설치합니다: uv tool install https://github.com/bethington/ghidra-mcp/releases/download/v7.0.0/ghidra_mcp_bridge-7.0.0-py3-none-any.whl 절대 경로를 사용해 MCP 클라이언트를 브리지에 연결합니다
ghidra-mcp은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/bethington/ghidra-mcp

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

관련 프로젝트