일반 소개
GhidraMCP는 강력한 리버스 엔지니어링 소프트웨어인 Ghidra에 인공지능(AI)을 결합하는 것을 핵심 목표로 하는 오픈 소스 툴입니다. 이 도구는 모델 컨텍스트 프로토콜(MCP) 프로토콜을 통해 대규모 언어 모델(LLM)이 Ghidra에서 직접 작동할 수 있도록 함으로써 바이너리 파일 분석 작업을 자동화합니다. 이 도구는 LaurieWired가 GitHub에서 개발하여 2025년 3월에 출시했습니다. 보안 연구원, 프로그래머 또는 리버스 엔지니어링에 관심이 있는 사용자에게 적합하며, 특히 멀웨어 분석 및 취약점 발견과 같은 시나리오에서 복잡한 수동 분석을 보다 효율적으로 수행하기 위해 GhidraMCP를 사용합니다.

기능 목록
- 자동화된 리버스 엔지니어링: AI를 통해 Ghidra를 제어하여 바이너리를 자동으로 분석합니다.
- 메서드 및 데이터 이름 바꾸기: 코드에서 메서드와 데이터를 식별하고 더 읽기 쉬운 이름을 자동으로 생성합니다.
- 바이너리 파일 구문 분석: 파일의 함수, 클래스, 가져오기 및 내보내기 정보를 나열합니다.
- 멀웨어 분석 지원: 잠재적인 보안 취약점과 악의적인 행동을 식별하는 데 도움을 줍니다.
- 다중 지원 MCP 클라이언트: 호환 가능 Claude 데스크톱, 5ire 및 기타 클라이언트.
- 오픈 소스 및 사용자 정의 가능: 사용자는 필요에 따라 코드를 수정하거나 기능을 확장할 수 있습니다.
도움말 사용
설치 프로세스
GhidraMCP는 Ghidra 및 MCP 클라이언트와 함께 작동하는 데 필요합니다. 자세한 설치 단계는 다음과 같습니다:
- 환경 준비하기
- 미국 국가안보국(NSA)에서 개발한 오픈 소스 리버스 엔지니어링 도구로, Ghidra 웹사이트에서 다운로드할 수 있는 Ghidra를 설치했는지 확인하세요.
- Python 환경 설치, 일부 스크립트는 Python에 의존하므로 Python 3.8 이상을 권장합니다.
- GitHub 리포지토리에서 '릴리즈'를 클릭하여 최신 버전의 ZIP 파일을 다운로드합니다.
- Ghidra 플러그인 설치하기
- 다운로드한 GhidraMCP ZIP 파일의 압축을 풀고 플러그인 파일(일반적으로
.zip
(형식). - Ghidra를 열고 메뉴로 이동합니다.
File -> Install Extensions
. - "+" 버튼을 클릭하여 추출한 플러그인 파일을 선택하고 확인한 후 Ghidra를 다시 시작합니다.
- 플러그인이 설치되면 GhidraMCP 기능이 자동으로 Ghidra에 통합됩니다.
- 다운로드한 GhidraMCP ZIP 파일의 압축을 풀고 플러그인 파일(일반적으로
- MCP 클라이언트 구성
다음은 클로드 데스크톱과 5ire의 예시입니다:- Claude 데스크톱 구성
- Claude 데스크톱을 열고 다음 항목으로 이동합니다.
Settings -> Developer -> Edit Config
. - 구성 파일 편집
claude_desktop_config.json
를 클릭하고 다음을 추가합니다:{ "mcpServers": { "ghidra": { "command": "python", "args": ["/你的绝对路径/bridge_mcp_ghidra.py"] } } }
- 보안
bridge_mcp_ghidra.py
파일 경로가 맞습니다. 이 파일은 GhidraMCP 다운로드 패키지에 있습니다.
- Claude 데스크톱을 열고 다음 항목으로 이동합니다.
- 5ire 구성
- 5ire를 켜고 다음으로 이동합니다.
Tools -> New
. - 설정에 GhidraMCP의 경로와 매개변수를 입력하고 구성을 저장합니다.
- 5ire를 켜고 다음으로 이동합니다.
- 구성이 완료되면 클라이언트를 시작하면 AI가 MCP 프로토콜을 통해 Ghidra와 통신할 수 있습니다.
- Claude 데스크톱 구성
- 설치 확인
- Ghidra를 열고 바이너리 파일을 로드합니다(예
.exe
어쩌면.bin
). - MCP 클라이언트에 명령을 입력합니다(예: "이 파일의 모든 기능 분석"). 반환 결과가 정상이면 설치에 성공한 것입니다.
- Ghidra를 열고 바이너리 파일을 로드합니다(예
주요 기능
- 바이너리 파일 자동 분석
- Ghidra에서 대상 파일을 연 후 MCP 클라이언트로 전환합니다.
- "모든 함수를 나열하고 이름을 바꿔줘"와 같은 자연어 명령을 입력하면 AI가 자동으로 Ghidra의 함수를 호출하고 파일을 분석하여 결과를 반환합니다.
- 결과는 클라이언트 인터페이스에 표시되며 일반적으로 기능 목록과 자동으로 생성된 새 이름이 포함됩니다.
- 메서드 및 데이터 이름 바꾸기
- 클라이언트 측에서 "이름 없는 모든 함수 이름 바꾸기"를 입력하면 AI가 문맥에 따라 함수의 용도를 추측하여 보다 직관적인 이름을 알려줍니다.
- 수동 조정이 필요한 경우 이름이 변경된 결과가 Ghidra의 코드 보기에 동기화됩니다.
- 멀웨어 분석
- 멀웨어 샘플을 로드한 후 '잠재적 취약점 확인' 또는 '악성 행위 찾기'를 입력합니다.
- AI는 파일의 가져오기 테이블, 문자열, 호출 관계를 스캔하여 의심스러운 네트워크 요청이나 파일 작업과 같은 보안 문제를 반환합니다.
워크플로
- Ghidra 및 MCP 클라이언트를 시작합니다.
- Ghidra에서 바이너리 파일을 가져온 후 '분석'을 클릭하여 초기 구문 분석을 시작합니다.
- MCP 클라이언트로 전환하여 "모든 문자열 추출" 또는 "함수 호출 분석"과 같은 분석 명령을 입력합니다.
- 반환된 결과를 보고 필요에 따라 지침을 조정하거나 세부 정보를 수동으로 확인합니다.
- 분석 결과를 저장하면 나중에 사용할 수 있도록 프로젝트 파일로 내보내기를 지원합니다.
주의
- 네트워크가 열려 있는지 확인하고 일부 AI 모델을 온라인으로 호출해야 합니다.
- 오류가 발생하면
bridge_mcp_ghidra.py
를 클릭하거나 GitHub의 이슈 페이지를 확인하여 도움을 받으세요. - 대용량 파일의 경우 분석에 시간이 더 걸릴 수 있으므로 먼저 작은 샘플을 테스트하는 것이 좋습니다.
애플리케이션 시나리오
- 멀웨어 연구
보안 연구자들은 GhidraMCP를 사용하여 바이러스나 트로이 목마를 빠르게 분석하여 악성 코드의 실행 로직과 숨겨진 기능을 찾을 수 있습니다. - 소프트웨어 취약점 마이닝
개발자는 이 기능을 사용하여 버퍼 오버플로 또는 무단 액세스와 같은 잠재적인 보안 취약점이 있는지 바이너리를 검사할 수 있습니다. - 리버스 엔지니어링 알아보기
초보자도 AI의 도움을 받아 바이너리 파일의 구조와 기능을 빠르게 이해할 수 있어 학습 문턱이 낮아집니다.
QA
- GhidraMCP는 어떤 운영 체제를 지원하나요?
Windows, Mac, Linux 등 Ghidra가 지원하는 모든 시스템과 호환됩니다. - 프로그래밍 경험이 필요하신가요?
필요하지 않습니다. 설치 및 기본 사용은 단계별 과정입니다. 그러나 기능을 사용자 지정하려면 Java 또는 Python에 대한 지식이 있으면 유리합니다. - 오프라인에서도 사용할 수 있나요?
예, 하지만 일부 AI 모델은 네트워크에 연결해야 합니다. 로컬 모델을 사용하는 경우 완전히 오프라인으로 실행할 수 있습니다.
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 문서
댓글 없음...