mcpField
H
headless-ida-mcp-server

headless-ida-mcp-server

ローカル
github.com/cnitlrtセキュリティ4582 週間前に更新

headless-ida-mcp-server について

headless-ida-mcp-server は、IDA Pro のヘッドレスモード(idat)を利用するMCPサーバーです。対話型のIDAプラグインではなく、コマンドラインアプリケーションとして実行できます。バイナリファイルを解析する利用者向けに、関数や変数などを操作するツール群を提供します。

主な機能

  1. 01IDAプラグインを使わずコマンドラインで実行
  2. 02IDA Pro ヘッドレスモードによるバイナリ解析
  3. 03関数と変数を操作するMCPツール
  4. 04sse と stdio のトランスポートモード対応

活用シーン

  1. 01バイナリファイルのリバースエンジニアリングの自動化
  2. 02MCPクライアントからのIDA解析機能の呼び出し
  3. 03GUIのないサーバーでのIDA解析の実行

MCP 対応

このプロジェクトはMCPサーバーであり、IDA Pro の関数および変数の操作をMCPクライアントから呼び出せるツールとして公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

謝辞

このプロジェクトは、以下の成果を基盤としています。

  • ida-pro-mcp のツールコードを mrexodia 氏の成果から応用しています
  • DennyDai 氏の headless-ida ライブラリを使用しています

Headless IDA MCP サーバー

IDA プラグインを対話的に実行するのではなく、サーバーを CLI アプリとして直接実行したい場合は、この方法を選択できます。

プロジェクトの説明

このプロジェクトでは、IDA Pro のヘッドレスモードを使用してバイナリファイルを分析し、MCP 経由で関数や変数などを管理・操作するためのツール一式を提供します。

前提条件

インストール

  1. プロジェクトをローカルにクローンします。

    git clone https://github.com/cnitlrt/headless-ida-mcp-server.git 
    cd headless-ida-mcp-server
    
  2. 依存関係をインストールします。

    uv python install 3.12
    uv venv --python 3.12
    uv pip install -e .
    

設定

  1. サンプルの環境ファイルをコピーします。

    cp .env_example .env
    
  2. .env で以下の環境変数を設定します。

    • IDA_PATH:IDA Pro のヘッドレス実行ファイル(idat)へのパス。例:/home/ubuntu/idapro/idat
    • PORT:MCP サーバーのポート番号。例:8888
    • HOST:MCP サーバーのホストアドレス。例:127.0.0.1
    • TRANSPORT:MCP のトランスポートモード(sse または stdio)

使い方

  1. サーバーを起動します。

    uv run headless_ida_mcp_server
    
  2. MCP クライアントを使ってサーバーに接続します。

    デバッグする場合:

    npx -y @modelcontextprotocol/inspector
    

    または

    {
    "mcpServers": {
       "ida": {
          "command": "/path/to/uv",
          "args": ["--directory","path/to/headless-ida-mcp-server","run","headless_ida_mcp_server"]
       }
    }
    }
    

README の画像

README の画像

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。