Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/bishopfox/aimap
OSINT (オープンソースインテリジェンス)偵察脆弱性スキャナーウェブアプリケーション悪用情報収集ウェブセキュリティペネトレーションテストレッドチーミングAIセキュリティ
GitHubbishopfox/aimap

aimap

露出したAIサービスを発見

リポジトリを見る
311463ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
aimap — 露出したAIサービスを発見 | Kitploit

AIMap

露出したAIエージェントインフラ向けのインターネット規模の探索・セキュリティテストプラットフォーム。

AIMap UI Tour

AIMapは、公開されているAIエンドポイント(MCPサーバー、Ollamaインスタンス、vLLM/LiteLLMプロキシ、LangServeチェーン、Gradioアプリ、ComfyUIノードなど)を発見、フィンガープリント、セキュリティテストします。ShodanをAIエージェントのアタックサーフェスに特化させたものと考えてください。

Bishop Fox によって構築されました。

警告 このツールは許可された侵入テストおよびセキュリティ研究のみを目的としています。所有しているシステム、またはテストする明示的な書面による許可を得たシステムに対してのみAIMapを使用してください。コンピュータシステムへの不正アクセスは違法です。Bishop Foxは一切の責任を負わず、このツールの誤用や損害について責任を負いません。責任を持って使用してください。


機能

  1. 発見 — Shodanに32以上の厳選された検索クエリを実行し、インターネット上の露出したAI/MLエンドポイントを見つけます
  2. フィンガープリント — NucleiテンプレートとライブHTTPチェックで各エンドポイントをプローブし、プロトコル、フレームワーク、認証状況、ツール、モデル、システムプロンプトを特定します
  3. スコアリング — 認証、ツール露出、CORSポリシー、TLS、システムプロンプト漏洩、危険な機能の組み合わせに基づいて0~10のリスクスコアを計算します
  4. テスト — プロトコル固有の攻撃スイート(MCPツール乱用、Ollamaモデル抽出、プロンプトインジェクション)をリアルタイムストリーミング結果とともに起動します
  5. 可視化 — 発見されたすべてのエンドポイントを表示する3D地球儀、Shodanスタイルのクエリ言語で検索可能です

アーキテクチャ

root@kitploit:~
┌─────────────┐     ┌──────────────┐     ┌───────────┐
│  React SPA  │────▶│  FastAPI      │────▶│  MongoDB  │
│  (Vite)     │ WS  │  Backend      │     │           │
└─────────────┘     └──────┬───────┘     └───────────┘
                           │
              ┌────────────┼────────────┐
              ▼            ▼            ▼
        ┌──────────┐ ┌──────────┐ ┌──────────┐
        │  Shodan  │ │  Nuclei  │ │  Redis   │
        │  API     │ │  Scanner │ │  Streams │
        └──────────┘ └──────────┘ └──────────┘

バックエンド — Python/FastAPI、非同期MongoDB (Motor)、攻撃ログストリーミング用のRedis Streams、およびShodanクエリ→httpx死活チェック→Nucleiテンプレートスキャン→エンリッチメントパイプラインを調整する探索エンジン。

フロントエンド — React 18 + TypeScript + Tailwind CSS + shadcn/ui。3D地球儀 (globe.gl)、WebSocketによるリアルタイム攻撃ストリーミング、Shodanスタイルの検索インターフェースを特徴としています。

スキャン — MCPサーバー検出、MCPツール列挙、OpenAI互換API検出、LangServe検出、プロンプト漏洩テストのための5つのカスタムNuclei YAMLテンプレート。


サポートされているプロトコル


リスクスコアリング

各エンドポイントには、以下から計算された0~10のリスクスコアが割り当てられます。


セットアップ

前提条件

  • Python 3.12+
  • Node.js 18+
  • MongoDB 7+
  • Redis 7+ (オプション — ローカル開発ではインメモリにフォールバック)
  • Nuclei (オプション — アクティブスキャンに必要)
  • Shodan APIキー (探索スキャンに必須)

クイックスタート (Docker Compose)

root@kitploit:~
# クローン
git clone [email protected]:BishopFox/aimap.git
cd aimap

# 設定
cp .env.example .env
# .env を編集 — 最低でも SHODAN_API_KEY を設定

# 起動
docker compose up --build

これにより4つのサービスが起動します。

  • MongoDB — ポート27017
  • Redis — ポート6379
  • バックエンド — ポート8000
  • フロントエンド — ポート80

