Czym jest i do czego służy ?
Pentest Swarm AI to projekt open source (licencja AGPL-3.0) rozwijany przez Armur AI, pozycjonowany w README jako otwarta, samodzielnie hostowana alternatywa dla komercyjnego XBOW. Zamiast jednego agenta w chmurze dostawcy dostajemy rój dziesiątek agentów AI, których zadaniem nie jest wyłącznie skanowanie celu, ale faktyczna eksploatacja i udowadnianie podatności.
Według opisu repozytorium agenci łączą ataki w łańcuchy (BOLA/IDOR, fałszowanie JWT, mass assignment, SSRF, injection), budują i oceniają ścieżki ataku, a następnie potwierdzają realne podatności w tempie maszynowym. Projekt jest napisany w Go 1.24 i korzysta z kilku natywnie wbudowanych narzędzi bezpieczeństwa.
Grupa docelowa jest wąska i jednoznacznie zdefiniowana: pentesterzy, łowcy bug bounty, red teamerzy oraz badacze bezpieczeństwa. W chwili obecnej repozytorium ma około 3018 gwiazdek, a sam projekt oznaczony jest statusem alpha.
Warto podkreślić filozofię projektu: nie jest to własny model językowy, a „uprząż” (harness), która daje modelowi ręce – realne narzędzia, koordynację roju, egzekwowanie zakresu testów i raporty poparte dowodami. Można podłączyć model chmurowy (Claude, dowolny endpoint zgodny z OpenAI API, Together AI, Gemini, OrcaRouter) albo model w pełni lokalny (Ollama, LM Studio), co pozwala pracować w trybie air-gapped bez wysyłania danych na zewnątrz.
Ważne: narzędzie jest przeznaczone wyłącznie do autoryzowanych testów bezpieczeństwa, programów bug bounty, CTF-ów i badań edukacyjnych. README wprost wymaga pisemnej zgody właściciela systemu przed uruchomieniem jakiegokolwiek skanowania i zrzeka się odpowiedzialności za nielegalne użycie.
Kluczowe funkcjonalności
Rój, a nie pipeline. Autorzy mocno rozgraniczają te pojęcia. Większość narzędzi „multi-agent” to pojedynczy LLM-planner zlecający zadania w stałej kolejności (recon → klasyfikacja → eksploatacja → raport). Pentest Swarm AI opiera się na trzech prymitywach inteligencji roju:
- Stigmergia – agenci koordynują się, czytając i zapisując ustalenia na wspólnej tablicy (blackboard), a nie przez centralnego planistę. Waga feromonowa ustalenia przyciąga innych agentów i z czasem wygasa, więc nieaktualne ścieżki naturalnie giną.
- Emergencja – łańcuchy ataków pojawiają się bez planowania ich przez pojedynczego agenta: ustalenie z rekonesansu budzi klasyfikatora, wysokiej wagi klasyfikacja budzi agenta eksploatacji, a wyniki wracają na tablicę i budzą agenta raportującego.
- Decentralizacja – każdy agent ma własny predykat wyzwalający; dodanie nowego agenta nie wymaga przepisywania orkiestratora.
Narzędzia bezpieczeństwa. Wbudowany zestaw obejmuje subfinder, httpx, nuclei, naabu, katana, dnsx, gau (rodzina ProjectDiscovery) oraz adapter nmap z parsowaniem XML i walidacją zakresu. W planach (Wave 2) są adaptery sqlmap, Metasploit i ZAP oraz mostek Burp MCP.
Pamięć i infrastruktura. Czarna tablica opiera się na Postgres 16 z rozszerzeniem pgvector (transakcyjne zapisy, podobieństwo wektorowe, wygasanie feromonów w SQL), a Redis 7 odpowiada za rate limiting i stan sesji.
Tryby pracy i playbooki. Repozytorium zawiera playbooki bug-bounty, external-asm, ci-cd, internal-network oraz ctf-solver.
Wbudowane cele testowe. Szybki start nie wymaga własnej infrastruktury – wystarczy wskazać dołączone, celowo podatne laboratorium (crAPI, Juice Shop, VAmPI, DVGA), które uruchamia się, jest atakowane i wygaszane po zakończeniu.
Weryfikacja zamiast domysłów. Flaga --verify potwierdza ustalenia względem żywego celu za pomocą sygnału poza modelem LLM (callback out-of-band, różnica w odpowiedziach, timing). Flaga --jev dodaje opcjonalny filtr fałszywych alarmów, a --jev-adaptive pozwala rojowi oceniać i priorytetyzować warianty ścieżek ataku. Obie opcje są domyślnie wyłączone.
Łańcuchy eksploatacji. Polecenia chain run/list/update obsługują rosnącą bibliotekę nazwanych łańcuchów powiązanych z CVE, a chain forge pozwala naszkicować nowy łańcuch na podstawie advisory – z walidacją i przeglądem człowieka przed publikacją.
Interfejsy. Interaktywny launcher TUI, pełnoekranowy podgląd na żywo z wykresami i topologią roju, dashboard webowy na localhost:7777 (status alpha), serwer MCP (pentestswarm mcp serve) dla Claude Desktop i Cursor, rozszerzenie VS Code oraz GitHub Action publikujący wyniki w SARIF.
Bezpieczeństwo działania. Zakres testów jest egzekwowany dwukrotnie – na warstwie narzędzi i w executorze. Rejestr sprzątania uruchamia się zawsze przy SIGINT, awarii i wyczerpaniu budżetu, w odwrotnej kolejności. Punktacja podatności opiera się na CVSS v3.1 zgodnie ze specyfikacją FIRST, a dla Claude’a domyślnie włączone jest cache’owanie promptów.
Status funkcji. README uczciwie etykietuje dojrzałość: sekwencyjny runner 5-fazowy, narzędzia ProjectDiscovery, rejestr sprzątania, tryb --strict i CVSS są oznaczone jako stable; scheduler roju, backend Postgres, serwer MCP, rozszerzenie VS Code, GitHub Action i playbooki jako beta; dashboard jako alpha; adaptery sqlmap/Metasploit/ZAP, model dostrojony i benchmarki Cybench/AutoPenBench jako planned.
Instrukcja instalacji (Linux, macOS, Windows).
W repozytorium nie ma pliku docker-compose.yml, ale README udostępnia gotowy obraz Dockera oraz cztery inne metody instalacji. Poniżej wyłącznie polecenia z dokumentacji projektu.
Linux i macOS
Do wyboru jedna z metod:
npm install -g @armurai/pentestswarm # npm (Node >=16) curl -fsSL https://raw.githubusercontent.com/Armur-Ai/Pentest-Swarm-AI/main/scripts/install.sh | sh # macOS/Linux brew install Armur-Ai/tap/pentestswarm # Homebrew go install github.com/Armur-Ai/Pentest-Swarm-AI/cmd/pentestswarm@latest # Go toolchain docker run --rm ghcr.io/armur-ai/pentestswarm:latest --help # Docker
Windows
Skrypt curl | sh oraz Homebrew są opisane w README jako ścieżki dla macOS/Linux. Na Windowsie pozostają metody przenośne: npm (Node >=16), instalacja przez toolchain Go oraz obraz Dockera:
npm install -g @armurai/pentestswarm go install github.com/Armur-Ai/Pentest-Swarm-AI/cmd/pentestswarm@latest docker run --rm ghcr.io/armur-ai/pentestswarm:latest --help
Uruchomienie
pentestswarm run
To polecenie otwiera interaktywny launcher TUI: wybierasz dostawcę modelu i wklejasz klucz (Together AI, Claude, OpenAI, Gemini albo w pełni lokalne Ollama / LM Studio – bez klucza), wskazujesz cel (URL lub jedno z dołączonych laboratoriów: crAPI, Juice Shop, VAmPI, DVGA) i wybierasz widok na żywo – dashboard webowy na localhost:7777, pełnoekranowy TUI, albo oba jednocześnie. W launcherze działa też test gotowości (Go, Docker, narzędzia, dostawca), który nigdy nie blokuje startu.
Warianty skryptowe (CI / automatyzacja)
run jest nakładką na scan, więc wszystko da się zautomatyzować:
# szybki test na dołączonym laboratorium, lokalny model, bez klucza API pentestswarm scan --lab --lab-target crapi --provider ollama --swarm --tui # realny, autoryzowany cel z modelem chmurowym export PENTESTSWARM_ORCHESTRATOR_API_KEY=your-key-here pentestswarm scan <authorized-target> --scope <target> --swarm --follow # potwierdzanie ustaleń zewnętrznym oraklem pentestswarm scan <authorized-target> --scope <target> --swarm --verify
Przydatne polecenia pomocnicze z README:
pentestswarm doctor # kontrola stanu systemu pentestswarm install-tools # pobranie toolchainu recon/exploit pentestswarm demo # cała kampania offline (materiał z GIF-a) pentestswarm serve # serwer API + dashboard
Instalacja ze źródeł (rozwój)
git clone https://github.com/Armur-Ai/Pentest-Swarm-AI.git cd Pentest-Swarm-AI ./scripts/setup.sh # narzędzia, Postgres/Redis/Ollama make build # kompilacja binarki make test # testy make dev # tryb hot-reload
Konfiguracja dostawcy modelu
Jeden klucz konfiguruje orkiestrator, a agenci dziedziczą dostawcę. Przykład dla Together AI i modelu GLM 5.3 z README:
orchestrator: provider: "together" # endpoint domyślnie wskazuje API Together model: "zai-org/GLM-5.3" # lub Qwen/..., deepseek-ai/..., itd. api_key: "" # albo export PENTESTSWARM_ORCHESTRATOR_API_KEY context_window: 128000
Wymaganiem twardym jest natywne wywoływanie funkcji/narzędzi (tool calling) po stronie modelu.
Link do Repozytorium
https://github.com/Armur-Ai/Pentest-Swarm-AI
Dokumentacja projektu: https://armur-ai.github.io/Pentest-Swarm-AI/
Pentest Swarm AI korzysta z dorobku wcześniejszych projektów – w sekcji Credits README wymienia m.in. PentestGPT, PentAGI, Strix, CAI, HackingBuddyGPT, Shannon, BlacksmithAI i PentestAgent.

