テック技報最新号へ →
セキュリティ

IDA データベースを SQL/AI エージェントで解析する(IDASQL)

IDA Pro の DB を SQL で読み書きし、HTTP/MCP 経由で AI エージェントに関数注釈や xref 調査を任せる。Python 実行は既定オフ、待ち受けは localhost。

@MalwareBibleJP · 2026-10-11
#malware-analysis#ida#sql#ai-agent#reverse-engineering

何を解決するか / いつ使うか

  • マルウェア解析で、文字列・API 参照・構造体メンバーを横断検索したいとき。
  • Claude Code などに IDA をバックグラウンド起動させ、相互参照の順位付けや不審 URL の洗い出しを手伝わせたいとき(AI で自社サービスをセルフペネトレーションする とは別の「解析補助」用途)。
  • GUI 操作とエージェント接続を、ローカル HTTP サーバーで橋渡ししたいとき。

手順の概要

  1. GitHub の allthingsida/idasql を導入する(商用含め無料。独自の Human-Origin Source License。改変の独自保守や AI 入力からの派生実装には書面許可が必要な条項あり)。
  2. IDA 9.2 / 9.3 / 9.4 向けにビルドが分かれる(9.4 は Windows Arm64 ネイティブ版あり)。v0.0.18.1 で 9.3 の読み込み不具合が修正済み。
  3. エージェント連携の二系統
    • 別配布の idasql-skills を Claude Code 等に入れ、エージェントが IDA を起動して注釈付けする。
    • GUI の idasql プロンプトで .http start し、起動したサーバーにエージェントを接続する。
  4. 指示例(投稿で挙げられたもの)
    • "password" 文字列を参照する関数を xref 数で順位付け。
    • CreateFileW の呼び出し元とエラー処理の要約。
    • 埋め込み不審 URL と参照元関数の特定。
  5. 安全寄りの既定
    • IDAPython 実行は既定無効。v0.0.19 では runtime_settings の enable_idapython を UPDATE で 1 にしてセッションごとに有効化(7月版の PRAGMA 指定はエラーになる)。
    • サーバー待ち受けは既定 127.0.0.1。HTTP/REPL には任意で認証トークン。MCP サーバーには認証が無いと README に明記されている点に注意。
  6. v0.0.19 付近の追加: FLIRT シグネチャー適用、名前付き地点までのチェックポイント(取り消し)、IDAPython からの SQL 実行など。構造体メンバー型は types_members.member_type への INSERT/UPDATE で変更可能。

注意点

  • MCP 無認証+エージェント接続は、AI エージェントに資格情報を渡す 4 パターンと使い分けと同様、localhost 以外に晒さない・ホストのファイアウォールで閉じる。
  • 解析対象は悪性の可能性が高い。隔離環境で使い、ライセンス条項(派生・改変)は組織ポリシーで確認する。
  • 版によって設定方法が変わる(PRAGMA → runtime_settings など)。導入時は当該版 README を正とする。

出典

X の元の投稿を開く