mrexodia/ida-pro-mcp

AI-powered reverse engineering assistant that bridges IDA Pro with language models through MCP.

해결하는 문제

이 프로젝트는 대규모 언어 모델(LLM)이 전문 디어셈블러이자 리버스 엔지니어링 도구인 IDA Pro와 직접 상호작용할 수 있게 함으로써 "바이브 리버싱"을 가능하게 합니다. AI 어시스턴트와 복잡한 바이너리 분석 환경 사이의 간극을 메우며, 사용자가 수동으로 데이터를 복사-붙여넣기 할 필요 없이 코드 디컴파일, 변수 이름 변경, 제어 흐름 분석과 같은 작업을 AI가 수행할 수 있게 합니다.

작동 방식

Model Context Protocol (MCP) 서버를 구현하여 IDA Pro의 내부 기능을 MCP 호환 클라이언트(Claude, Cursor, VS Code 등)용 도구 및 리소스로 노출합니다. 다음 두 가지 모드로 작동할 수 있습니다:

  1. GUI 모드: 실행 중인 IDA Pro 인터페이스에 연결합니다.
  2. 헤드리스 모드: idalib를 사용해 데이터베이스 워커를 분리된 프로세스로 관리하여 시각적 GUI 없이 자동 분석을 수행할 수 있습니다.

대상 사용자

함수 문서화, 패턴 식별, 디컴파일된 코드 정리와 같은 바이너리 분석의 번거로운 부분을 LLM을 활용해 자동화하고 싶은 리버스 엔지니어 및 보안 연구자에게 적합합니다.

주요 기능

  • 포괄적인 도구 세트: 디컴파일, 디어셈블리, 크로스참조, 메모리 읽기, 패치 적용을 위한 도구 제공.
  • 데이터베이스 관리: 복수의 동시 데이터베이스 세션을 지원하며, 헤드리스 워커를 관리하는 감시자 기능을 갖춤.
  • 인터랙티브 디버깅: 브레이크포인트, 레지스터 확인, 메모리 쓰기 등을 포함한 디버거 제어용 선택적 확장 기능 포함.
  • 직접 수정 가능: 변수 이름 변경, 타입 선언, 주석 추가 등을 통해 LLM이 IDA 데이터베이스를 직접 개선할 수 있음.
  • 고급 검색: 정규표현식 문자열 검색 및 바이트 패턴 매칭 지원.
  • Python 통합: py_eval 도구를 통해 IDA 컨텍스트 내에서 임의의 Python 코드를 실행할 수 있음.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트