GhidraMCP: AI LLM이 Ghidra를 자율적으로操作하여 리버스 엔지니어링을 수행할 수 있게 해주는 오픈소스 프로젝트
GhidraMCP란 무엇인가?
GhidraMCP는 MCP 프로토콜을 통해 ai 대규모 모델(예: Claude)이 Ghidra를 자율적으로 조작하여 리버스 엔지니어링을 수행할 수 있도록 하는 오픈소스 프로젝트입니다. Ghidra의 핵심 기능을 MCP 클라이언트에 노출하여, 디컴파일, 바이너리 분석, 메서드 및 데이터의 자동 이름 변경, 그리고 메서드, 클래스, 임포트 및 익스포트 테이블 목록 작성을 지원합니다.

GhidraMCP 기능 특징
디컴파일 및 분석: Ghidra에서 바이너리 파일을 디컴파일하고 분석하여 가독성이 높은 의사 코드를 생성합니다.
자동 이름 변경: 시맨틱 분석을 기반으로 메서드 이름, 클래스 구조 및 데이터 변수를 자동으로 주석 처리하여 코드 가독성을 향상시킵니다.
구조화된 정보 추출: 프로그램의 함수 목록, 클래스 정의, 임포트/익스포트 테이블 등 메타데이터를 일괄적으로 내보냅니다.
다중 클라이언트 호환: Claude Desktop 및 5ire 등 MCP 프로토콜을 준수하는 모든 클라이언트를 지원합니다.
GhidraMCP 적용 시나리오
악성코드 분석: 샘플 내 의심스러운 API 호출 체인을 자동으로 식별하고 주석이 포함된 디컴파일 보고서를 생성하여 분석 효율성을 높입니다.
펌웨어 취약점挖掘(마이닝): 다중 모델 스케줄링 기능과 결합하여 함수 테이블을 추출하고, 잠재적인 취약점 지점을 식별하며 검증 스크립트를 생성합니다.
소프트웨어 리버스 엔지니어링: 복잡한 소프트웨어의 논리 구조 이해를 지원하여 리버스 엔지니어링의 난이도를 낮춥니다.
기술 아키텍처
MCP 프로토콜: AI와 도구 간의 표준 상호작용 형식을 정의하는 "통역자" 역할을 하며, 명령 전달 및 결과 반환을 지원합니다.
Python 스크립트 브릿지: bridge_mcp_ghidra.py 스크립트가 AI 명령을 해석하고 소켓 통신을 통해 Ghidra 플러그인을 호출합니다.
Ghidra 플러그인: GhidraMCPPlugin이 명령을 수신 대기하고 Ghidra의 Java API를 호출하여 디컴파일, 심볼 분석 등의 작업을 수행합니다.
GhidraMCP 사용 방법
1. Ghidra 플러그인 설치:
최신 버전의 GhidraMCP 배포 패키지를 다운로드합니다.
Ghidra를 시작하고, File -> Install Extensions를 선택하여 다운로드한 ZIP 파일을 가져옵니다.
Ghidra를 재시작하여 플러그인이 활성화되었는지 확인합니다.
2. MCP 클라이언트 구성:
Claude Desktop: 구성 파일 claude_desktop_config.json을 편집하여 GhidraMCP 서비스 구성을 추가합니다.
5ire: 클라이언트에서 도구 구성을 설정하고 Tool Key, Name, Command를 지정합니다.
3. 실행 및 사용:
클라이언트를 시작한 후 자연어로 AI와 상호작용하여 Ghidra의 기능을 호출해 리버스 분석을 수행할 수 있습니다.
GhidraMCP GitHub:https://github.com/LaurieWired/GhidraMCP
대본 기획 도우미▸
AI 앱
AI 뉴스 