GhidraMCP: AI와 Ghidra를 연결하는 리버스 엔지니어링 도구

최신 AI 리소스4 개월 전에 게시 됨 AI 공유 서클
1.4K 00

일반 소개

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

GhidraMCP:连接AI与Ghidra的逆向工程工具

 

기능 목록

  • 자동화된 리버스 엔지니어링: AI를 통해 Ghidra를 제어하여 바이너리를 자동으로 분석합니다.
  • 메서드 및 데이터 이름 바꾸기: 코드에서 메서드와 데이터를 식별하고 더 읽기 쉬운 이름을 자동으로 생성합니다.
  • 바이너리 파일 구문 분석: 파일의 함수, 클래스, 가져오기 및 내보내기 정보를 나열합니다.
  • 멀웨어 분석 지원: 잠재적인 보안 취약점과 악의적인 행동을 식별하는 데 도움을 줍니다.
  • 다중 지원 MCP 클라이언트: 호환 가능 Claude 데스크톱, 5ire 및 기타 클라이언트.
  • 오픈 소스 및 사용자 정의 가능: 사용자는 필요에 따라 코드를 수정하거나 기능을 확장할 수 있습니다.

 

도움말 사용

설치 프로세스

GhidraMCP는 Ghidra 및 MCP 클라이언트와 함께 작동하는 데 필요합니다. 자세한 설치 단계는 다음과 같습니다:

  1. 환경 준비하기
    • 미국 국가안보국(NSA)에서 개발한 오픈 소스 리버스 엔지니어링 도구로, Ghidra 웹사이트에서 다운로드할 수 있는 Ghidra를 설치했는지 확인하세요.
    • Python 환경 설치, 일부 스크립트는 Python에 의존하므로 Python 3.8 이상을 권장합니다.
    • GitHub 리포지토리에서 '릴리즈'를 클릭하여 최신 버전의 ZIP 파일을 다운로드합니다.
  2. Ghidra 플러그인 설치하기
    • 다운로드한 GhidraMCP ZIP 파일의 압축을 풀고 플러그인 파일(일반적으로 .zip (형식).
    • Ghidra를 열고 메뉴로 이동합니다. File -> Install Extensions.
    • "+" 버튼을 클릭하여 추출한 플러그인 파일을 선택하고 확인한 후 Ghidra를 다시 시작합니다.
    • 플러그인이 설치되면 GhidraMCP 기능이 자동으로 Ghidra에 통합됩니다.
  3. 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 다운로드 패키지에 있습니다.
    • 5ire 구성
      • 5ire를 켜고 다음으로 이동합니다. Tools -> New.
      • 설정에 GhidraMCP의 경로와 매개변수를 입력하고 구성을 저장합니다.
    • 구성이 완료되면 클라이언트를 시작하면 AI가 MCP 프로토콜을 통해 Ghidra와 통신할 수 있습니다.
  4. 설치 확인
    • Ghidra를 열고 바이너리 파일을 로드합니다(예 .exe 어쩌면 .bin).
    • MCP 클라이언트에 명령을 입력합니다(예: "이 파일의 모든 기능 분석"). 반환 결과가 정상이면 설치에 성공한 것입니다.

주요 기능

  • 바이너리 파일 자동 분석
    • Ghidra에서 대상 파일을 연 후 MCP 클라이언트로 전환합니다.
    • "모든 함수를 나열하고 이름을 바꿔줘"와 같은 자연어 명령을 입력하면 AI가 자동으로 Ghidra의 함수를 호출하고 파일을 분석하여 결과를 반환합니다.
    • 결과는 클라이언트 인터페이스에 표시되며 일반적으로 기능 목록과 자동으로 생성된 새 이름이 포함됩니다.
  • 메서드 및 데이터 이름 바꾸기
    • 클라이언트 측에서 "이름 없는 모든 함수 이름 바꾸기"를 입력하면 AI가 문맥에 따라 함수의 용도를 추측하여 보다 직관적인 이름을 알려줍니다.
    • 수동 조정이 필요한 경우 이름이 변경된 결과가 Ghidra의 코드 보기에 동기화됩니다.
  • 멀웨어 분석
    • 멀웨어 샘플을 로드한 후 '잠재적 취약점 확인' 또는 '악성 행위 찾기'를 입력합니다.
    • AI는 파일의 가져오기 테이블, 문자열, 호출 관계를 스캔하여 의심스러운 네트워크 요청이나 파일 작업과 같은 보안 문제를 반환합니다.

워크플로

  1. Ghidra 및 MCP 클라이언트를 시작합니다.
  2. Ghidra에서 바이너리 파일을 가져온 후 '분석'을 클릭하여 초기 구문 분석을 시작합니다.
  3. MCP 클라이언트로 전환하여 "모든 문자열 추출" 또는 "함수 호출 분석"과 같은 분석 명령을 입력합니다.
  4. 반환된 결과를 보고 필요에 따라 지침을 조정하거나 세부 정보를 수동으로 확인합니다.
  5. 분석 결과를 저장하면 나중에 사용할 수 있도록 프로젝트 파일로 내보내기를 지원합니다.

주의

  • 네트워크가 열려 있는지 확인하고 일부 AI 모델을 온라인으로 호출해야 합니다.
  • 오류가 발생하면 bridge_mcp_ghidra.py 를 클릭하거나 GitHub의 이슈 페이지를 확인하여 도움을 받으세요.
  • 대용량 파일의 경우 분석에 시간이 더 걸릴 수 있으므로 먼저 작은 샘플을 테스트하는 것이 좋습니다.

 

애플리케이션 시나리오

  1. 멀웨어 연구
    보안 연구자들은 GhidraMCP를 사용하여 바이러스나 트로이 목마를 빠르게 분석하여 악성 코드의 실행 로직과 숨겨진 기능을 찾을 수 있습니다.
  2. 소프트웨어 취약점 마이닝
    개발자는 이 기능을 사용하여 버퍼 오버플로 또는 무단 액세스와 같은 잠재적인 보안 취약점이 있는지 바이너리를 검사할 수 있습니다.
  3. 리버스 엔지니어링 알아보기
    초보자도 AI의 도움을 받아 바이너리 파일의 구조와 기능을 빠르게 이해할 수 있어 학습 문턱이 낮아집니다.

 

QA

  1. GhidraMCP는 어떤 운영 체제를 지원하나요?
    Windows, Mac, Linux 등 Ghidra가 지원하는 모든 시스템과 호환됩니다.
  2. 프로그래밍 경험이 필요하신가요?
    필요하지 않습니다. 설치 및 기본 사용은 단계별 과정입니다. 그러나 기능을 사용자 지정하려면 Java 또는 Python에 대한 지식이 있으면 유리합니다.
  3. 오프라인에서도 사용할 수 있나요?
    예, 하지만 일부 AI 모델은 네트워크에 연결해야 합니다. 로컬 모델을 사용하는 경우 완전히 오프라인으로 실행할 수 있습니다.
© 저작권 정책
AiPPT

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...