explaingit

1ncendium/aibuster

5PythonAudience · ops devopsComplexity · 3/5ActiveSetup · moderate

TLDR

Offensive-security recon CLI that scans URLs for AI agents, MCP servers, and 23+ AI/ML services, then triages findings in a JSON report and a Material 3 web UI.

Mindmap

mindmap
  root((aibuster))
    Inputs
      Target URLs
      Target file lists
      Bare hosts with port fan-out
    Outputs
      JSON recon report
      Material 3 web dashboard
      SVG orchestrator flow
    Use Cases
      Probe MCP servers
      Find unauth AI endpoints
      Map A2A agent skills
      Internal network recon
    Tech Stack
      Python
      httpx
      Flask
      Docker

Things people build with this

USE CASE 1

Sweep an internal network for exposed AI model servers and vector databases

USE CASE 2

Enumerate MCP server tools and resources during a pentest

USE CASE 3

Triage discovered AI services in a web UI with severity scoring

USE CASE 4

Diff scan reports across time to spot newly exposed AI endpoints

Tech stack

PythonhttpxFlaskDockerTailwind

Getting it running

Difficulty · moderate Time to first run · 30min

Needs Python 3.10+ or Docker, plus permission to scan the target network.

In plain English

aibuster is a reconnaissance tool for offensive security work that looks for AI-related services on a network. You point it at one or more web URLs, and it probes each one for things like AI agent description files, MCP servers, OpenAPI documentation, health endpoints, and a list of about 23 specific AI and machine-learning services such as Triton, TorchServe, vLLM, Ollama, Ray, MLflow, Airflow, Qdrant, Weaviate, Milvus, and LiteLLM. The output is a single JSON file and a web dashboard to triage what was found. The README is careful to call the tool domain-agnostic. It does not try to guess what a target is for; it only reports the kind of capability surface each service exposes, using generic buckets like database, code execution, filesystem, network, and secrets. Each finding gets a numeric score and a level from info up to critical. The tool also classifies sensitive endpoints as open, protected, or unknown by watching the HTTP status codes, and shows a red UNAUTH or green AUTH pill in the dashboard. For MCP servers it does a real JSON-RPC handshake, tracks the session header, and asks for the list of tools, resources, and prompts. For Agent-to-Agent discovery it reads the well-known agent.json files and parses the declared skills. When a target looks like an orchestrator, the UI draws an SVG flow diagram tying it to its downstream agents from the same report. The tool ships as a small Python project with only two runtime dependencies, httpx and Flask, and also as a Docker image. The README walks through scanning a single target, scanning a list of targets from a file, and a --scan-ports option that fans a bare host out across every default port the signature database knows about. After a scan, the same command can serve a Material 3 web UI on port 8088. The README does not name a license in the shown portion.

Copy-paste prompts

Prompt 1
Write a Dockerfile wrapper around aibuster that runs a daily scan of a CIDR range and posts the JSON report to S3
Prompt 2
Add a new service signature to aibuster for detecting Pinecone serverless endpoints with capability categories and ports
Prompt 3
Build a script that diffs two aibuster recon.json files and alerts on new UNAUTH findings in Slack
Prompt 4
Extend the aibuster Flask UI with a CSV export button for the current filtered target list
Prompt 5
Convert aibuster scan output into Nuclei-compatible templates for one-off retesting
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.