Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Armur-Ai/Pentest-Swarm-AI/llms.txt

Use this file to discover all available pages before exploring further.

Pentest Swarm AI is an open-source, autonomous penetration testing CLI built in Go that replaces the fixed recon → classify → exploit → report pipeline with a stigmergic swarm: specialist agents coordinate by reading and writing findings on a shared Postgres-backed blackboard rather than being dispatched by a central planner. Each finding carries a pheromone weight that decays over time, biasing agents toward high-signal paths and letting stale ones die naturally. The result is emergent attack chains that no single agent planned — and a workflow that scales to a thousand-subdomain target with a single command and a single Claude API key. Built on Go 1.24, the Anthropic Claude API, and the ProjectDiscovery toolchain, Pentest Swarm AI ships as a self-contained binary with a multi-panel TUI, a live Next.js dashboard, an MCP server for Claude Desktop and Cursor integration, and five community playbooks covering bug bounty, external ASM, CI/CD, internal network, and CTF scenarios.
Authorization required — read before running any scan.Pentest Swarm AI is designed exclusively for authorized security testing, bug bounty programs, CTF competitions, and educational research. You must obtain explicit written permission from the target system owner before running any scan. Unauthorized access to computer systems is illegal under the Computer Fraud and Abuse Act (CFAA), the Computer Misuse Act, and equivalent laws worldwide. The authors and contributors of this project accept no liability for misuse, damage, or any illegal activity conducted with this tool. By using this software, you agree that you are solely responsible for ensuring your use complies with all applicable laws and regulations. Do not use this tool against systems you do not own or have explicit authorization to test.

Key capabilities

Swarm Intelligence, Not a Pipeline

Agents coordinate through a stigmergic blackboard — each agent’s writes influence other agents’ behavior. There is no central planner. A recon finding wakes the classifier; a high-severity classification wakes the exploit agent; exploit results feed back into the board and wake the report agent. Order emerges from blackboard state, not a prescribed sequence.

15 Native Security Tools

The tool coordinator runs subfinder, httpx, nuclei, naabu, katana, dnsx, gau, nmap, sqlmap, ffuf, gobuster, trufflehog, gitleaks, semgrep, and amass concurrently against a target. Every tool adapter is scope-guarded, missing binaries are gracefully skipped, and results stream back to the blackboard as each tool finishes. No external orchestration layer required.

Multi-LLM Support

All agents inherit from a single provider config. Set one key and the entire swarm works. Supported providers are Claude (default — best quality, prompt caching enabled), Ollama (100% local, air-gapped), LM Studio (local with GUI model management), and any OpenAI-compatible endpoint — Together AI, DeepSeek, Groq, and more — via the openai provider type.

Multiple Engagement Modes

Five community swarm playbooks ship out of the box: bug-bounty, external-asm, ci-cd, internal-network, and ctf-solver. Run any playbook with pentestswarm playbook run <name> --target <target>, or launch a freeform swarm scan with pentestswarm scan <target> --swarm.

How it works

A campaign begins when pentestswarm scan seeds the shared blackboard with a TARGET_REGISTERED finding. From that point on, no central planner issues instructions. The Recon agent triggers on TARGET_REGISTERED and fans out across all eight security tools, writing per-finding entries (SUBDOMAIN, PORT_OPEN, HTTP_ENDPOINT, TECHNOLOGY) back to the board. The Classifier agent wakes when raw recon findings accumulate above a pheromone threshold of 0.2 — it maps them to CVEs, scores CVSS, and emits CVE_MATCH and MISCONFIGURATION findings. The Exploit agent triggers on CVE_MATCH findings whose pheromone weight exceeds 0.5, builds attack chains, and writes EXPLOIT_CHAIN and EXPLOIT_RESULT entries. Finally, the Report agent triggers on CAMPAIGN_COMPLETE and queries the full board to generate Markdown, HTML, JSON, or SARIF output. Every finding’s pheromone weight decays according to a configurable half-life that is specific to its type — a PORT_OPEN stays hot for hours; a SESSION for minutes. This decay ensures stale paths die naturally and agents stay focused on the most actionable signal. Each agent runs its own trigger predicate: add a new agent with its own predicate and it joins the swarm without anyone rewriting the orchestrator. For a deep dive into the blackboard schema, pheromone decay math, and agent trigger semantics, see Swarm Architecture.

