AIMap - AI インフラストラクチャ 露出スキャナー チートシート
AIMapはインターネット上の露出したAIインフラストラクチャを見つけるためのオープンソースプラットフォーム。チームがLLMを自己ホストする際に、多くのOllamaサーバー、MCPエンドポイント、推論プロキシが認証なしでパブリックインターネットから到達可能になっている。AIMapはこれを規模で発見し、実行内容をフィンガープリント化し、露出度を評価し、テストを許可されたターゲットに対してプロトコル固有の攻撃テストを実行できる。AIサービング層のnmapと考えればよい。
承認されたターゲットのみ。 インターネット規模での発見と積極的なプロトコルテストには法的な影響がある。自分が所有するか、明示的にテストを許可されているアセットのみをスキャンする。
インストール
| 方法 | コマンド |
|---|
| pip | pip install aimap |
| Docker | docker run -it aimap/aimap |
| ソースから | リポジトリをgit cloneした後、pip install -e . |
| 確認 | aimap --version |
コア使用法
| コマンド | 説明 |
|---|
aimap scan 10.0.0.0/24 | 自分が所有するCIDRをAIサービスでスキャンする |
aimap scan --target host:11434 | 特定のエンドポイントをチェックする |
aimap fingerprint <target> | サービスとバージョンを特定する |
aimap score <target> | 露出度スコアを作成する |
aimap --help | 完全なオプション一覧 |
発見するもの
| サービス | デフォルトポート | 露出時のリスク |
|---|
| Ollama | 11434 | モデルリスティング、プロンプト悪用、リソース盗難 |
| MCPエンドポイント | 様々 | ツール呼び出し、データアクセス |
| 推論プロキシ | 8000/8080 | 無制限のモデルアクセス |
| vLLM / OpenAI互換 | 8000 | 無料推論、プロンプト流出 |
| ベクトルデータベース | 6333/8080 | 埋め込みドキュメント流出 |
露出度スコアリング
| 要因 | スコアを上昇させる |
|---|
| 認証なし | 誰でもAPIを呼び出せる |
| モデルリスティング有効 | 内部モデルのインベントリが明かされる |
| ツールアクセス (MCP) | エンドポイントがアクションを取ることができる |
| 冗長なエラー | 設定/パスを流出させる |
| 書き込み可能なエンドポイント | モデルアップロード/削除が可能 |
プロトコルテスト
| テスト | チェック内容 |
|---|
| 認証なしアクセス | APIはキーなしで応答するか? |
| モデルの列挙 | モデルをリスト化できるか? |
| プロンプトインジェクション表面 | システムプロンプトに到達可能か? |
| リソース悪用 | 攻撃者は無料で推論を実行できるか? |
| MCPツールインベントリ | どのツールを呼び出すことができるか? |
共通のワークフロー
# 自分が所有するインフラストラクチャで誤って露出したAIサービスをチェックする
aimap scan 10.0.0.0/16 --output exposure.json
# 特定の自己ホストOllamaがパブリックに到達可能でないことを確認する
aimap fingerprint ollama.internal.example.com:11434
# コンプライアンスレビューのためにスコア化してレポートする
aimap score --target api.internal.example.com --format json
防御チェックリスト
| 制御 | 理由 |
|---|
| localhostにバインド | OLLAMA_HOST=127.0.0.1 (0.0.0.0ではなく) |
| 認証プロキシ | 認証リバースプロキシを前に配置する |
| ネットワークポリシー | ファイアウォール/VPCルール;11434を公開しない |
| レート制限 | リソース悪用攻撃を抑制する |
| 監視 | 予期しない推論トラフィックでアラート |
最も一般的な実際の結果は、単にOllamaサーバーがパブリックIPを持つホストの0.0.0.0にバインドされていることである。
AIMap vs 汎用スキャナー
| 側面 | AIMap | nmap | Shodan |
|---|
| 焦点 | AI/LLMサービング層 | 汎用ポート/サービス | インターネット全体のインデックス |
| フィンガープリント | AIプロトコル対応 | 汎用サービスプローブ | バナーベース |
| 攻撃テスト | AI固有 | スクリプト (NSE) | なし |
| 最適用途 | AIインフラ露出監査 | 一般的な偵察 | パッシブディスカバリー |
リソース