An open API service indexing awesome lists of open source software.

https://github.com/xalgord/xalgorix

Xalgorix - The Most Powerful Open-Source AI Pentesting Agent
https://github.com/xalgord/xalgorix

ai ai-tools bug-bounty bugbounty cybersecurity security technology

Last synced: 3 days ago
JSON representation

Xalgorix - The Most Powerful Open-Source AI Pentesting Agent

Awesome Lists containing this project

README

          

Xalgorix


[![Go](https://img.shields.io/badge/Go-1.24-00ADD8?style=for-the-badge&logo=go&logoColor=white)](https://go.dev)
[![License](https://img.shields.io/badge/License-MIT-00ff88?style=for-the-badge)](LICENSE)
[![Buy Me a Coffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-ffdd00?style=for-the-badge&logo=buymeacoffee&logoColor=black)](https://buymeacoffee.com/xalgord)

The most powerful open-source AI autonomous pentesting agent.

---

## πŸ“Έ Screenshots

### Web UI Dashboard
![Web UI](assets/ui-screenshot-1.png)

### Live Feed & Vulnerabilities
![Live Feed](assets/ui-screenshot-2.png)

### Vulnerability Details
![Vulnerability Details](assets/ui-screenshot-3.png)

### Chat Interface
![Chat Interface](assets/ui-screenshot-4.png)

---

## πŸš€ Xalgorix β€” The Most Powerful Open-Source AI Pentesting Agent

**Xalgorix is the most comprehensive open-source autonomous penetration testing platform.** It combines the power of AI with 70+ security tools to deliver enterprise-grade pentesting β€” completely free.

### Why Xalgorix is #1

| Claim | Reality |
|-------|---------|
| **Most Complete** | βœ… Only open-source tool with Web UI + Live Feed + Chat + PDF + Discord |
| **Most Thorough** | βœ… 3 scan modes + zero-day discovery: Single β†’ DAST β†’ Wildcard + behavioral fuzzing |
| **Most Automated** | βœ… Auto-installs tools, auto-generates PDF, auto-sends Discord alerts |
| **Most Flexible** | βœ… Works with any LLM (OpenAI, Anthropic, DeepSeek, **MiniMax ⭐**, Google, Groq, Ollama) |
| **Most Production-Ready** | βœ… Rate limiting, circuit breaker, queue system, severity filtering |
| **Most Customizable** | βœ… Named scans, per-phase methodology selection, branded PDF reports with logo upload |

> **TL;DR:** Give it a target URL, and Xalgorix will find vulnerabilities, generate a professional PDF report, and send Discord alerts β€” all automatically.

### What Makes Xalgorix Different?

- **πŸš€ Autonomous** β€” Give it a target, watch it work. No human intervention needed.
- **🧠 AI-Powered** β€” Leverages LLMs for intelligent decision-making.
- **πŸ”“ 100% Free** β€” No SaaS, no per-scan fees, no limits.
- **🏠 Self-Hosted** β€” Your data never leaves your machine.
- **⚑ Lightning Fast** β€” Uses maximum threads, comprehensive flags.
- **🎯 Precision** β€” Only reports exploitable vulnerabilities, not false positives.
- **πŸ”¬ Zero-Day Hunter** β€” Behavioral fuzzing, parser differentials, and timing side-channels to find novel vulns.
- **πŸ›‘οΈ Safe** β€” Blocks destructive commands, rate limiting protects your IP.

---

## ✨ Key Features

| Feature | Description |
|---------|-------------|
| πŸ€– **Autonomous Agent** | LLM-driven pentesting with 22-phase methodology |
| 🎯 **Single Scan** | Scan a single URL/target with full vulnerability testing |
| πŸ” **DAST Scan** | Scan specific URLs with deep vulnerability testing |
| 🌐 **Wildcard Scan** | Enum all subdomains β†’ scan each individually |
| πŸ“ **Named Scans** | Give each scan a custom name for easy identification |
| πŸ’Ύ **Save & Launch Later** | Prepare scans without starting β€” launch when ready |
| πŸ”¬ **Phase Selection** | Choose specific methodology phases per scan (e.g., recon only) |
| 🎯 **Severity Filter** | Filter by Critical/High/Medium/Low/Info |
| 🚫 **Out of Scope** | Define targets to exclude from testing |
| πŸ”’ **Safety First** | Blocks destructive commands, encoding bypass detection |
| πŸ›‘οΈ **Self-Scan Prevention** | Automatically blocks local/private IPs (127.0.0.1, 10.x, 192.168.x, etc.) |
| πŸ”Œ **Circuit Breaker** | Auto-blocks failing tools after 5 attempts |
| 🌐 **Web UI** | Dark mode dashboard with live feed & token tracking |
| πŸ’¬ **Chat During Scan** | Send messages to agent while scan is running |
| πŸ“± **Mobile Ready** | Works on phones & tablets |
| πŸ’Ύ **Scan Persistence** | Resume interrupted scans after restart |
| πŸ“Š **PDF Reports** | Professional branded pentest reports with custom logo |
| 🏷️ **Report Branding** | Upload company logo and set company name for white-label reports |
| πŸ”” **Discord Alerts** | Severity-filtered notifications on scan start/vuln/completion |
| πŸ”§ **Auto-Install** | 70+ toolβ†’package mappings |
| 🧠 **Multi-LLM** | OpenAI, Anthropic, DeepSeek, MiniMax, Groq, Ollama, Google |
| πŸ” **Authentication** | Optional login protection for dashboard |
| πŸ” **CVE Search** | Query NIST NVD database for CVE details |
| πŸ› **Exploit Search** | Search Exploit-DB for public exploits |
| πŸ”Ž **Web Search** | Gemini, Brave, Google, Bing, DuckDuckGo integration |
| βœ… **Tool Pre-Check** | Auto-installs missing tools before running |
| πŸ“§ **AgentMail** | Built-in email for sign-up verification & OTP |
| πŸ›‘οΈ **Python venv** | Auto-creates ~/venv for Python tools |
| πŸ”¬ **Zero-Day Discovery** | Behavioral fuzzing, parser differentials, timing oracles, type confusion |

---

## πŸ†š Why Xalgorix?

### Comprehensive Comparison with Open-Source Alternatives

| Feature | Xalgorix | Shannon | Strix | PentestGPT | HexStrike | PentAGI | Nebula |
|---------|:--------:|:------:|:-----:|:----------:|:---------:|:-------:|:------:|
| **Self-Hosted** | βœ… | ⚠️ SaaS | βœ… | βœ… | βœ… | βœ… | βœ… |
| **Blackbox Testing** | βœ… | ❌ | βœ… | βœ… | βœ… | βœ… | βœ… |
| **Whitebox Testing** | βœ… | βœ… | ❌ | ❌ | ❌ | βœ… | ❌ |
| **Web UI Dashboard** | βœ… | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| **Live Real-Time Feed** | βœ… | ❌ | ❌ | ⚠️ Term | ❌ | ❌ | ❌ |
| **Chat During Scan** | βœ… | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| **PDF Reports Auto** | βœ… | βœ… | βœ… | ⚠️ Manual | ❌ | ❌ | ❌ |
| **Discord Alerts** | βœ… | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| **Browser Automation** | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… |
| **Auto-Install Tools** | βœ… 70+ | ❌ | ⚠️ Docker | ⚠️ Docker | ⚠️ MCP | ⚠️ Docker | ⚠️ CLI |
| **Rate Limiting** | βœ… | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| **Multi-Target Queue** | βœ… | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| **Severity Filtering** | βœ… | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| **Circuit Breaker** | βœ… | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| **DAST Mode** | βœ… | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| **Wildcard Scan** | βœ… | ❌ | ❌ | ⚠️ Manual | ❌ | ⚠️ Manual | ❌ |
| **CVE Search Built-in** | βœ… | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| **Exploit Search** | βœ… | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| **Web Search** | βœ… | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| **Requires Source Code** | ❌ | βœ… | ❌ | ❌ | ❌ | ❌ | ❌ |
| **Zero-Day Discovery** | βœ… | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| **Bug Bounty Focus** | βœ… | ⚠️ SaaS | βœ… | βœ… | ⚠️ MCP | ⚠️ Docker | βœ… |

### Feature Details

- **Shannon** β€” Requires source code (white-box only), part of paid Keygraph platform
- **Strix** β€” Docker-based, good for bug bounty, no web UI
- **PentestGPT** β€” Published at USENIX Security 2024, terminal-only interface
- **HexStrike** β€” MCP server integration, 150+ tools via MCP protocol
- **PentAGI** β€” Multi-agent Docker system, complex setup required
- **Nebula** β€” CLI assistant, good for quick scans but limited methodology

### Why Xalgorix is the Best Choice?

1. **🎯 Most Complete Web UI**
- Only tool with full dashboard, live feed, chat, token tracking
- See everything in real-time, interact with agent during scan

2. **πŸ”„ Multiple Scan Modes**
- Single: Quick target scan
- DAST: Deep URL vulnerability testing
- Wildcard: Subdomain enum β†’ scan each individually
- Most comprehensive coverage

3. **πŸ”” Built-in Notifications**
- Discord alerts on start/vuln/complete
- PDF reports auto-generated

4. **πŸ›‘οΈ Production Ready**
- Rate limiting (protect your IP)
- Circuit breaker (auto-block failing tools)
- Queue system (scan multiple targets)
- Severity filtering (focus on what matters)

5. **πŸ” Built-in Research Tools**
- CVE search (NIST NVD)
- Exploit search (Exploit-DB)
- Web search (Gemini/Brave/Google)

6. **πŸ’° 100% Free & Open Source**
- No SaaS subscription
- No per-scan fees
- Your data stays local

### Competitive Advantages Summary

| What You Get | Xalgorix | Others |
|--------------|----------|--------|
| **Web Dashboard** | βœ… | ❌ Most |
| **Live Feed + Chat** | βœ… | ❌ |
| **Auto PDF + Discord** | βœ… | ❌ |
| **3 Scan Modes** | βœ… | ❌ |
| **Tool Auto-Install** | βœ… 70+ | ⚠️ Manual |
| **Production Safety** | βœ… | ❌ |
| **Free Forever** | βœ… | βœ… |

---

## πŸ› οΈ Quick Start

### 1️⃣ Install

> ⚠️ **Requires Go 1.24+** β€” Check with `go version`. Install/upgrade: [go.dev/dl](https://go.dev/dl/)
>
> ```bash
> # Quick install Go 1.24 on Linux:
> sudo rm -rf /usr/local/go
> wget -q https://go.dev/dl/go1.24.2.linux-amd64.tar.gz
> sudo tar -C /usr/local -xzf go1.24.2.linux-amd64.tar.gz && rm go1.24.2.linux-amd64.tar.gz
> export PATH=/usr/local/go/bin:$HOME/go/bin:$PATH
> ```

```bash
# Recommended β€” build from source
git clone https://github.com/xalgord/xalgorix.git
cd xalgorix
make install

# Or install via Go
GOPROXY=direct go install -v github.com/xalgord/xalgorix/v4/cmd/xalgorix@latest
```

> **πŸ’‘ Update:** Run `xalgorix --update` to get the latest version. Xalgorix also auto-updates on every start by downloading binaries from GitHub releases.

### 2️⃣ Configure

```bash
# Create ~/.xalgorix.env
nano ~/.xalgorix.env
```

```bash
# ⭐ Recommended β€” MiniMax (best performance-to-cost ratio for pentesting)
XALGORIX_LLM=minimax/MiniMax-M2.7
XALGORIX_API_KEY=your_minimax_api_key

# OR use OpenAI:
# XALGORIX_LLM=openai/gpt-5.4
# XALGORIX_API_KEY=sk-...

# OR use Anthropic:
# XALGORIX_LLM=anthropic/claude-sonnet-4-20250514
# XALGORIX_API_KEY=sk-ant-...

# Optional
XALGORIX_DISCORD_WEBHOOK=https://discord.com/api/webhooks/...
```

> 🎁 **Exclusive 10% OFF MiniMax:** [Get your discount here](https://platform.minimax.io/subscribe/coding-plan?code=4ujDUlOIz3&source=link)

> ⚠️ **Note:** Xalgorix will refuse to start if `~/.xalgorix.env` is missing or missing required variables (`XALGORIX_LLM` and `XALGORIX_API_KEY`).

### 3️⃣ Run

```bash
# Web UI (recommended)
xalgorix --web

# Or CLI
xalgorix --target https://example.com
```

---

## πŸ“– Command Reference

### CLI Flags

| Flag | Alias | Description |
|------|-------|-------------|
| `--web` | `-w` | Launch the Web UI dashboard |
| `--port` | `-p` | Web UI port (default: 1337) |
| `--target` | `-t` | Target URL, IP, or local path (repeatable) |
| `--instruction` | `-i` | Custom instructions for the agent |
| `--model` | `-m` | LLM model (overrides XALGORIX_LLM) |
| `--update` | `-up` | Update to latest version |
| `--version` | `-v` | Show version |
| `--start` | β€” | Install and start as systemd service |
| `--stop` | β€” | Stop the service |
| `--restart` | β€” | Restart the service |
| `--uninstall` | β€” | Remove from system |
| `--help` | `-h` | Show help |

### Environment Variables

#### Required

| Variable | Description | Example |
|----------|-------------|---------|
| `XALGORIX_LLM` | Model name (with optional provider prefix) | `openai/gpt-5.4`, `anthropic/claude-opus-4-1-20250805`, `deepseek/deepseek-v4-pro`, `google/gemini-3.1-pro-preview`, `minimax/MiniMax-M2.7`, `custom/my-model` |
| `XALGORIX_API_KEY` | API key | `sk-...` |

#### Optional - API Base (for custom providers)

| Variable | Description | Example |
|----------|-------------|---------|
| `XALGORIX_API_BASE` | API base URL (auto-detected from provider prefix if not set) | `https://api.openai.com/`, `https://api.anthropic.com`, `https://api.minimax.io/`, `https://your-custom-llm.com/v1` |

#### Optional - Web Search

| Variable | Description | Example |
|----------|-------------|---------|
| `GEMINI_API_KEY` | Google Gemini API key for web search | `AIza...` |

> **πŸ’‘ Web Search:** If `GEMINI_API_KEY` is set, xalgorix will use Gemini for web search. Otherwise falls back to Brave/Google/Bing/DuckDuckGo scraping.

> **πŸ’‘ Custom Providers:** To use any custom LLM provider, just set `XALGORIX_LLM=custom/modelname` and `XALGORIX_API_BASE=https://your-api-endpoint.com/v1`
>
> **πŸ’‘ Custom Model IDs:** The dashboard model fields provide suggestions but accept typed model IDs, so newly released models can be used without waiting for the dropdown list to be updated.
>
> **πŸ’‘ Gemini API:** For Google Gemini keys, use the `google/` or `gemini/` prefix when possible. If you set an unprefixed/custom Gemini model with `XALGORIX_API_BASE=https://generativelanguage.googleapis.com/v1`, Xalgorix will still use Gemini's `generateContent` request format and `x-goog-api-key` authentication. Current text-model suggestions include `gemini-3.1-pro-preview`, `gemini-3.1-pro-preview-customtools`, `gemini-3-flash-preview`, and `gemini-3.1-flash-lite-preview`.

#### Supported Provider Prefixes (auto-detected)

| Prefix | API Base |
|--------|----------|
| `openai/` | `https://api.openai.com/v1` |
| `anthropic/` | `https://api.anthropic.com` |
| `deepseek/` | `https://api.deepseek.com/v1` |
| `groq/` | `https://api.groq.com/openai/v1` |
| `google/` | `https://generativelanguage.googleapis.com/v1` |
| `gemini/` | `https://generativelanguage.googleapis.com/v1` |
| `ollama/` | `http://localhost:11434/v1` |
| `minimax/` | `https://api.minimax.io/v1` |

#### Optional - Model Settings

| Variable | Default | Description |
|----------|---------|-------------|
| `XALGORIX_REASONING_EFFORT` | `high` | Reasoning effort: `low`, `medium`, `high` |
| `XALGORIX_LLM_MAX_RETRIES` | `5` | Max retries on API failure |
| `XALGORIX_MEMORY_COMPRESSOR_TIMEOUT` | `60` | Context compression timeout (seconds) |
| `XALGORIX_MAX_ITERATIONS` | `0` | Max iterations (0 = unlimited) |

#### Optional - Integrations

| Variable | Description | Example |
|----------|-------------|---------|
| `XALGORIX_DISCORD_WEBHOOK` | Discord webhook for alerts | `https://discord.com/api/webhooks/...` |
| `XALGORIX_DISCORD_MIN_SEVERITY` | Min severity for Discord alerts (skip noise) | `low`, `medium`, `high`, `critical` |
| `XALGORIX_USERNAME` | Dashboard username (enables auth) | `admin` |
| `XALGORIX_PASSWORD` | Dashboard password | `secret123` |

#### Optional - Rate Limiting

| Variable | Default | Description |
|----------|---------|-------------|
| `XALGORIX_RATE_LIMIT_REQUESTS` | `60` | Requests per window |
| `XALGORIX_RATE_LIMIT_WINDOW` | `60` | Window in seconds |

#### Optional - Browser

| Variable | Default | Description |
|----------|---------|-------------|
| `XALGORIX_DISABLE_BROWSER` | `false` | Set to `true` to disable browser automation |

### Supported Models

Xalgorix supports multiple LLM providers. These are examples, not a hard allowlist:

- ⭐ **MiniMax (Recommended)** β€” `minimax/MiniMax-M2.7`, `minimax/MiniMax-M2.7-highspeed`, `minimax/MiniMax-M2.5` β€” Best performance-to-cost for autonomous pentesting
- **OpenAI** β€” `openai/gpt-5.4`, `openai/gpt-5.4-mini`, `openai/gpt-5.2`, `openai/gpt-4.1`, `openai/o3`
- **Anthropic** β€” `anthropic/claude-opus-4-1-20250805`, `anthropic/claude-sonnet-4-20250514`, `anthropic/claude-3-7-sonnet-latest`
- **DeepSeek** β€” `deepseek/deepseek-v4-pro`, `deepseek/deepseek-v4-flash` (`deepseek/deepseek-chat` and `deepseek/deepseek-reasoner` remain legacy compatibility aliases until DeepSeek retires them)
- **Google** β€” `google/gemini-3.1-pro-preview`, `google/gemini-3.1-pro-preview-customtools`, `google/gemini-3-flash-preview`, `google/gemini-3.1-flash-lite-preview`, `google/gemini-2.5-pro`, `google/gemini-2.5-flash`
- **Groq** β€” `groq/openai/gpt-oss-120b`, `groq/openai/gpt-oss-20b`, `groq/qwen/qwen3-32b`, `groq/meta-llama/llama-4-scout-17b-16e-instruct`
- **Ollama** β€” `ollama/llama3.3`, `ollama/qwen3`, `ollama/qwen3-coder` (local)

> 🎁 **Exclusive 10% OFF MiniMax:** [Get your discount here](https://platform.minimax.io/subscribe/coding-plan?code=4ujDUlOIz3&source=link)

---

## πŸ“– Usage Guide

### Web UI Features

| Feature | Usage |
|---------|-------|
| 🎯 **Single Scan** | Enter URL, click Start |
| πŸ” **DAST Scan** | Select "DAST" mode for URL vulnerability testing |
| 🌐 **Wildcard Scan** | Select "Wildcard" mode for subdomain enum β†’ each subdomain gets full scan |
| πŸ“‚ **Multi-Target** | Upload a `.txt` file with one target per line |
| πŸ“ **Named Scans** | Give each scan a descriptive name for tracking |
| πŸ’Ύ **Save Without Start** | Click "Save" to prepare a scan, launch it later from the scan details page |
| πŸ”¬ **Phase Selection** | Tick only the methodology phases you want (e.g., Recon + Injection only) |
| 🎯 **Severity Filter** | Check only Critical/High to skip Low/Info |
| 🚫 **Out of Scope** | Exclude targets from testing |
| πŸ’¬ **Custom Instructions** | Tell Xalgorix what to focus on |
| 🏷️ **Report Branding** | Upload a company logo and enter company name for white-label PDF reports |
| βš™οΈ **LLM Provider** | Switch providers in settings |
| πŸ”” **Discord** | Add webhook for alerts (with configurable severity threshold) |

### Example Instructions

```text
# Focus on specific vulns
"Focus on SQL Injection and IDOR. Skip XSS."

# Traditional authenticated testing
"Login with: admin@email.com / Password123"

# API key authentication
"API: am_us_pod_474368638921786eec2228b27f..., username: agentmail"

# Email-based service testing
"AgentMail credentials: api_key=xxx, email=user@agentmail.to"

# Bug bounty rules
"This is a HackerOne program. Out of scope: DoS, social engineering."

# Internal network
"Scan 10.0.0.0/24. Focus on SMB and database services."

# πŸ”¬ Zero-day hunting
"Focus on zero-day hunting. Use behavioral fuzzing and parser differentials."

# Targeted anomaly research
"Hunt for novel vulns on the API. Use mutation fuzzing and timing analysis."
```

---

## πŸ—οΈ Architecture

```
xalgorix/
β”œβ”€β”€ cmd/xalgorix/ # CLI entry point
β”œβ”€β”€ internal/
β”‚ β”œβ”€β”€ agent/ # πŸ€– Core agent loop
β”‚ β”œβ”€β”€ config/ # βš™οΈ Configuration
β”‚ β”œβ”€β”€ llm/ # 🧠 LLM client & parser
β”‚ β”œβ”€β”€ tools/ # πŸ”§ 11 built-in tools
β”‚ β”‚ β”œβ”€β”€ terminal/ # πŸ’» Command execution
β”‚ β”‚ β”œβ”€β”€ browser/ # 🌐 Headless Chrome
β”‚ β”‚ β”œβ”€β”€ python/ # 🐍 Python scripts
β”‚ β”‚ β”œβ”€β”€ reporting/ # πŸ“Š Vulnerability reports
β”‚ β”‚ └── ...
β”‚ β”œβ”€β”€ web/
β”‚ β”‚ β”œβ”€β”€ server.go # 🌎 HTTP + WebSocket
β”‚ β”‚ └── static/ # 🎨 Web UI (HTML/CSS/JS)
β”‚ └── tui/ # πŸ“Ÿ Terminal UI
└── internal/tools/skills/ # πŸ“š Vulnerability knowledge (zero-day hunting, response anomaly detection, ...)
```

---

## πŸ›‘οΈ Safety Features

### Self-Scan Prevention

Xalgorix automatically blocks scans targeting local or internal IP addresses. This prevents the agent from accidentally scanning its own server and reporting false vulnerabilities.

**Blocked address ranges:**
- `127.0.0.0/8` (loopback)
- `10.0.0.0/8` (private)
- `172.16.0.0/12` (private)
- `192.168.0.0/16` (private)
- `169.254.0.0/16` (link-local)
- `::1`, `fe80::` (IPv6 loopback/link-local)
- `localhost`, `0.0.0.0`

### Blocked Commands

```
❌ Filesystem: rm -rf /, rm -rf ~, mkfs, dd
❌ SQL: DROP TABLE, DELETE FROM, UPDATE
❌ System: shutdown, reboot, halt, poweroff
❌ Code: shutil.rmtree, os.remove
```

### Encoding Bypass Detection

Xalgorix detects obfuscated commands:

| Technique | Example |
|----------|--------|
| Base64 | `echo cm0gL3JmIC8= \| base64 -d` |
| Hex | `\x72\x6d\x20\x2d\x72\x66` |
| URL | `%72%6d%20%2d%72%66` |

### Circuit Breaker

After **5 consecutive failures**, a tool is temporarily blocked for **60 seconds** to prevent wasting time.

---

## πŸ“Š API Endpoints

### Scans

| Method | Endpoint | Description |
|--------|----------|-------------|
| `POST` | `/api/scan` | Start or save scan (supports `name`, `phases`, `company_name`, `logo_path`) |
| `POST` | `/api/stop` | Stop scan |
| `GET` | `/api/status` | Get status |
| `GET` | `/api/scans` | List scans |
| `GET` | `/api/scans/:id` | Get scan details |
| `GET` | `/api/report/:id` | Download PDF |

### Uploads

| Method | Endpoint | Description |
|--------|----------|-------------|
| `POST` | `/api/upload-logo` | Upload company logo for report branding (png/jpg/svg/gif/webp, 5MB max) |
| `POST` | `/api/upload-targets` | Upload target list file (.txt) |

### Queue

| Method | Endpoint | Description |
|--------|----------|-------------|
| `GET` | `/api/queue/status` | Check interrupted queue |
| `POST` | `/api/queue/resume` | Resume scan |
| `POST` | `/api/queue/clear` | Clear queue |

### Settings

| Method | Endpoint | Description |
|--------|----------|-------------|
| `GET` | `/api/settings/rate-limit` | Get rate limit |
| `POST` | `/api/settings/rate-limit` | Update rate limit |

---

## 🧰 Toolkit Architecture (Auto-Installed)

Xalgorix intelligently auto-resolves, installs, and manages **70+ security tools** on-the-fly. If an agent tries to use a tool that isn't installed, Xalgorix pauses the execution, instantly installs it (via `apt`, `go install`, `cargo`, pip, etc.), and resumes transparently.

### 🌐 Asset Discovery & Networking
* **Subdomain & DNS:** `subfinder`, `findomain`, `assetfinder`, `dnsx`, `amass`, `nslookup`, `dig`, `host`, `whois`
* **Network & Ports:** `nmap`, `masscan`, `naabu`, `netcat` (`nc`), `socat`, `tcpdump`, `traceroute`

### πŸ”Ž Web Crawling & URL Discovery
* **Spiders & Crawlers:** `katana`, `gospider`, `hakrawler`
* **Archive Extractors:** `gau` (GetAllUrls), `waybackurls`
* **Parameters:** `paramspider`, `arjun`

### πŸ’₯ Vulnerability Scanners & Fuzzers
* **Scanners:** `nuclei`, `sqlmap`, `dalfox` (XSS)
* **Fuzzers:** `ffuf`, `gobuster`, `wfuzz`, `feroxbuster`, `dirb`
* **Web Toolkit:** `httpx`, `curl`, `wget`, `httpie`

### πŸ“¦ Utilities & System
* **Text & Data:** `jq`, `xmllint`, `html2text`, `awk`, `sed`, `grep`
* **Security & Crypto:** `openssl`, `base64`, `xxd`, `strings`
* **Environment:** `python3`, `pip3`, `python3-venv`, `git`, `unzip`

---

## πŸ“‹ 22-Phase Methodology

> **πŸ’‘ Tip:** You can select which phases to run per scan via the dashboard's phase checkboxes.

1. πŸ” **Deep Reconnaissance & Attack Surface Mapping** β€” Subdomains, ports, tech stack fingerprinting
2. 🦠 **Manual Vulnerability Discovery** β€” Nuclei, nmap scripts, manual probing
3. πŸ“‚ **Directory & File Discovery** β€” Fuzzing, backups, admin panels, hidden paths
4. πŸ” **CORS & Cookie Analysis** β€” Cross-origin policy, cookie flags, SameSite
5. πŸ”‘ **Authentication & Session Testing** β€” Login bypass, brute-force, session fixation, OAuth flaws
6. πŸ’‰ **Injection Testing** β€” XSS, SQLi, Command injection, XXE, SSTI
7. πŸ”„ **SSRF Testing** β€” Parameter fuzzing, cloud metadata, internal service access
8. πŸšͺ **IDOR & Broken Access Control** β€” Privilege escalation, object reference manipulation
9. 🌐 **API & GraphQL Testing** β€” REST/GraphQL introspection, rate limiting, auth bypass
10. πŸ“€ **File Upload Testing** β€” Extension bypass, webshells, content-type abuse
11. βš™οΈ **Deserialization & RCE** β€” Unsafe deserialization, Log4Shell, command chaining
12. ⏱️ **Race Conditions & Business Logic** β€” TOCTOU, double-spend, workflow bypass
13. 🌟 **Subdomain Takeover** β€” Dangling CNAMEs, unclaimed services
14. πŸ”€ **Open Redirect Testing** β€” Parameter-based redirects, header injection
15. πŸ“§ **Email Security Testing** β€” SPF, DKIM, DMARC misconfigurations
16. ☁️ **Cloud & Infrastructure** β€” S3 buckets, Azure blobs, GCP, K8s misconfigs
17. πŸ”Œ **WebSocket Testing** β€” Origin validation, injection, protocol abuse
18. πŸ”Œ **CMS-Specific Testing** β€” WordPress, Joomla, Drupal plugin/theme vulns
19. πŸ”— **Broken Link Hijacking & Content Spoofing** β€” Expired domains, unclaimed resources
20. βœ… **Exploit Verification** β€” Confirm and verify all findings with PoC
21. πŸ”¬ **Zero-Day & Novel Vulnerability Discovery** β€” Behavioral fuzzing, parser differentials, type confusion, timing oracles
22. πŸ“ **Final Report** β€” JSON + branded PDF with executive summary

---

## πŸ“„ PDF Report Contents

The auto-generated report includes:

- βœ… Cover page with target, date & company branding
- 🏷️ Custom logo and company name (uploaded via dashboard)
- πŸ“Š Executive summary with vuln counts
- πŸ› Vulnerability details (CVSS, PoC, remediation)
- πŸ”— Tested endpoints
- πŸ“‹ Methodology phases applied
- ⏱️ Timestamps for blue team log correlation
- ⚠️ Legal disclaimer

---

## πŸ“ Data Storage

```
~/xalgorix-data/
β”œβ”€β”€ logos/ # Uploaded company logos for report branding
β”‚ └── 1736000000_logo.png
β”œβ”€β”€ target.com/
β”‚ └── 2026-01-15/
β”‚ └── example.com_abc123/
β”‚ └── scan.json
β”‚ └── target.io_def456/
β”‚ └── scan.json
└── queue_state.json
```

- πŸ“… 30-day auto-cleanup
- πŸ’Ύ Survives page refresh
- πŸ”„ Queue resume after restart

---

## 🀝 Contributing

Pull requests welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

---

## πŸ“œ License

MIT License β€” see [LICENSE](LICENSE).

---

## πŸ”— Links

| Resource | URL |
|----------|-----|
| πŸ“– Documentation | [docs.xalgorix.com](https://docs.xalgorix.com) |
| πŸ› Issues | [github.com/xalgord/xalgorix/issues](https://github.com/xalgord/xalgorix/issues) |
| β˜• Donate | [buymeacoffee.com/xalgord](https://buymeacoffee.com/xalgord) |

---

**Built with ⚑ by [@xalgord](https://github.com/xalgord)**
*Use responsibly.*