mrexodia/ida-pro-mcp

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

何を解決するか

このプロジェクトは、IDA Proディスアセンブラおよびデコンパイラを大規模言語モデル(LLM)に接続するモデルコンテキストプロトコル(MCP)サーバーを提供します。これにより、「バイブリバース」が可能になり、AIエージェントがIDA Pro内のバイナリデータベースをインタラクティブに分析・リネーム・コメント・変更することで、リバースエンジニアリング作業を支援できます。

動作方法

サーバーは、MCP互換クライアント(Claude、Cursor、VS Codeなど)とIDA Proの間のブリッジとして機能します。主に2つのモードで動作します:

  1. GUIモード:実行中のIDA Pro GUIインスタンスに接続します。
  2. ヘッドレスモード:idalibを使用してデータベースワーカーを分離プロセスとして管理し、GUIなしでLLMがバイナリを開いて分析できるようにします。

LLMに包括的なツールセットを提供しており、デコンパイル、ディスアセンブリ、クロスリファレンス、メモリ読み取り、アセンブリのパッチ適用、さらにはデバッガ制御も可能です。また、IDBメタデータ、セグメント、型情報の閲覧に使える読み取り専用リソースも提供します。

対象ユーザー

変数のリネーム、関数ロジックのドキュメント化、オブスカレートコード内のパターンの特定など、バイナリ解析の面倒な部分をLLMで自動化したいリバースエンジニアやセキュリティ研究者。

特徴

  • 包括的なツールセット:デコンパイル、パッチ適用、型宣言、高度な制御フローアナリシスのためのツールを含む。
  • ヘッドレス分析:idalibのサポートにより、スケーラブルでバックグラウンドでのバイナリ分析が可能。
  • デバッガ統合:ステップ実行、ブレークポイント、レジスタの確認など、IDAデバッガを制御するオプション拡張機能。
  • pyridazine対応API:強力な型指定とバッチ優先設計により、複数操作を効率的に処理し、カーソルベースのページネーションでトークンオーバーフローを低減。
  • Python実行:py_evalを介して、LLMがIDAコンテキスト内で任意のPythonコードを実行可能。

関連

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