Tech stack

ComponentTechnologyWhy
PlatformGo 1.24Single binary, goroutine concurrency, native security tools
CLICobra + bubbleteaBeautiful TUI with multi-panel agent view
LLMClaude API / Ollama / LM StudioBest quality cloud + full privacy local
Security Toolssubfinder · httpx · nuclei · naabu · katana · dnsx · gau · nmapProjectDiscovery Go libs + nmap subprocess
BlackboardPostgres 16 + pgvectorTransactional writes, vector similarity, pheromone decay in SQL
CacheRedis 7Rate limiting, session state
DashboardNext.js 15 + shadcn/ui + tremorDark-first, chart-heavy live campaign view
MCPJSON-RPC stdioClaude Desktop + Cursor integration

Security tools wired in

The tool coordinator (internal/tools/coordinator.go) registers all built-in tools at startup. Tools backed by external binaries are checked via IsAvailable() at dispatch time — missing binaries are skipped and surfaced by pentestswarm doctor rather than causing a scan failure.
ToolPurpose
subfinderPassive subdomain enumeration using multiple public sources
httpxWeb probe — discovers live HTTP/HTTPS endpoints, banners, and status codes
nucleiTemplate-based vulnerability scanning across thousands of CVE and misconfiguration templates
naabuFast port scanner for discovering open ports across a target’s IP space
katanaActive web crawler for enumerating URLs, forms, and JavaScript endpoints
dnsxDNS resolution and record enumeration for discovered subdomains
gauPassive URL discovery from AlienVault OTX, Wayback Machine, and Common Crawl
nmapNetwork and service fingerprinting via XML-parsed subprocess; scope-validated before every invocation
sqlmapSQL injection testing and exploitation
ffufFast HTTP fuzzer for content discovery and parameter brute-forcing
gobusterDirectory, DNS, and virtual-host brute-forcing
trufflehogSecret scanning across code, commits, and filesystems
gitleaksGit repository leak detection for secrets and credentials
semgrepStatic analysis for code-level vulnerability patterns
amassIn-depth DNS enumeration and attack surface mapping

Project status

Honesty labels: stable means shipped and tested, beta means works but has rough edges, alpha means experimental, planned means on the roadmap.
FeatureStatusNotes
Sequential 5-phase runnerstableDefault mode; battle-tested core
Stigmergic swarm scheduleralpha--swarm flag; memory-backed blackboard wired
ProjectDiscovery toolchainstablesubfinder, httpx, nuclei, naabu, katana, dnsx, gau
nmap adapterstableXML parsed; scope-validated
Cleanup registrystableAlways runs on SIGINT / exit / budget-cancel
Claude prompt cachingstableEnabled for recon + classifier by default
--strict LLM modestablePromotes LLM errors to fatal
CVSS v3.1 scoringstableFIRST spec
Postgres blackboard backendbetaMigration shipped; runner uses memory-board for now
MCP serverbetapentestswarm mcp serve
VS Code extensionbetadeploy/vscode/
GitHub Actionbetadeploy/github-action/action.yml with SARIF
Swarm playbooks (5)betabug-bounty, external-asm, ci-cd, internal-network, ctf-solver
Live dashboardalphaweb/; UI built, wiring to live campaigns in progress
Burp MCP bridgeplannedWave 2
Metasploit / ZAP / sqlmap adaptersplannedWave 2
Fine-tuned Pentest-Swarm modelplannedWave 3 (Pentest-R1 recipe)
Cybench / AutoPenBench benchmarksplannedWave 3
The project is in active alpha. The sequential 5-phase runner is the battle-tested default. The stigmergic swarm scheduler (--swarm) is experimental — expect rough edges and consult the roadmap for what is shipping next.

Next steps

Quickstart

Install the binary and run your first swarm scan in under 60 seconds with a single Claude API key.

Installation

All install paths covered: Homebrew tap, Docker one-liner, go install, and the pre-built binary releases.

Swarm Architecture

Deep dive into the stigmergic blackboard, pheromone decay math, agent trigger predicates, and why this is not a pipeline.

Bug Bounty Guide

Run the bug-bounty playbook against a HackerOne or Bugcrowd program, import scope automatically, and generate submission-ready reports.

Build docs developers (and LLMs) love