http://localhost を開いてUIにアクセスします。

ローカル開発 (Dockerなし)

root@kitploit:~
# バックエンド
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000

# フロントエンド (別のターミナル)
cd frontend
npm install
npm run dev   # http://localhost:5173 で起動

MongoDBがローカルのポート27017で実行されていることを確認してください。Redisはオプションです — Redisが利用できない場合、バックエンドはインメモリバッファにフォールバックします。

環境変数

プロジェクトルートに.envファイルを作成します。

root@kitploit:~
# Required
SHODAN_API_KEY=your_shodan_api_key

# Optional — Censys as an additional discovery source
CENSYS_API_ID=
CENSYS_API_SECRET=

# Optional — enables AI-powered attack analysis
ANTHROPIC_API_KEY=

# MongoDB (defaults work for local dev)
MONGODB_URI=mongodb://localhost:27017
MONGODB_DB=aimap

# Redis (defaults work for local dev; optional)
REDIS_URL=redis://localhost:6379/0

# CORS (default allows all origins)
CORS_ORIGINS=*

# Modal serverless (dispatches scans/attacks to Modal containers)
MODAL_ENABLED=false

# Clerk auth — see below
CLERK_ISSUER=

認証 (Clerk)

AIMapは認証にClerkを使用しています。有効にするには:

  1. clerk.comでClerkアプリケーションを作成します
  2. バックエンドの発行者URLを設定します:
    root@kitploit:~
    # .env (プロジェクトルート)
    CLERK_ISSUER=https://your-app.clerk.accounts.dev
    
  3. フロントエンドの公開可能キーを設定します:
    root@kitploit:~
    # frontend/.env.local
    VITE_CLERK_PUBLISHABLE_KEY=pk_test_...
    

認証を無効にするには (ローカル開発、デモ): CLERK_ISSUERを空のままにするか設定しません。バックエンドはすべてのリクエストを合成されたlocalユーザーIDで受け入れます。


使い方

探索スキャンの実行

  1. サイドバーのスキャンに移動します
  2. 新しいスキャンをクリックします
  3. クエリプリセット(例: ollama、mcp_protocol、vllm)を選択するか、カスタムShodanクエリを入力します
  4. オプションでCIDR範囲を指定します(オーケストレーターが各クエリの先頭にnet:<cidr>を追加します)
  5. 実行をクリックします — スキャンパイプラインが実行されます:
    • Shodan検索 — 一致するホストを取得
    • httpxスイープ — ホストが稼働しているか確認
    • Nucleiスキャン — 稼働中のホストに対してカスタムテンプレートを実行
    • エンリッチメント — フレームワーク検出、認証プローブ、リスクスコアリング
  6. リアルタイムWebSocketステータスバー、またはスキャン詳細ページのポーリングで進行状況を監視します

エンドポイントの検索

Shodanスタイルのクエリ構文で検索バーを使用します。

root@kitploit:~
protocol:mcp                          # MCPサーバー
auth:none                             # 認証なし
risk:critical                         # リスクスコア >= 9.0
risk:high                             # リスクスコア 7.0 – 8.9
risk:medium                           # リスクスコア 4.0 – 6.9
risk:low                              # リスクスコア 1.0 – 3.9
tool:query_db                         # 特定のツールを公開しているエンドポイント
country:US                            # 国コードで検索
port:11434                            # ポート番号で検索
org:"Amazon AWS"                      # ホスティング組織で検索(複数語は引用符で囲む)
has:system_prompt                     # システムプロンプトが漏洩しているエンドポイント

フィルターを自由に組み合わせられます。

root@kitploit:~
protocol:mcp auth:none country:US     # 米国の認証なしMCPサーバー
risk:critical tool:exec_code          # コード実行ツールがあるクリティカルエンドポイント
protocol:ollama port:11434            # デフォルトポートのOllama

key:valueパターンに一致しないテキストは、すべての索引化されたフィールドに対するフリーテキスト検索として扱われます。

攻撃テストの起動

  1. エンドポイントの詳細ページに移動します
  2. 攻撃をクリックしてテストパネルを開きます
  3. 攻撃プロファイルを選択します — システムがプロトコルに基づいてエンジンを自動選択します:
    • MCP → ツール列挙、不正なツール呼び出し、ツール説明によるプロンプトインジェクション
    • Ollama → モデル一覧表示、モデル重み抽出、プロンプトインジェクション
    • OpenAI互換 → モデル列挙、補完悪用、システムプロンプト抽出
  4. WebSocketを介して結果がリアルタイムでストリーミングされるのを確認します
  5. 結果には重大度評価、生のリクエスト/レスポンスペア、および修復ガイダンスが含まれます

地球儀の探索

ランディングページには、発見されたすべてのエンドポイントを示すインタラクティブな3D地球儀があります。

  • ピンの色 = プロトコルタイプ(青=MCP、緑=Ollama、紫=OpenAI互換など)
  • ピンの高さ = リスクスコア
  • ホバーでエンドポイントの概要(IP、ポート、プロトコル、リスク、認証、ツール、モデル、場所)を表示
  • クリックでエンドポイントの詳細ページに移動
  • マウスドラッグで回転、スクロールでズーム

Nucleiテンプレート

templates/ ディレクトリ内のカスタムテンプレート:


APIリファレンス

すべてのエンドポイントは /api/ でプレフィックスされます。


プロジェクト構造

root@kitploit:~
aimap/
├── backend/
│   ├── app/
│   │   ├── main.py                  # FastAPIアプリ、ライフスパン、CORS、ルーター
│   │   ├── config.py                # 環境変数からのPydantic設定
│   │   ├── auth.py                  # Clerk JWT検証(CLERK_ISSUERが空の場合はバイパス)
│   │   ├── database.py              # 非同期MongoDB (Motor) 接続
│   │   ├── limiter.py               # SlowAPIレート制限
│   │   ├── routes/
│   │   │   ├── endpoints.py         # CRUD + 検索 + 地球儀 + エンリッチメント
│   │   │   ├── scans.py             # スキャンライフサイクル + 実行 + WebSocket
│   │   │   └── attack.py            # 攻撃ディスパッチ + Redisストリーム + WebSocket
│   │   ├── discovery/
│   │   │   ├── orchestrator.py      # スキャンパイプライン: Shodan → httpx → Nuclei → 取り込み
│   │   │   ├── shodan_adapter.py    # 32の厳選されたShodanクエリ + 結果の正規化
│   │   │   ├── nuclei_runner.py     # Nucleiサブプロセスランナー + 結果パーサー
│   │   │   └── base.py              # SourceAdapter抽象基底
│   │   └── services/
│   │       ├── attack_mcp.py        # MCPプロトコル攻撃エンジン
│   │       ├── attack_ollama.py     # Ollama攻撃エンジン
│   │       ├── attack_openclaw.py   # OpenClaw/Clawdbot攻撃エンジン
│   │       ├── enrichment.py        # Shodan/Nucleiエンリッチメント + リスクスコアリング
│   │       ├── live_probe.py        # モデル/ツール列挙のためのHTTPプローブ
│   │       ├── search.py            # Shodanスタイルクエリパーサー → MongoDBフィルター
│   │       ├── redis_client.py      # フォールバック付き非同期Redisシングルトン
│   │       └── concurrency.py       # セマフォ + Redisベースのスロット制限
│   ├── Dockerfile
│   └── requirements.txt
├── frontend/
│   ├── src/
│   │   ├── App.tsx                  # ルート + Clerk認証ラッパー
│   │   ├── pages/
│   │   │   ├── Marketing.tsx        # 3D地球儀付き公開ランディングページ
│   │   │   ├── Landing.tsx          # 地球儀付き認証済みダッシュボード
│   │   │   ├── Search.tsx           # クエリ構文を使用したエンドポイント検索
│   │   │   ├── Explore.tsx          # すべてのエンドポイントのブラウズ/フィルター
│   │   │   ├── AgentDetail.tsx      # 単一エンドポイントの詳細
│   │   │   ├── TestAgent.tsx        # 攻撃テストランチャー
│   │   │   ├── Scans.tsx            # スキャン管理
│   │   │   └── Ranges.tsx           # CIDR範囲管理
│   │   ├── components/
│   │   │   ├── GlobeVisualization.tsx  # globe.gl 3D地球儀 + 凡例
│   │   │   ├── Layout.tsx           # アプリシェル(サイドバー + ナビバー)
│   │   │   └── ui/                  # shadcn/uiコンポーネント
│   │   ├── hooks/useApi.ts          # すべてのAPIエンドポイント用SWRフック
│   │   └── lib/api-client.ts        # Clerkトークン注入付きFetchラッパー
│   ├── Dockerfile
│   ├── nginx.conf
│   └── tailwind.config.js
├── templates/                       # Nuclei YAMLテンプレート
├── docs/                            # GitHub Pages静的サイト
├── docker-compose.yml
├── .env.example
└── README.md

同時実行制限

プラットフォームは、悪用を防ぐためにグローバルな同時実行制限を適用します。

  • 最大3つの同時スキャン — 追加のスキャンはHTTP 429を受信します
  • 最大5つの同時攻撃 — 追加の攻撃はHTTP 429を受信します
  • レート制限 — スキャンおよび攻撃作成エンドポイントで1分あたり10リクエスト

Docker Composeを使用する場合、これらの制限はRedisカウンター(クロスコンテナ)を介して適用されます。ローカル開発モードでは、asyncio.Semaphore(シングルプロセス)にフォールバックします。


オプション: Modal サーバーレス

大量のスキャンワークロードのために、スキャンと攻撃をM相談コンテナにディスパッチできます。

root@kitploit:~
MODAL_ENABLED=true

有効にすると、POST /scans/{id}/run と POST /attack は、ローカルで実行する代わりに modal.Function.from_name("aimap", "run_scan_task") / run_attack_task を呼び出します。Modalディスパッチが失敗した場合はローカル実行にフォールバックします。


ライセンス

MITライセンス。詳細はLICENSEをご覧ください。

このプロジェクトはBishop Foxによってメンテナンスされています。

ツールをダウンロード
プロトコル検出方法Shodanクエリ数
MCP (Model Context Protocol)SSEトランスポート、JSON-RPC、/mcp/sse パス4クエリ
Ollamaデフォルトポート11434、プロダクトフィンガープリント3クエリ
vLLM / LiteLLM / LocalAI/v1/models、/v1/chat/completions エンドポイント4クエリ
LangServe / LangChainPlaygroundエンドポイント、langserveマーカー2クエリ
OpenClaw / Clawdbotコントロールダッシュボード、ポート187893クエリ
Open WebUI / LibreChatタイトルベースの検出2クエリ
Gradioタイトル、フッターウォーターマーク、ファビコンハッシュ3クエリ
Streamlitタイトル、ファビコンハッシュ2クエリ
ComfyUI / Stable Diffusionタイトル、ポートベースの検出4クエリ
HuggingFace TGIHTMLマーカー1クエリ
汎用推論/api/generate、/api/tags パス2クエリ
要素スコアへの影響
認証なし+4.0
認証ステータス不明+1.0
10以上のツール露出+2.0
5以上のツール露出+1.0
クリティカルリスクツール(例:exec_code、run_shell)それぞれ +1.0
高リスクツール(例:query_db、file_read)それぞれ +0.5
オープンCORS(*)+1.0
TLSなし+0.5
システムプロンプト漏洩+0.5
モデル露出+1.0
無検閲モデル検出+2.0
サインアップ有効(招待不要)+1.5
危険な組み合わせ(例:認証なし+コード実行ツール)それぞれ +1.0
テンプレート目的
mcp-server-detect.yamlSSEトランスポートとJSON-RPC機能レスポンスを介してMCPサーバーを検出
mcp-tool-enum.yamlMCPサーバーが公開するツール(名前、説明、入力スキーマ)を列挙
openai-compat-detect.yaml/v1/models を介してOpenAI互換エンドポイントを検出
langserve-detect.yaml公開されたPlaygroundを備えたLangServeデプロイメントを検出
prompt-leak.yaml一般的なインジェクション手法によるシステムプロンプト抽出を試行
メソッドパス説明
GET/healthヘルスチェック
GET/endpointsエンドポイント一覧(ページネーション、フィルタリング可能)
POST/endpoints/searchクエリ構文を使用した高度な検索
GET/endpoints/globe3D地球儀用の地理データ
GET/endpoints/stats集計統計
GET/endpoints/{id}エンドポイント詳細
POST/endpoints/{id}/enrich1つのエンドポイントのエンリッチメントをトリガー
POST/endpoints/enrich-all一括エンリッチメント
GET/scansスキャン一覧
POST/scansスキャン作成
POST/scans/{id}/runスキャン実行
GET/scans/query-presets利用可能なShodanクエリプリセット
WS/scans/{id}/progressライブスキャン進行状況
POST/attack攻撃テストを起動
WS/attack/{id}/streamライブ攻撃ログストリーム
GET/attack/{id}/status攻撃ステータス