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 インスタンスが他のインスタンスをブロックすることを防ぎます。
- エージェント対応ガード: 自動分析が不完全な状態で結果が生成されている場合、エージェントに警告を表示します。
- ローカル最優先: すべてのスコアリング、推論、バイナリデータはローカルマシン上に留まります。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト