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) エンドポイントを1つだけ使用して、複数のバイナリを同時に逆アセンブルできるようにします。各バイナリごとのクライアント設定の必要性を排除し、AIエージェントが不完全な回答を提供するのを防ぐために、IDA Proの自動分析プロセスの前にツールをガードします。

動作方法

このプロジェクトは、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エージェントで分析したいリバースエンジニアやセキュリティ研究者。

特徴

  • ゼロ設定の発見: データベースが開かれたときにインスタンスが自動登録されます。
  • バイナリ間類似性: バリアント検出やライブラリ識別に適したローカルスコアリングとインデックス化。
  • 並列実行: ワーカープール上でリクエストを実行し、1つの忙しい IDA インスタンスが他のインスタンスをブロックすることを防ぎます。
  • エージェント対応ガード: 自動分析が不完全な状態で結果が生成されている場合、エージェントに警告を表示します。
  • ローカル最優先: すべてのスコアリング、推論、バイナリデータはローカルマシン上に留まります。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト