BishopFox/aimap
AIMap is a Bishop Fox tool that discovers publicly exposed AI/ML endpoints (MCP servers, Ollama, vLLM/LiteLLM proxies, LangServe chains, Gradio apps, ComfyUI nodes) via 32+ curated Shodan queries, fingerprints them with Nuclei templates and live HTTP probes, and computes a 0-10 risk score based on auth, tool exposure, CORS, TLS, and system-prompt leakage. It also launches protocol-specific attack suites — MCP tool abuse, Ollama model extraction, prompt injection — with real-time streaming results and a Shodan-style query search interface plus a 3D globe visualization of findings.
What it is
AIMap (BishopFox/aimap) is a self-hosted platform you deploy yourself — not a service. It combines a React/Vite SPA, a Python/FastAPI backend with async MongoDB (Motor) and Redis Streams, and a discovery engine that chains Shodan → httpx liveness → Nuclei → an enrichment/scoring pipeline. Scanning ships with 5 custom Nuclei YAML templates (MCP server detection, MCP tool enumeration, OpenAI-compatible API detection, LangServe detection, prompt-leak testing).
Preconditions / operational requirements
- Python 3.12+, Node 18+, MongoDB 7+, Redis 7+ (optional; falls back to in-memory), Nuclei (optional; required for active scanning).
- A Shodan API key is required for any discovery scan. Censys (
CENSYS_API_ID/SECRET) andANTHROPIC_API_KEY(for "AI-powered attack analysis") are optional. - Explicit legal warning: authorized pen-testing only, against systems you own or have written permission to test.
What to do
Docker path brings up four services (MongoDB 27017, Redis 6379, backend 8000, frontend 80):
git clone git@github.com:BishopFox/aimap.git
cd aimap
cp .env.example .env
# Edit .env — at minimum set SHODAN_API_KEY
docker compose up --buildThen open http://localhost.
Security-relevant defaults to change before exposing this anywhere:
CORS_ORIGINS=*by default — allows all origins.- Auth is off unless configured. AIMap uses Clerk; leaving
CLERK_ISSUERempty makes the backend "accept all requests with a synthetic local user identity." To enable auth, setCLERK_ISSUER=https://your-app.clerk.accounts.devand, infrontend/.env.local,VITE_CLERK_PUBLISHABLE_KEY=pk_test_.... MODAL_ENABLED=falseby default; setting it dispatches scans/attacks to Modal serverless containers.
Risk-score thresholds the search language exposes (useful for triage queries):
risk:critical # >= 9.0
risk:high # 7.0 – 8.9
risk:medium # 4.0 – 6.9
risk:low # 1.0 – 3.9Filters combine, e.g. protocol:mcp auth:none country:US or risk:critical tool:exec_code. Scans can be scoped to a CIDR — the orchestrator prepends net:<cidr> to each Shodan query.
Caveats
The page describes only 5 Nuclei templates and "32+ curated" Shodan queries; coverage is whatever those enumerate. Active scanning and discovery are both gated on external dependencies (Nuclei binary, Shodan key) — without them the tool is inert. No version, release date, or CVE is given.
Technologies named here
Techniques named here
- MCP tool abuse
- Ollama model extraction
- OpenAI-compatible API abuse
- Prompt leak testing
- Risk scoring
- CIDR-scoped discovery
Related in AI Security
