GhidraMCP: AI LLM이 Ghidra를 자율적으로操作하여 리버스 엔지니어링을 수행할 수 있게 해주는 오픈소스 프로젝트 143

小编 ·

GhidraMCP: AI LLM이 Ghidra를 자율적으로操作하여 리버스 엔지니어링을 수행할 수 있게 해주는 오픈소스 프로젝트

GhidraMCP는 MCP 프로토콜을 통해 AI LLM(예: Claude)이 Ghidra를 자율적으로 운영하여 리버스 엔지니어링을 수행할 수 있게 해주는 오픈소스 프로젝트입니다. Ghidra의 핵심 기능을 MCP 클라이언트에 노출하여 디컴파일, 바이너리 파일 분석, 메서드와 데이터의 자동 이름 변경, 메서드/클래스/임포트/익스포트 테이블 목록 표시 등을 지원합니다.

GhidraMCP: AI LLM이 Ghidra를 자율적으로操作하여 리버스 엔지니어링을 수행할 수 있게 해주는 오픈소스 프로젝트

GhidraMCP란 무엇인가?

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

GhidraMCP:AI 대규모 모델이 Ghidra를 자율적으로 조작하여 리버스 엔지니어링을 수행하도록 지원.jpg

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