-
Ghidra MCP Server는 Ghidra의 리버스 엔지니어링 기능을 AI 및 자동화 프레임워크와 연결하는 Model Context Protocol(MCP) 서버
- 110개의 MCP 도구와 132개 엔드포인트를 통해 함수 분석, 데이터 구조 탐색, 문자열 추출 등 광범위한 바이너리 분석 기능 제공
-
배치 처리, 원자적 트랜잭션, 실시간 분석을 지원하며, Docker 배포 및 헤드리스 모드로 운영 가능
-
Cross-binary 문서 전이 기능을 통해 서로 다른 바이너리 버전 간 함수 문서화를 자동 매칭
- AI 기반 리버스 엔지니어링 워크플로우를 프로덕션 수준의 안정성으로 구현할 수 있는 플랫폼
개요
- Ghidra MCP Server는 Ghidra의 분석 엔진을 AI 도구 및 자동화 시스템과 연결하는 프로덕션급 MCP 서버
- Model Context Protocol을 완전 구현하여 AI 모델과의 상호작용을 지원
- Ghidra의 기능을 HTTP REST 및 MCP 프로토콜(stdio/SSE)로 노출
주요 기능
-
Core MCP 통합
- MCP 완전 호환, 110개 MCP 도구 제공, 배치 연산 및 원자적 트랜잭션 지원
- Ghidra의 분석 엔진과 실시간 통합
-
바이너리 분석
- 함수 디컴파일, 호출 그래프, 교차 참조, 데이터 구조 자동 생성
- 문자열 추출, 심볼 테이블 분석, 메모리 매핑, Cross-binary 문서 전이 기능 포함
-
개발 및 자동화
- 빌드-테스트-배포-검증 자동화 파이프라인
- Ghidra 스크립트 생성·실행·관리, 다중 프로그램 비교, 대량 이름 변경 및 주석 처리
설치 및 실행
-
필수 구성요소: Java 21 LTS, Apache Maven 3.9+, Ghidra 12.0.2, Python 3.8+
-
설치 절차
- 저장소 클론 후 Python 의존성 설치
- Ghidra 라이브러리 14개 복사 후 Maven으로 빌드
- Ghidra 확장 폴더에 플러그인 배포
-
실행 방식
- Stdio 전송(기본, AI 도구용) 또는 SSE 전송(Web/HTTP 클라이언트용) 선택
- Ghidra 내에서 Tools > GhidraMCP > Start MCP Server 실행
성능 및 안정성
- 110개 MCP 도구 완전 구현, 대부분의 연산에서 1초 미만 응답 속도
-
API 호출 93% 감소를 달성하는 배치 연산 구조
- 모든 연산은 원자적 트랜잭션으로 처리되어 신뢰성 확보
- 버전 인식 자동 배포 스크립트 제공
API 구성
-
핵심 연산: 연결 확인, 메타데이터 조회, 버전 정보, 엔트리 포인트 탐색
-
함수 분석: 함수 목록, 이름 검색, 디컴파일, 호출 관계 그래프, 문서 완성도 평가
-
메모리 및 데이터: 세그먼트 목록, 디스어셈블, 교차 참조, 메모리 내용 검사
-
Cross-binary 문서화: 함수 해시 생성, 문서 내보내기/적용, 해시 기반 매칭
-
데이터 타입 관리: 구조체·열거형 생성, 필드 수정, 중복 타입 병합
-
심볼 및 라벨 관리: 임포트/익스포트 목록, 문자열 분석, 네임스페이스 및 전역 변수 관리
-
이름 변경 및 주석 처리: 함수·데이터·변수 이름 변경, 대량 주석 설정
-
타입 시스템: 함수 프로토타입 지정, 변수 타입 설정, 호출 규약 조회
-
Ghidra 스크립트 관리: 스크립트 목록, 실행, 저장, 수정, 삭제
-
다중 프로그램 지원: 열린 프로그램 전환, 프로젝트 파일 목록, 문서 비교
-
분석 도구: 정의되지 않은 함수 탐색, 문자열 기반 검색, 바이트 패턴 탐색
아키텍처
-
AI/Automation 도구 ↔ MCP Bridge ↔ Ghidra Plugin 구조
-
bridge_mcp_ghidra.py: MCP 프로토콜을 HTTP 호출로 변환하는 Python 서버
-
GhidraMCP.jar: Ghidra 기능을 HTTP로 노출하는 Java 플러그인
-
ghidra_scripts/: 70개 이상의 자동화 스크립트 포함
개발 및 빌드
- Maven 기반 빌드 및 PowerShell 배포 스크립트 제공
- 프로젝트 구조는 Python 서버, Java 플러그인, Ghidra 라이브러리, 문서, 예제, 빌드 스크립트로 구성
-
필수 라이브러리 14개(약 37MB) 를 Ghidra 설치 경로에서 복사 필요
- 자동 배포, 배치 연산, 원자적 트랜잭션, 상세 로깅 기능 포함
문서 및 AI 워크플로우
-
docs/ 폴더에 전체 문서, 프로젝트 구조, 명명 규칙, 헝가리안 표기법 포함
-
AI 워크플로우 프롬프트: 함수 문서화, 버전 간 매칭, 빠른 시작 프롬프트 제공
-
릴리스 기록: CHANGELOG.md 및 docs/releases에 버전별 상세 내역 수록
라이선스 및 상태
-
Apache License 2.0 적용
- 버전 2.0.0, 110개 MCP 도구 완전 구현, 70개 이상 Ghidra 스크립트 포함
-
프로덕션 환경 배포 준비 완료, AI 기반 리버스 엔지니어링에 적합
관련 프로젝트
-
re-universe: PostgreSQL 기반 대규모 바이너리 유사성 분석 플랫폼
-
cheat-engine-server-python: 동적 메모리 분석 및 디버깅용 MCP 서버
감사
- Ghidra 팀, Model Context Protocol 개발진, 커뮤니티 기여자들에게 감사 표시