
Xalgorix — Open-source AI pentester that proves vulnerabilities
Most scanners detect. Xalgorix proves. An autonomous LLM agent works a full pentest methodology, then an independent verifier re-exploits every finding before it's reported — so you get proof, not a pile of maybes to triage. Self-hosted, private, and bring-your-own-LLM. Built in Go + TypeScript.
🚀 Quick Start · 💡 Why Xalgorix · ✨ Features · 🎯 Use Cases · ☁️ Hosted Cloud · 📖 Docs
📸 Screenshots
🖥️ Self-hosted dashboard — runs locally on 127.0.0.1:9137
| Overview dashboard | Scan detail | Findings |
|---|---|---|
![]() |
![]() |
![]() |
☁️ Hosted cloud dashboard — the fully managed version at www.xalgorix.com

🤝 Sponsors
Thanks to Swiftproxy for sponsoring Xalgorix.
Your app can behave differently depending on where a request comes from. For Xalgorix users checking their own applications across regions, Swiftproxy offers location targeting to review regional behavior and sticky sessions to help keep a consistent IP during a test session. It supports HTTP(S) and SOCKS5, the same proxy protocols Xalgorix supports.
Residential proxies from $0.70/GB. Free testing is available, and Xalgorix users get 10% off with code PROXY90.
Explore Swiftproxy and request a free test →
🚀 Quick Start
Install (one line):
curl -sSL https://www.xalgorix.com/install | bash
This downloads the prebuilt binary for your platform (Linux or macOS, amd64/arm64) from the latest release. Then run the interactive setup wizard:
xalgorix --setup
Choose your provider, confirm a model, and enter the API key when prompted. For best results, use a current frontier model with strong reasoning, long-context performance, and reliable tool calling—such as the latest capable GPT, Claude, or Gemini model available to you. Smaller or local models remain supported, but may require more supervision during long autonomous scans. Xalgorix stores the key privately in ~/.xalgorix.env (mode 0600) and can launch the dashboard for you. Local Ollama needs no API key.
If you choose not to launch immediately, start later with xalgorix --web and open http://127.0.0.1:9137. You can change providers or advanced options at any time under Settings → LLM, or rerun xalgorix --setup.
Or run with Docker — batteries included, no toolchain needed:
docker run --rm -p 9137:9137 \
--privileged \
-v xalgorix-data:/data \
xalgord/xalgorix:latest
--privileged gives the toolset the same host-like access it has when run natively as root. Docker's default sandbox drops capabilities (like NET_ADMIN) and applies a seccomp filter, which breaks low-level tools (iptables/route changes, ARP-spoof/MITM, tun/tap VPNs, ptrace-based debuggers, masscan interface tuning). Since an image can't grant itself these, they must be set at run time. The container is a disposable, network-isolated scanning sandbox running as root — privileged is the intended posture; never expose the dashboard publicly without auth. Prefer least-privilege? Swap --privileged for --cap-add=NET_ADMIN --cap-add=NET_RAW --cap-add=SYS_PTRACE --security-opt seccomp=unconfined.
Open http://localhost:9137. You don't need an LLM key to start — the dashboard launches without one; set the model + API key under Settings → LLM (it persists to the /data volume). If you don't pass XALGORIX_USERNAME/XALGORIX_PASSWORD, a random admin password is generated and printed to the container logs on first run.
Easiest — Docker Compose (maps the port + a persistent volume for you):
curl -sSLO https://raw.githubusercontent.com/xalgorix/xalgorix/main/docker-compose.yml
docker compose up -d
docker compose logs -f # shows the generated admin password on first start
The image ships an extensive offensive-security toolset preinstalled (nmap, nuclei, httpx, subfinder, katana, ffuf, gobuster, sqlmap, masscan, dalfox, feroxbuster, and more) and keeps every package manager (apt, go, cargo, pipx, npm) available so the agent can still auto-install anything missing at runtime. It runs as root inside the container by design — treat the container as a disposable, network-isolated scanning sandbox and never expose the dashboard without auth. Images are published for both amd64 and arm64.
Or build from source (needs Go 1.26+ and Node.js):
git clone https://github.com/xalgorix/xalgorix.git
cd xalgorix
make build
sudo install -m 755 build/xalgorix /usr/local/bin/xalgorix
[!TIP] Prefer zero setup? A fully managed version runs at www.xalgorix.com — click-to-scan, no install or API keys required.
🤖 Review pull requests automatically — free GitHub App
Want a security review on every pull request with zero setup? Install the Xalgorix GitHub App. It reads each PR's diff and comments a security review — injection, broken auth/IDOR, SSRF, secrets, unsafe patterns — right on the pull request. Updates in place on new commits, and you can comment @xalgorix review to re-run on demand. No workflow file, no API key, no account — and it's free.
For merge gating and full exploit-verified pentests in CI, use the hosted scanner or the GitHub Action.
[!IMPORTANT] Use Xalgorix only on systems you own or have explicit permission to test.
[!TIP] Prefer not to self-host? A fully managed version is available at www.xalgorix.com — click-to-scan, no install or API keys required.
📚 Contents
| 📸 Screenshots | 🔩 Configuration | 🧾 Environment Variables |
| 🚀 Quick Start | 🆙 Upgrading | 🔤 Provider Prefixes |
| 🔎 Overview | 🏃 Running | 💻 CLI Reference |
| 💡 [Why Xalgorix](#-why-xa |


