MeroZemory/ida-multi-mcp
Multi-instance IDA Pro MCP server — analyze multiple binaries simultaneously through a single MCP endpoint.
해결하는 문제
ida-multi-mcp는 단일 Model Context Protocol (MCP) 엔드포인트를 통해 AI 에이전트가 여러 바이너리를 동시에 역분석할 수 있도록 합니다. 각 바이너리별 클라이언트 설정이 필요 없으며, IDA Pro의 자동 분석 프로세스를 기반으로 도구를 가로막음으로써 AI 에이전트가 불완전한 답변을 제공하는 것을 방지합니다.
작동 방식
이 프로젝트는 MCP 클라이언트(Claude Code 또는 Cursor 등)와 여러 IDA Pro 프로세스 사이에 놓이는 라우터를 구현합니다.
- 발견: IDA 플러그인이 열린 데이터베이스를 공유 JSON 레지스트리 파일에 등록합니다. 라우터는 이후 동적으로 이러한 인스턴스를 탐지합니다.
- 라우팅:
instance_id를 사용하여 HTTP JSON-RPC를 통해 요청을 올바른 IDA 프로세스로 전달합니다. - 분석 가드:
analysis_status및analysis_wait와 같은 특정 도구를 제공하여 에이전트가 함수를 디컴파일하거나 분석하기 전에 IDA가 백그라운드 분석을 완료했는지 확인합니다. - 유사성 검색: MinHash, CFG 구조, 그리고 선택적 신경 임베딩 기반의 Binary Code Similarity Detection (BCSD)를 사용하여 심볼이 제거된 바이너리 간에도 유사한 함수를 찾습니다.
- 헤드리스 모드: GUI 없이 분석을 수행할 수 있는
idalib를 지원합니다.
대상 사용자
IDA Pro를 사용하고, 여러 파일에서 복잡한 악성코드 체인(예: 드롭퍼, 페이로드, C2 서버)을 동시에 AI 에이전트로 분석하고자 하는 리버스 엔지니어 및 보안 연구자.
주요 기능
- 제로 설정 발견: 데이터베이스가 열릴 때 인스턴스가 자동 등록됩니다.
- 다중 바이너리 유사성: 변형 탐지 및 라이브러리 식별을 위한 로컬 스코어링 및 인덱싱.
- 병렬 실행: 워커 풀에서 요청을 실행하여 한 번에 바쁜 IDA 인스턴스가 다른 인스턴스를 차단하는 것을 방지합니다.
- 에이전트 인식 가드: 자동 분석이 완료되지 않은 상태에서 결과가 생성된 경우 에이전트에게 경고합니다.
- 로컬 우선: 모든 스코어링, 추론 및 바이너리 데이터는 로컬 머신에 유지됩니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트