
xalgorix v4.6.72
Autonome KI-Pentesting-Agenten — Echtzeit-Aufklärung, Schwachstellenerkennung und Exploit-Orchestrierung. Go + TypeScript.
Xalgorix — Open-Source-KI-Pentester, der Schwachstellen beweist
Die meisten Scanner erkennen. Xalgorix beweist. Ein autonomer LLM-Agent arbeitet eine vollständige Pentest-Methodik ab, anschließend exploitiert ein unabhängiger Verifizierer jeden Befund erneut, bevor er gemeldet wird – so erhalten Sie Beweise und keinen Haufen von Vielleichts zum Triage. Selbst gehostet, privat und mit eigenem LLM. Entwickelt in Go + TypeScript.
🚀 Schnellstart · 💡 Warum Xalgorix · ✨ Funktionen · 🎯 Anwendungsfälle · ☁️ Gehostete Cloud · 📖 Dokumentation
📸 Screenshots
🖥️ Selbst gehostetes Dashboard — läuft lokal auf 127.0.0.1:9137
| Übersichts-Dashboard | Scan-Detail | Befunde |
|---|---|---|
![]() | ![]() | ![]() |
☁️ Gehostetes Cloud-Dashboard — die vollständig verwaltete Version unter www.xalgorix.com
🚀 Schnellstart
Installation (eine Zeile):```bash curl -sSL https://www.xalgorix.com/install | bash
Dies lädt die vorgefertigte Binärdatei für deine Plattform (Linux oder macOS, amd64/arm64) aus dem neuesten Release herunter. Führe dann den interaktiven Einrichtungsassistenten aus:```bash
xalgorix --setup
Wählen Sie Ihren Anbieter, bestätigen Sie ein Modell und geben Sie den API-Schlüssel ein, wenn Sie dazu aufgefordert werden. Für beste Ergebnisse verwenden Sie ein aktuelles Frontier-Modell mit starker Argumentationsfähigkeit, guter Leistung bei langen Kontexten und zuverlässigem Tool-Calling – etwa das neueste leistungsfähige GPT-, Claude- oder Gemini-Modell, das Ihnen zur Verfügung steht. Kleinere oder lokale Modelle werden weiterhin unterstützt, erfordern jedoch möglicherweise mehr Überwachung bei langen autonomen Scans. Xalgorix speichert den Schlüssel privat in ~/.xalgorix.env (Modus 0600) und kann das Dashboard für Sie starten. Lokales Ollama benötigt keinen API-Schlüssel.
Wenn Sie sich entscheiden, nicht sofort zu starten, starten Sie später mit xalgorix --web und öffnen Sie http://127.0.0.1:9137. Sie können Anbieter oder erweiterte Optionen jederzeit unter Einstellungen → LLM ändern oder xalgorix --setup erneut ausführen.
Oder mit Docker ausführen – alles inklusive, keine Toolchain erforderlich:```bash
docker run --rm -p 9137:9137
--privileged
-v xalgorix-data:/data
xalgord/xalgorix:latest
`--privileged` gibt dem Toolset denselben Host-ähnlichen Zugriff, den es auch bei nativer Ausführung als Root hätte. Die Standard-Sandbox von Docker entfernt Capabilities (wie `NET_ADMIN`) und wendet einen seccomp-Filter an, was Low-Level-Tools (iptables/route-Änderungen, ARP-Spoof/MITM, tun/tap-VPNs, ptrace-basierte Debugger, masscan-Interface-Tuning) beeinträchtigt. Da sich ein Image diese nicht selbst gewähren kann, müssen sie zur Laufzeit gesetzt werden. Der Container ist eine wegwerfbare, netzwerkisolierte Scan-Sandbox, die als Root läuft — privilegiert ist die beabsichtigte Haltung; setze das Dashboard niemals ohne Authentifizierung öffentlich ein. Bevorzugst du Least-Privilege? Ersetze `--privileged` durch `--cap-add=NET_ADMIN --cap-add=NET_RAW --cap-add=SYS_PTRACE --security-opt seccomp=unconfined`.
Öffne `http://localhost:9137`. Du **brauchst keinen LLM-Key zum Starten** — das Dashboard startet ohne einen; setze das Modell + den API-Key unter **Settings → LLM** (es wird im `/data`-Volume gespeichert). Wenn du kein `XALGORIX_USERNAME`/`XALGORIX_PASSWORD` übergibst, wird beim ersten Start ein zufälliges Admin-Passwort generiert und in den Container-Logs ausgegeben.
**Am einfachsten — Docker Compose** (mappt den Port + ein persistentes Volume für dich):```bash
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
Das Image bringt ein umfangreiches Offensiv-Security-Toolset vorinstalliert mit (nmap, nuclei, httpx, subfinder, katana, ffuf, gobuster, sqlmap, masscan, dalfox, feroxbuster und mehr) und hält jeden Paketmanager (apt, go, cargo, pipx, npm) verfügbar, sodass der Agent zur Laufzeit weiterhin alles Fehlende automatisch installieren kann. Es läuft standardmäßig als root im Container — behandeln Sie den Container als wegwerfbare, netzwerkisolierte Scan-Sandbox und setzen Sie das Dashboard niemals ohne Authentifizierung frei. Images werden sowohl für amd64 als auch für arm64 veröffentlicht.
Oder aus dem Quellcode bauen (benötigt Go 1.26+ und Node.js):```bash git clone https://github.com/xalgorix/xalgorix.git cd xalgorix make build sudo install -m 755 build/xalgorix /usr/local/bin/xalgorix
> [!TIP]
> Bevorzugst du null Setup? Eine vollständig verwaltete Version läuft auf [www.xalgorix.com](https://www.xalgorix.com/) — Klick-zum-Scannen, keine Installation oder API-Schlüssel erforderlich.
### 🤖 Pull-Requests automatisch prüfen — kostenlose GitHub-App
Du möchtest bei jedem Pull-Request eine Sicherheitsprüfung ohne Setup? Installiere die **[Xalgorix GitHub-App](https://github.com/apps/xalgorix)**. Sie liest den Diff jedes PRs und kommentiert eine Sicherheitsprüfung — Injection, kaputte Auth/IDOR, SSRF, Secrets, unsichere Muster — direkt am Pull-Request. Sie aktualisiert sich bei neuen Commits, und du kannst **`@xalgorix review`** kommentieren, um sie bei Bedarf erneut auszuführen. Keine Workflow-Datei, kein API-Schlüssel, kein Konto — und es ist kostenlos.
<div align="center">
[**➕ Xalgorix zu GitHub hinzufügen →**](https://github.com/apps/xalgorix/installations/new)
</div>
Für Merge-Gating und vollständige, exploit-verifizierte Pentests in CI nutze den [gehosteten Scanner](https://www.xalgorix.com/) oder die GitHub Action.
> [!IMPORTANT]
> Verwende Xalgorix nur auf Systemen, die dir gehören oder für die du ausdrückliche Erlaubnis zum Testen hast.
> [!TIP]
> Bevorzugst du kein Self-Hosting? Eine vollständig verwaltete Version ist verfügbar unter [www.xalgorix.com](https://www.xalgorix.com/) — Klick-zum-Scannen, keine Installation oder API-Schlüssel erforderlich.
## 📚 Inhaltsverzeichnis
| | | |
| --- | --- | --- |
| 📸 [Screenshots](#-screenshots) | 🔩 [Konfiguration](#-konfiguration) | 🧾 [Umgebungsvariablen](#-umgebungsvariablen) |
| 🚀 [Schnellstart](#-schnellstart) | 🆙 [Upgrade](#-upgrade-von-früheren-versionen) | 🔤 [Provider-Präfixe](#-provider-präfixe) |
| 🔎 [Überblick](#-überblick) | 🏃 [Ausführen](#-ausführen) | 💻 [CLI-Referenz](#-cli-referenz) |
| 💡 [Warum Xalgorix](#-warum-xalgorix) | 🧰 [Dienstmodus](#-dienstmodus) | 📡 [API-Übersicht](#-api-übersicht) |
| 🎯 [Anwendungsfälle](#-anwendungsfälle) | 🔁 [Web-UI-Workflow](#-web-ui-workflow) | 💾 [Datenspeicherung](#-datenspeicherung) |
| ✨ [Funktionen](#-funktionen) | 🔀 [Scan-Modi](#-scan-modi) | 🧪 [Entwicklung](#-entwicklung) |
| 📥 [Installation](#-installation) | 📂 [Code scannen](#-code-scannen-kein-ziel-erforderlich) | 🚨 [Sicherheitshinweise](#-sicherheitshinweise) |
| 🧭 [Methodik](#-methodik) | 📄 [Berichte](#-berichte) | 📜 [Lizenz](#-lizenz) |
| 🔧 [Einstellungen](#-einstellungen) | 🔗 [Links](#-links) | |
## 🔎 Überblick
Xalgorix ist eine selbst gehostete KI-Plattform für Penetrationstests für autorisierte Sicherheitstests, Schwachstellenbewertung und Bug-Bounty-Workflows. Sie kombiniert einen LLM-gesteuerten autonomen Agenten, Browser-Automatisierung, Terminal-Tools, eine umfassende 22-Phasen-Testmethodik, Live-WebSocket-Telemetrie, Findings-Verwaltung mit CVSS-Bewertung, gebrandete PDF-Berichte sowie Integrationen für AgentMail, Discord und Telegram.
Im Gegensatz zu reinen Cloud-DAST-Scannern läuft Xalgorix vollständig auf deinem Rechner. Du bringst deinen eigenen LLM-Provider mit (OpenAI, Anthropic, DeepSeek, Gemini, Groq, Ollama, MiniMax) und kontrollierst Modell, Reasoning-Aufwand, Ratenlimits und Proxy-Konfiguration. Keine Scan-Daten, API-Schlüssel oder Zielinformationen verlassen deine Infrastruktur.
Das Standarderlebnis ist die Web-UI. Von einem lokalen Dashboard aus kannst du Scans starten, laufende Ausführungen überwachen, Findings prüfen, Modell-/Provider-Einstellungen konfigurieren, Umgebungsvariablen verwalten, gebrandete PDF-Berichte erstellen und historische Scans löschen oder fortsetzen.
## 💡 Warum Xalgorix
Die meisten Scanner **erkennen**. Xalgorix **beweist**. Ein autonomer Agent arbeitet eine 22-Phasen-Methodik ab, dann testet ein unabhängiger Verifizierer jeden Kandidaten-Finding erneut, bevor er gemeldet wird — so erhältst du exploit-verifizierte Ergebnisse mit Beweisen, keine Wand aus „Vielleichts", die du triagieren musst.
- 🧠 **Ein KI-Agent, keine Template-Engine** — denkt über Auth-Flows, Geschäftslogik, IDOR/BOLA und verkettete Exploits nach, die Signatur-Scanner übersehen.
- ✅ **Exploit-verifizierte Findings** — ein separater Verifizierer reproduziert jedes Finding unabhängig; unklare werden zur Prüfung markiert, nie als bestätigt ausgegeben.
- 🔒 **Selbst gehostet und privat** — läuft auf deinem Rechner mit deinem eigenen LLM-Schlüssel; keine Zieldaten, Schlüssel oder Findings verlassen deine Infrastruktur.
- 🧩 **Bring dein eigenes LLM** — OpenAI, Anthropic, DeepSeek, Gemini, Groq, Ollama oder MiniMax — oder ein beliebiges OpenAI-kompatibles Gateway wie [LiteLLM](#-litellm--openai-kompatible-gateways-github-copilot-claude-opus-codex-openrouter-azure-lokale-modelle) (GitHub Copilot, Codex, OpenRouter, Azure). Du kontrollierst Modell, Reasoning-Aufwand und Kosten.
- 📄 **Prüfbereite Berichte** — gebrandete PDFs mit CVSS-Scores, Proof-of-Concept und Behebung.
### 📊 Vergleich
| | **Xalgorix** | Template-Scanner (z. B. Nuclei) | Crawling-Scanner (z. B. OWASP ZAP) | Kommerzielles DAST |
| -------------------------------------------- | ------------------------ | ------------------------------- | ---------------------------------- | ---------------------- |
| Ansatz | Autonomer KI-Agent | Signaturen / Templates | Spider + aktive Regeln | Signaturen + Heuristiken |
| Abdeckung Geschäftslogik / IDOR / Auth-Bypass | ✅ | Eingeschränkt | Eingeschränkt | Teilweise |
| Exploit-verifiziert (beweist Auswirkung) | ✅ unabhängiger Verifizierer | ❌ | ❌ | Teilweise |
| False-Positive-Last | Niedrig (bewiesen) | Template-abhängig | Hoch | Mittel |
| Selbst gehostet / Daten bleiben lokal | ✅ | ✅ | ✅ | Meist Cloud |
| Bring-dein-eigenes-LLM | ✅ | — | — | ❌ |
| Gebrandete PDF-Berichte | ✅ | ❌ | Basis | ✅ |
| Kosten | Open Source + dein LLM | Kostenlos | Kostenlos | $$$ |
> Richtungsweiser Vergleich — Nuclei und ZAP sind hervorragend in dem, was sie tun. Xalgorix ergänzt die reasoning-lastige Erkennung und Exploit-Verifizierungsschicht darüber.
### ☁️ Selbst gehostet vs. gehostete Cloud
Xalgorix ist kostenlos und Open Source — hoste es für immer selbst, ohne Bedingungen. Die [gehostete Cloud](https://www.xalgorix.com/) nutzt dieselbe exploit-verifizierte Engine; sie existiert für Leute, die lieber keine API-Schlüssel, Infrastruktur und unvorhersehbare LLM-Rechnungen verwalten. Beides ist erstklassig — wähle, was passt.
| | **Selbst gehostet** (dieses Repo) | **[Gehostete Cloud](https://www.xalgorix.com/)** |
| ---------------------------------- | ---------------------------------------- | ----------------------------------------------- |
| Startpreis | Kostenlos, Apache-2.0 | Kostenloser Tarif · ein voller Scan ab $1 |
| LLM-API-Schlüssel | Eigenen mitbringen & verwalten | Inklusive — nichts zu verwalten |
| Kosten pro Scan | Rohe LLM-Tokens — variabel, kann ansteigen | 1 Guthaben pro Live-Host — vorhersehbar |
| Setup & Betrieb | Du installierst, aktualisierst & betreibst die Toolchain | Nichts zu betreiben — Scan in ~60s |
| Out-of-Band-Infrastruktur (SSRF/blinde RCE) | Eigene OOB-Server aufsetzen | Verwaltetes OOB inklusive |
| Planung · Team · RBAC | Mach es selbst | Integriert |
| Updates | `git pull` + Neubau | Immer auf der neuesten Engine |
| Datenresidenz / Offline | ✅ bleibt auf deiner Infrastruktur · Air-Gap OK | Läuft auf unserer Infrastruktur (DPA verfügbar) |
**Selbst hosten, wenn** Daten in deinem Netzwerk bleiben müssen, du volle Kontrolle willst oder offline/air-gapped arbeitest — genau dafür ist es gedacht. **Die Cloud nutzen, wenn** du lieber API-Schlüssel, Infrastruktur und überraschende Token-Rechnungen überspringst und nur für die Live-Hosts zahlst, die du tatsächlich scannst.
<div align="center">
[**☁️ Gehostete Cloud ausprobieren — kostenlos →**](https://www.xalgorix.com/) · [**⚖️ Echte Kosten vergleichen (Rechner) →**](https://www.xalgorix.com/hosted-vs-self-hosted)
</div>
Wenn Xalgorix dir einen Triage-Zyklus erspart, **[⭐ star das Repo](https://github.com/xalgorix/xalgorix)** — es hilft wirklich anderen, es zu finden.
## 🎯 Anwendungsfälle
| Anwendungsfall | Wie Xalgorix hilft |
| -------- | ------------------ |
| **Penetrationstests** | Führe eine vollständige 22-Phasen-Methodik gegen autorisierte Ziele aus. Der KI-Agent übernimmt Reconnaissance, Schwachstellenerkennung, Injection-Tests, SSRF, IDOR, Auth-Bypass, Race Conditions und mehr — und verifiziert Findings vor der Meldung. |
| **Bug-Bounty-Jagd** | Richte Xalgorix auf ein In-Scope-Ziel und lass den Agenten die Angriffsfläche aufzählen, gängige Schwachstellenklassen testen und verifizierte Findings mit CVSS-Scores und Proof-of-Concept-Beweisen anzeigen. |
| **Red-Team-Operationen** | Nutze Wildcard- und Multi-Target-Scan-Modi, um die externe Angriffsfläche einer Organisation zu kartieren. Browser-gestütztes DAST behandelt Auth-Flows, Formulare und Laufzeitverhalten, die statische Scanner übersehen. |
| **Sicherheitsforschung** | Die Phase zur Erkennung neuartiger Schwachstellen treibt den Agenten über bekannte Template-Matches hinaus. Bring dein eigenes LLM (OpenAI, Anthropic, DeepSeek, Gemini, Ollama, MiniMax) mit, um Reasoning-Tiefe und Kosten zu steuern. |
| **Kontinuierliche Sicherheitstests** | Lauf als Systemdienst mit `xalgorix --start`. Scanne nach Zeitplan, streame Findings an Discord oder Telegram und erstelle gebrandete PDF-Berichte für Stakeholder. |
| **DAST-Automatisierung** | Browser-gesteuertes Testen für Webanwendungen — Auth-Flows, Formulare, JavaScript-gerenderte Inhalte und Laufzeitverhalten. Integriert sich mit Caido zur Proxy-Traffic-Inspektion. |
## ✨ Funktionen
| Bereich | Fähigkeiten |
| -------------- | --------------------------------------------------------------------------------------------------------------------------- |
| 📊 Dashboard | Lokale Web-UI auf `127.0.0.1:9137` standardmäßig, Scan-Verwaltung, Live-Status, Bulk-Scan-Aktionen und Wiederherstellung historischer Scans. |
| 🔍 Scannen | Einzelziel-, DAST-, Wildcard- und Multi-Target-Flows mit wählbaren Methodik-Phasen. |
| 📡 Live-Telemetrie | Tool-Aufrufe, Agent-Nachrichten, Findings, Fehler, HTTP-Aktivität und LLM-Aktivität über WebSockets. |
| 🐞 Findings | Scan-Detailseiten, Schweregradfilter, CVSS-Details, Finding-Index und Workflows für verifizierte Findings. |
| 📄 Berichte | Gebrandete PDF-Berichte mit Ziel-/Firmenname, hochgeladenem Logo, Berichtsliste, Öffnen/Herunterladen/Löschen-Aktionen. |
| 🔔 Integrationen | AgentMail-Testpostfächer, Verifizierungs-E-Mails, OTP-Flows, E-Mail-Triage-Ereignisse, Discord- und Telegram-Benachrichtigungen. |
| ⚙️ Konfiguration | Dashboard-Einstellungen für LLM, AgentMail, Discord, Telegram, Proxy, Laufzeit, Browser, Auth, Ratenlimits und Ressourcen. |
| 🛡️ Laufzeitsicherheit | Ressourcenbewusste Instanzlimits und Loopback-only-Bindung, sofern externer Zugriff nicht explizit mit Auth konfiguriert ist. |
## 📥 Installation
Die schnellsten Wege benötigen überhaupt keine Toolchain.
### ⚡ Einzeilige Installation (vorkompiliertes Binary)```bash
curl -sSL https://www.xalgorix.com/install | bash
Lädt die neueste Release-Binärdatei für deine Plattform herunter (Linux oder macOS, amd64/arm64) und installiert sie nach /usr/local/bin (oder ~/.local/bin ohne sudo). Überschreibe mit XALGORIX_INSTALL_DIR oder lege eine Version mit XALGORIX_VERSION=vX.Y.Z fest.
Schließe die erstmalige Konfiguration interaktiv ab – kein manuelles Bearbeiten der Umgebungsdatei erforderlich:```bash xalgorix --setup
Der Assistent behält vorhandene Einstellungen bei erneutem Ausführen, blendet die API-Key-Eingabe im Terminal aus und startet optional die Weboberfläche, wenn er fertig ist.
### 🐳 Docker```bash
docker run --rm -p 9137:9137 \
--privileged \
-e XALGORIX_LLM=openai/gpt-5.6 \
-e XALGORIX_API_KEY=your_openai_api_key \
-v xalgorix-data:/data \
ghcr.io/xalgord/xalgorix:latest
--privileged (oder die engere Variante --cap-add=NET_ADMIN --cap-add=NET_RAW --cap-add=SYS_PTRACE --security-opt seccomp=unconfined) verleiht dem Toolset host-ähnlichen Zugriff. Die Standard-Sandbox von Docker entfernt Capabilities und filtert Syscalls, was Low-Level-Tools (iptables/route/Interface-Änderungen, ARP-Spoof/MITM, tun/tap-VPNs, ptrace-basierte Debugger) beeinträchtigt. Ein Image kann sich diese Rechte nicht selbst gewähren – sie sind eine Laufzeit-Entscheidung – also übergebe das Flag oder nutze die mitgelieferte docker-compose.yml, die dies für dich einrichtet.
Das Image ist batterie-included: Ein umfangreiches Offensiv-Security-Toolset ist vorinstalliert (nmap, nuclei, httpx, subfinder, dnsx, naabu, katana, ffuf, gobuster, dalfox, feroxbuster, sqlmap, masscan, nikto, whatweb, hydra und mehr), plus Chromium für browserunterstütztes DAST. Es behält außerdem den vollständigen Paketmanager-Satz (apt, go, cargo, pipx, npm) bei, sodass der Agent zur Laufzeit alles Fehlende automatisch installiert. Scan-Daten werden im /data-Volume gespeichert, und der Server bindet 0.0.0.0 innerhalb des Containers – setze XALGORIX_USERNAME/XALGORIX_PASSWORD, bevor du ihn über localhost hinaus freigibst.
Der Container läuft bewusst als root (die Engine aktiviert die Laufzeit-Autoinstallation nur für uid 0, und apt/go/cargo-Installationen benötigen System-Schreibzugriff). Behandle ihn als wegwerfbare, netzwerkisolierte Scan-Sandbox. Dieselben Tags veröffentlichen ein Multi-Plattform-Manifest für linux/amd64 und linux/arm64, sodass Docker das native Image automatisch auswählt.
Beim ersten Start, wenn du keine Dashboard-Authentifizierung setzt, generiert der Container ein zufälliges Admin-Passwort und gibt es in den Logs aus (das Image bindet 0.0.0.0, was die Engine ohne Authentifizierung nicht tun würde). Setze XALGORIX_USERNAME + XALGORIX_PASSWORD (oder XALGORIX_PASSWORD_HASH), um dein eigenes zu verwenden. Die Binärdatei aktualisiert sich nie selbst innerhalb des Containers (XALGORIX_NO_AUTO_UPDATE=1) – ziehe ein neues Image-Tag, um ein Upgrade durchzuführen. Die nuclei-Engine und ihre Vuln-Templates werden bei jedem Image-Build auf den neuesten Stand gebracht (das Release-CI und redeploy.sh erzwingen dies); übergib --build-arg NUCLEI_VERSION=vX.Y.Z, um die Engine zu pinnen, oder NUCLEI_REFRESH=0 ./redeploy.sh, um den Docker-Cache wiederzuverwenden.
📋 Anforderungen (Build aus dem Quellcode)
| Anforderung | Hinweise |
|---|---|
| Betriebssystem | Linux oder macOS (amd64/arm64). |
| Go | 1.26 oder neuer. |
| Node.js + npm | Erforderlich beim Build der gebündelten React-Web-UI aus dem Quellcode. |
| Sicherheitstools | Werden nur bei Bedarf installiert, wenn die Autoinstallation aktiviert ist. |
Prüfe deine Go-Version:```bash go version
### 🔨 Aus dem Quellcode erstellen```bash
git clone https://github.com/xalgorix/xalgorix.git
cd xalgorix
make build
sudo install -m 755 build/xalgorix /usr/local/bin/xalgorix
make build erstellt die React-Web-UI in internal/web/static und baut anschließend die Go-Binary.
📦 Installation mit Go```bash
GOPROXY=direct GOSUMDB=off go install github.com/xalgord/xalgorix/v4/cmd/xalgorix@latest
## 🔩 Konfiguration
Xalgorix lädt die Konfiguration in dieser Reihenfolge. Spätere Quellen überschreiben frühere.
| Reihenfolge | Quelle |
| ----------- | -------------------------------------------------------------- |
| 1 | `/etc/xalgorix.env` |
| 2 | `/home/<sudo-user>/.xalgorix.env` bei Start über `sudo` |
| 3 | `~/.xalgorix.env` |
| 4 | Bereits im Prozess vorhandene Umgebungsvariablen |
Erstellen Sie die lokale Umgebungsdatei:```bash
nano ~/.xalgorix.env
🧩 Minimale Konfiguration
Für die stärksten autonomen Scan-Ergebnisse wählen Sie ein aktuelles Frontier-Modell. Die Modell-ID unten ist ein konkretes Beispiel; neuere kompatible Modell-IDs können eingegeben werden, ohne auf ein Xalgorix-Release warten zu müssen.```bash XALGORIX_LLM=openai/gpt-5.6 XALGORIX_API_KEY=your_openai_api_key
### 🔌 Anbieterbeispiele
OpenAI:```bash
XALGORIX_LLM=openai/gpt-5.6
XALGORIX_API_KEY=sk-...
Custom OpenAI-kompatibler Anbieter:```bash XALGORIX_LLM=custom/security-model XALGORIX_API_BASE=https://your-provider.example/v1 XALGORIX_API_KEY=your_provider_api_key
#### 🌉 LiteLLM / OpenAI-kompatible Gateways (GitHub Copilot, Claude Opus, Codex, OpenRouter, Azure, lokale Modelle)
Da `XALGORIX_API_BASE` jeden OpenAI-kompatiblen `/v1/chat/completions`-Endpunkt akzeptiert,
funktioniert Xalgorix ohne weitere Anpassungen mit einem [LiteLLM](https://docs.litellm.ai/)-Proxy —
es sind keine Änderungen auf Xalgorix-Seite erforderlich. LiteLLM übernimmt die Authentifizierung des Upstream-Anbieters (Copilot-Device-
Login, Azure-Schlüssel, OpenRouter, Ollama usw.); Xalgorix kommuniziert lediglich über OpenAI mit dem Gateway.
LiteLLM ausführen (Beispiel `config.yaml`):```yaml
model_list:
- model_name: claude-opus-5
litellm_params:
model: github_copilot/claude-opus-5 # or openrouter/…, azure/…, ollama/…
general_settings:
master_key: sk-local-litellm-key
Richten Sie Xalgorix darauf aus – verwenden Sie das Präfix custom/, damit der Modellname wörtlich gesendet wird und das
OpenAI-Chat-Completions-Protokoll verwendet wird:```bash
XALGORIX_LLM=custom/claude-opus-5 # the LiteLLM model_name
XALGORIX_API_BASE=http://localhost:4000/v1 # your LiteLLM proxy
XALGORIX_API_KEY=sk-local-litellm-key # LiteLLM master_key / virtual key
Das gleiche Muster gilt für GitHub Copilot Business/CLI, Claude Opus, Codex-artige Modelle,
OpenRouter, Azure OpenAI und lokale Ollama-Modelle – alles, was LiteLLM routen kann. Behalte das
`custom/`- (oder `openai/`-) Präfix und eine nicht-Anthropic/Gemini `XALGORIX_API_BASE` bei, damit Xalgorix
die standardmäßige OpenAI-Anfrageform verwendet, die LiteLLM erwartet.
### 🔔 Optionale Integrationen```bash
GEMINI_API_KEY=AIza...
AGENTMAIL_POD=am_us_pod_47
AGENTMAIL_API_KEY=ak_...
XALGORIX_DISCORD_WEBHOOK=https://discord.com/api/webhooks/...
XALGORIX_DISCORD_MIN_SEVERITY=high
🔐 Dashboard-Authentifizierung```bash
XALGORIX_USERNAME=admin XALGORIX_PASSWORD=change-this-password
> [!TIP]
> Bevorzuge `XALGORIX_PASSWORD_HASH` für Produktionsbereitstellungen.
## 🆙 Upgrade von früheren Versionen
Dieses Release enthält einen Durchgang zur Stabilitäts- und Workspace-Isolation mit einer bahnbrechenden Änderung und einigen neuen Optionen, die es wert sind, bekannt zu sein.
### 💥 Bahnbrechende Änderung: Standard-Workspace nach `~/.xalgorix/data/` verschoben
Scan-Ausgaben, Notizen, Zeitpläne und andere generierte Artefakte liegen nun unter `~/.xalgorix/data/` statt unter `$CWD` (dem Verzeichnis, aus dem die Binärdatei gestartet wurde).
Um das bisherige Verhalten beizubehalten, setze `XALGORIX_DATA_DIR` auf dein aktuelles Arbeitsverzeichnis:```bash
export XALGORIX_DATA_DIR=$(pwd)
Eine [MIGRATION]-Warnung wird beim Start ausgegeben, wenn veraltete Marker (notes.json, _schedules/, vulnerabilities.json oder YYYY-MM-DD/scan-*-Verzeichnisse) in $CWD erkannt werden und XALGORIX_DATA_DIR nicht gesetzt ist. Xalgorix liest, kopiert oder löscht diese veralteten Dateien niemals automatisch; die Warnung dient nur der Information und wird pro Prozess nur einmal ausgegeben.
🆕 Neue Umgebungsvariable
| Variable | Standardwert | Beschreibung |
|---|---|---|
XALGORIX_LLM_MAX_INFLIGHT | 4 × EffectiveMaxInstances | Begrenzt gleichzeitige ausgehende LLM-Aufrufe über alle laufenden Scans hinweg. Minimum 1. Abgebrochene Wartende belegen keinen Slot. |
🩺 Neue Health-Endpoint-Zähler
GET /api/status stellt nun Folgendes bereit:
| Feld | Bedeutung |
|---|---|
panics_recovered | Goroutine-, HTTP-Handler- und Tool-Panics, die ohne Absturz abgefangen wurden. |
path_rejections | Dateisystem-Schreibvorgänge, die von Path_Policy verweigert wurden (außerhalb von data_dir / ~/.xalgorix/ / /tmp). |
watchdog_kills | Subprozesse, die durch den pro-Tool-Hard-Timeout-Watchdog beendet wurden. |
admission_refusals | Scan-Aufnahmeanträge, die aufgrund der Nebenläufigkeits-Obergrenze abgelehnt wurden. |
llm_inflight_cap | Effektiver XALGORIX_LLM_MAX_INFLIGHT-Wert für diesen Prozess. |
data_dir | Aufgelöstes Data_Dir, das verwendet wird. |
allow_list | Dateisystem-Wurzeln, die von Path_Policy akzeptiert werden. |
🏃 Ausführung
🪟 Web-UI```bash
xalgorix --web
Open:```text
http://127.0.0.1:9137
Nutze einen anderen Port:```bash xalgorix --web --port 8080
### 🌐 Externer Zugriff
Binden Sie nur an eine andere Schnittstelle, nachdem Sie die Dashboard-Authentifizierung aktiviert haben:```bash
XALGORIX_USERNAME=admin XALGORIX_PASSWORD=change-this xalgorix --web --bind 0.0.0.0
[!WARNING] Der Server verweigert externe Bindung ohne Dashboard-Authentifizierung.
🏹 CLI-Scan```bash
xalgorix --target https://example.com
Mit benutzerdefinierten Anweisungen:```bash
xalgorix --target https://app.example.com --instruction "Focus on SQL injection, IDOR, and auth bypass. Avoid destructive tests."
🧰 Dienstmodus
Als Systemdienst installieren und starten:```bash sudo xalgorix --start
Verwalten Sie den Dienst:```bash
sudo xalgorix --restart
sudo xalgorix --stop
sudo xalgorix --uninstall
View logs:```bash journalctl -u xalgorix -f
### 🌍 Remote Service Access
Expose the service to remote browsers only after enabling dashboard auth:```bash
sudo tee -a /root/.xalgorix.env >/dev/null <<'EOF'
XALGORIX_BIND=0.0.0.0
XALGORIX_USERNAME=admin
XALGORIX_PASSWORD=change-this
EOF
sudo xalgorix --restart
Öffne dann http://<server-ip>:9137.
Wenn der Prozess lauscht, die Seite aber remote immer noch nicht lädt, erlaube den TCP-Port 9137 in der Server-Firewall oder der Cloud-Sicherheitsgruppe.
🏠 Scannen lokaler/interner Ziele
Standardmäßig weigert sich Xalgorix, Loopback-, localhost-, Private-Range- oder
eigene Schnittstellenadressen zu scannen — sie gehören zur Maschine, auf der Xalgorix läuft, und sind kein
Ziel. Auf einer selbst gehosteten, mandantenfähigen Box kannst du dich dafür entscheiden, eine
lokal gehostete Demo-/Staging-App zu scannen:```bash
echo 'XALGORIX_ALLOW_LOCAL_TARGETS=true' | sudo tee -a /root/.xalgorix.env
sudo xalgorix --restart
Das eigene Listener des Dashboards ist **immer** geschützt, selbst wenn diese Option aktiviert ist.
> **⚠️ Gemeinsame / mandantenfähige / gehostete Bereitstellungen: diese Option AUS lassen.** Wenn sie aktiviert
> wird, könnte ein Scan eines Benutzers den eigenen Rechner des Betreibers und das interne Netzwerk erreichen.
> Sie ist standardmäßig deaktiviert, daher ist keine Aktion erforderlich, um sicher zu bleiben — setzen Sie
> `XALGORIX_ALLOW_LOCAL_TARGETS` nicht (oder setzen Sie `XALGORIX_ALLOW_LOCAL_TARGETS=false`),
> und legen Sie die Settings-Seite der Engine nicht für nicht vertrauenswürdige Benutzer offen.
## 🔁 Web-UI-Workflow
1. Öffnen Sie das Dashboard unter `http://127.0.0.1:9137`.
2. Gehen Sie zu Settings und bestätigen Sie den LLM-Anbieter, den API-Schlüssel, die Ratenbegrenzungen und optionale Integrationen.
3. Erstellen Sie einen Scan über New Scan.
4. Wählen Sie einen Scan-Modus.
5. Wählen Sie Methodik-Phasen aus, wenn Sie einen fokussierten Lauf wünschen.
6. Legen Sie Schweregrad-Filter fest, wenn nur bestimmte Schweregrade live gemeldet werden sollen. Der Filter betrifft nur den Echtzeit-Dashboard-Feed und Benachrichtigungen; der PDF-Bericht und `/api/findings` enthalten immer jede Schwachstelle, die der Agent entdeckt hat.
7. Fügen Sie den Firmennamen hinzu und laden Sie ein Logo für gebrandete Berichte hoch.
8. Überwachen Sie den Fortschritt über Overview, Scan Detail oder Live Feed.
9. Öffnen Sie Findings-Details, laden Sie Berichte herunter oder verwalten Sie historische Scans über Scans and Reports.
## 🔀 Scan-Modi
| Modus | Am besten geeignet für |
| ---------------- | ------------------------------------------------------------------------------- |
| 🎯 Einzelnes Ziel | Testen einer bekannten URL oder eines bekannten Hosts. |
| 🌐 Wildcard / mehrere | Aufzählen verwandter Ziele und Scannen der entdeckten Angriffsfläche. |
| 🧭 DAST | Browser-gestütztes Testen für Web-Apps, Auth-Abläufe, Formulare und Laufzeitverhalten. |
## 📂 Scannen Sie Ihren Code (kein Ziel erforderlich)
Richten Sie Xalgorix auf eine Codebasis — eine Git-URL, einen lokalen Pfad oder eine hochgeladene ZIP-Datei — und
es scannt die Quelle direkt. Keine bereitgestellte URL, keine aufzubauende Infrastruktur.```bash
# Source review (SAST): audit the code, no running target required
xalgorix --source ./my-app --code-scan review
# Provision + DAST: build & run the app locally, then pentest the running instance
xalgorix --source https://github.com/org/app.git --code-scan provision
| Code-Scan-Modus | Funktion | Verifikationsstufe |
|---|---|---|
review | Liest den Quellcode, verfolgt Benutzereingaben vom Einstiegspunkt → gefährliche Senke und meldet erreichbare Schwachstellen. Kein Live-Ziel. | Quellcode-verifiziert — nachweislich im Code erreichbar (klar als nicht zur Laufzeit ausgenutzt gekennzeichnet). |
provision | Untersucht das Repository, baut und startet die App auf einem Loopback-Port und führt dann weißbox-gesteuertes DAST gegen die laufende Instanz aus. Fällt auf review zurück, wenn die App nicht gebaut werden kann. | Exploit-verifiziert — gegen die laufende App reproduziert. |
--sourceakzeptiert eine Git-URL (flach geklont), ein lokales Verzeichnis oder einen Pfad zu einem hochgeladenen/extrahierten Archiv. In der Web-UI / gehosteten App kannst du auch eine.zip-Datei deines Codebestands hochladen (POST /api/upload-source).- Du kannst weiterhin ein Repository und ein Live-Ziel für klassische Weißbox-Erweiterung kombinieren — dieser Pfad ist unverändert. Code-Scan-Modi sind für Fälle gedacht, in denen der Codebestand das gesamte Subjekt ist.
Der Provision-Modus führt die Build-/Startbefehle deiner App in der Sandbox des Agents aus und pentestet nur den einzelnen Loopback-Port, auf dem die App gestartet wurde — das Dashboard und alles andere auf der Maschine bleiben außerhalb des Umfangs.
🧭 Methodik
Xalgorix organisiert autonome Tests in 22 Phasen.
| Phase | Fokus |
|---|---|
| 1 | Aufklärung |
| 2 | Manuelle Schwachstellenerkennung |
| 3 | Verzeichnis- und Dateierkennung |
| 4 | CORS- und Cookie-Analyse |
| 5 | Authentifizierungs- und Session-Tests |
| 6 | Injection-Tests |
| 7 | SSRF-Tests |
| 8 | IDOR- und fehlerhafte Zugriffskontrolle |
| 9 | API- und GraphQL-Tests |
| 10 | Datei-Upload-Tests |
| 11 | Deserialisierung und RCE |
| 12 | Race Conditions und Geschäftslogik |
| 13 | Subdomain-Übernahme |
| 14 | Open-Redirect-Tests |
| 15 | E-Mail-Sicherheitstests |
| 16 | Cloud und Infrastruktur |
| 17 | WebSocket-Tests |
| 18 | CMS-spezifische Tests |
| 19 | Broken-Link-Hijacking und Content-Spoofing |
| 20 | Exploit-Verifikation |
| 21 | Erkennung neuartiger Schwachstellen |
| 22 | Abschlussbericht |
Die Phasenauswahl in der Web-UI ermöglicht es dir, jede Phase oder nur die für ein bestimmtes Engagement benötigte Teilmenge auszuführen.
📄 Berichte
Berichte werden als PDF-Dateien generiert und können Folgendes enthalten:
| Abschnitt | Enthaltene Inhalte |
|---|---|
| 📌 Zusammenfassung | Management-Zusammenfassung, Ziel-Metadaten, Scan-Metadaten und Schweregrad-Übersicht. |
| 🐞 Befunde | Verifizierte Befunde, CVSS-Details, technische Analyse und Exploit-Nachweis. |
| 🔬 Beweise | Proof-of-Concept-Befehle, Skripte, Payload-Notizen und unterstützende Beobachtungen. |
| 🩹 Behebung | Korrekturanleitung und priorisierte nächste Schritte. |
| 🎨 Branding | Firmen-/Zielname und hochgeladenes Logo. |
Berichte sind über die Scan-Detailseite und die Berichtsseite verfügbar. Berichtszeilen unterstützen Öffnen, Herunterladen und Löschen.
🔧 Einstellungen
Die meisten Betriebseinstellungen können in der Web-UI unter Einstellungen geändert werden.
| Bereich | Beispiele |
|---|---|
| 🤝 Engagement | Dashboard-Anfragenratenbegrenzungen |
| 🧠 LLM | Modell, API-Schlüssel, API-Basis, Reasoning-Aufwand, Wiederholungen, maximale Iterationen |
| 📬 AgentMail | Pod und API-Schlüssel |
| 🔔 Benachrichtigungen | Discord-Webhook und Mindestschweregrad, Telegram-Bot-Token, Chat-ID, Mindestschweregrad und optionale Scan-Abschlusszusammenfassungen |
| 🕵️ Proxy | Proxy-URL, Proxy-Datei, Rotation, TLS-Verifizierung |
| 🧱 Laufzeit | Arbeitsbereich, Browser-Pfad, Auto-Installationssteuerungen |
| 🔐 Sicherheit | Dashboard-Benutzername, Passwort, Passwort-Hash, Bind-Adresse |
| 📈 Ressourcen | CPU/RAM/Disk-Schwellenwerte und Scan-Parallelitätsbudget |
Einige Einstellungen erfordern einen Neustart, da sie den Prozessstart oder die Serverbindung beeinflussen. Die UI kennzeichnet diese Felder.
🧾 Umgebungsvariablen
🧱 Kern
| Variable | Standard | Beschreibung |
|---|---|---|
XALGORIX_LLM | keine | Vom Anbieter natives Modell-ID, die für LLM-Anfragen verwendet wird. |
XALGORIX_LLM_PROVIDER | keine | Vom Dashboard ausgewählter Anbieter, separat von der Modell-ID gespeichert. |
XALGORIX_API_KEY | keine | Erforderlicher LLM-Anbieter-API-Schlüssel. |
XALGORIX_API_BASE | Anbieter-Standard | Benutzerdefinierte OpenAI-kompatible API-Basis-URL. |
XALGORIX_REASONING_EFFORT | high | Reasoning-Aufwand: none, low, medium, high oder xhigh (xhigh wird für Ollama auf high abgebildet). |
XALGORIX_LANGUAGE | en | Ausgabesprache für KI-generierte Prosa (Agent-Reasoning, Notizen, Befunde, Berichtsinhalte, Chat nach dem Scan). en oder zh-CN. Technische Token (Payloads, Befehle, URLs, CVE/CWE-IDs) bleiben immer in ihrer ursprünglichen Form. Nicht-lateinische Sprachen werden im Dashboard und im HTML-Bericht automatisch gerendert. |
XALGORIX_PDF_CJK_FONT | keine | Absoluter Pfad zu einer TrueType-Schriftart (.ttf) mit CJK-Glyphen, die zum Rendern nicht-lateinischer Sprachen (z. B. vereinfachtes Chinesisch) im exportierten PDF-Bericht verwendet wird. Nur .ttf wird unterstützt (nicht .ttc/.otf). Ohne diese Schriftart fällt das PDF auf Kernschriftarten zurück und nicht-lateinische Glyphen werden nicht gerendert (der HTML-Bericht ist nicht betroffen). |
XALGORIX_OLLAMA_COMPATIBLE | false | Wendet Ollama-Reasoning-Semantik auf einen benutzerdefinierten Endpunkt auf einem nicht standardmäßigen Port an. Port 11434 wird automatisch erkannt. |
XALGORIX_LLM_MAX_RETRIES | 5 | Wiederholungsanzahl für vorübergehende LLM-Fehler. |
XALGORIX_MEMORY_COMPRESSOR_TIMEOUT | 30 | Timeout in Sekunden für die Kontextkomprimierung. |
XALGORIX_MAX_ITERATIONS | 0 | Agent-Iterationslimit. 0 bedeutet unbegrenzt. |
XALGORIX_PPROF_ADDR | keine | Optionaler Go-Profiler. Wenn gesetzt (z. B. 127.0.0.1:6060), startet einen eigenständigen pprof-Server unter /debug/pprof/ auf dieser Adresse für CPU/Heap-Diagnose. Standardmäßig deaktiviert. Legt Prozessinterna offen — binde Loopback und erreiche ihn über einen SSH-Tunnel; niemals öffentlich verfügbar machen. |
GEMINI_API_KEY | keine | Optionaler Gemini-Schlüssel für Web-Suchanreicherung. |
🔒 Web und Sicherheit
| Variable | Standard | Beschreibung |
|---|---|---|
XALGORIX_BIND | 127.0.0.1 | Web-Server-Listenadresse. |
XALGORIX_ALLOW_LOCAL_TARGETS | false | Erlaubt das Scannen lokal gehosteter Apps (localhost / 127.0.0.1 / private IPs) auf einer selbst gehosteten Installation. Der eigene Listener des Dashboards ist immer geschützt. Bei gemeinsamen/gehosteten Bereitstellungen ausgeschaltet lassen. |
XALGORIX_USERNAME | keine | Dashboard-Benutzername. |
XALGORIX_PASSWORD | keine | Dashboard-Passwort. |
XALGORIX_PASSWORD_HASH | keine | Bevorzugter bcrypt-Passwort-Hash. |
XALGORIX_WORKSPACE | aktuelles Verzeichnis | Arbeitsbereichs-Root für die Scan-Ausführung. |
🤝 Integrationen
| Variable | Standard | Beschreibung |
|---|---|---|
AGENTMAIL_POD | keine | AgentMail-Pod-Kennung. |
AGENTMAIL_API_KEY | keine | AgentMail-API-Schlüssel. |
XALGORIX_DISCORD_WEBHOOK | keine | Globaler Discord-Webhook. |
XALGORIX_DISCORD_MIN_SEVERITY | keine | Mindestschweregrad, der an Discord gesendet wird. |
XALGORIX_TELEGRAM_BOT_TOKEN | keine | Telegram-Bot-Token von @BotFather. |
XALGORIX_TELEGRAM_CHAT_ID | keine | Telegram-Chat-/Kanal-ID (numerisch oder @Benutzername). |
XALGORIX_TELEGRAM_MIN_SEVERITY | keine | Mindestschweregrad, der an Telegram gesendet wird. |
XALGORIX_NOTIFY_SCAN_COMPLETE | false | Sendet Zusammenfassungen nach Scan-Abschluss an konfigurierte Discord/Telegram-Ziele. Dies ist optional und beeinflusst keine Warnungen pro Schwachstelle. |
CAIDO_PORT | 0 | Caido-Proxy-Port. 0 bedeutet automatische Erkennung. |
CAIDO_API_TOKEN | keine | Caido-API-Token. |
🚦 Ratenbegrenzungen, Proxy und Laufzeit
| Variable | Standard | Beschreibung |
|---|---|---|
XALGORIX_RATE_LIMIT_REQUESTS | 60 | Dashboard-Anfragen pro Fenster. |
XALGORIX_RATE_LIMIT_WINDOW | 60 | Dashboard-Ratenbegrenzungsfenster in Sekunden. |
XALGORIX_RATE_RPS | 10 | Nachhaltige ausgehende Anfragenrate. |
XALGORIX_RATE_BURST | 20 | Ausgehende Burst-Größe. |
XALGORIX_USE_PROXY | false | Proxy-Routing aktivieren. |
XALGORIX_PROXY_URL | keine | Einzelne Proxy-URL. Überschreibt die Proxy-Datei. |
XALGORIX_PROXY_FILE | keine | Datei mit einem Proxy pro Zeile. |
XALGORIX_PROXY_ROTATION | roundrobin | Proxy-Rotationsstrategie: roundrobin oder random. |
XALGORIX_TLS_SKIP_VERIFY | false | TLS-Verifizierung für Testverkehr überspringen. |
XALGORIX_DISABLE_BROWSER | false | Browser-Automatisierung deaktivieren. |
XALGORIX_BROWSER_PATH | automatisch | Benutzerdefinierter Chrome/Chromium-Ausführungspfad. |
XALGORIX_ALLOW_AUTO_INSTALL | nur Root | Automatische Paketinstallation erlauben. |
XALGORIX_AUTO_INSTALL_SUDO | false | Sudo-präfixierte Auto-Installationen erlauben. |
🔤 Anbieter-Präfixe
Wenn XALGORIX_API_BASE leer ist, leitet Xalgorix Anbieter-Standardwerte aus dem Modell-Präfix ab.
| Präfix | Standard-API-Basis |
|---|---|
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 |
Modellnamen sind nicht fest auf diese Liste codiert. Die Einstellungsseite akzeptiert eingegebene Modell-IDs, sodass neuere Anbietermodelle verwendet werden können, ohne auf ein UI-Dropdown-Update zu warten.
💻 CLI-Referenz
| Flag | Alias | Beschreibung |
|---|---|---|
--web | -w | Web-UI starten. |
--port <port> | -p | Web-UI-Port. Standard: 9137. |
--bind <addr> | keine | Bind-Adresse. Standard: 127.0.0.1. |
--target <target> | -t | Ziel-URL, Host, IP oder Pfad. Wiederholbar. |
--instruction <text> | -i | Benutzerdefinierte Scan-Anweisungen. |
--model <model> | -m | XALGORIX_LLM für diesen Lauf überschreiben. |
--update | -up | Auf die neueste Version aktualisieren. |
--version | -v | Version ausgeben. |
--start | keine | Systemdienst installieren und starten. |
--stop | keine | Systemdienst stoppen. |
--restart | keine | Systemdienst neu starten. |
--uninstall | keine | Systemdienst entfernen. |
--help | -h | Hilfe anzeigen. |
📡 API-Übersicht
| Methode | Endpunkt | Zweck |
|---|---|---|
POST | /api/scan | Scan starten oder speichern. |
POST | /api/stop | Alle laufenden Scans stoppen. |
GET | /api/status | Aktueller globaler Status. |
GET | /api/scans | Scans auflisten. |
GET | /api/scans/:id | Scan-Details abrufen. |
DELETE | /api/scans/:id | Scan und seine Berichtsdaten löschen. |
GET | /api/findings | Alle Befunde auflisten (über Scans hinweg dedupliziert). |
GET | /api/findings/summary | Schweregrad-Zählung über alle Scans. |
GET | /api/report/:id | PDF-Bericht herunterladen. |
GET | /api/instances | Live- und historische Instanzen auflisten. |
GET | /api/instances/:id/events | Gepufferte Ereignishistorie abrufen. |
POST | /api/instances/:id/stop | Bestimmte Instanz stoppen. |
POST | /api/instances/:id/start | Gespeicherten oder abgeschlossenen Scan als neuen Lauf starten. |
POST | /api/instances/:id/restart | Mit derselben Konfiguration neu starten. |
POST | /api/instances/:id/pause | Laufenden Scan pausieren. |
POST | /api/instances/:id/resume | Pausierten Scan fortsetzen. |
POST | /api/upload-logo | Berichtslogo hochladen. |
POST | /api/upload-targets | Zielliste hochladen. |
GET | /api/settings/environment | Bearbeitbare Umgebungseinstellungen auflisten. |
POST | /api/settings/environment | Umgebungseinstellungen speichern. |
GET | /api/settings/llm | LLM-Einstellungen abrufen. |
POST | /api/settings/llm | LLM-Einstellungen speichern. |
GET | /api/settings/agentmail | AgentMail-Einstellungen abrufen. |
POST | /api/settings/agentmail | AgentMail-Einstellungen speichern. |
GET | /ws | WebSocket-Live-Ereignisstream. |
💾 Datenspeicherung
Web-Modus-Scan-Daten werden gespeichert unter:```text
~/xalgorix-data/
|-- _saved/
|-- logos/
|-- queue_state.json
-- <target>/ -- /
-- <scan-id>/ |-- scan.json -- report.pdf
Der Server speichert historische Scan-Aufzeichnungen auf der Festplatte, damit sich die Benutzeroberfläche nach einem Refresh oder Neustart wiederherstellen kann.
## 🧪 Entwicklung
| Aufgabe | Befehl |
| --------------------------- | ----------------------------- |
| 📦 Web-UI-Abhängigkeiten installieren | `make webui-install` |
| 🔨 Alles bauen | `make build` |
| ✅ Tests ausführen | `go test ./...` |
| 🖥️ Web-UI aus dem Quellcode ausführen | `go run ./cmd/xalgorix --web` |
| ⚡ Frontend-Dev-Server ausführen | `make webui-dev` |
## 🚨 Sicherheitshinweise
- Verwenden Sie Xalgorix nur gegen autorisierte Ziele.
- Führen Sie keine aktiven Tests gegen Systeme Dritter ohne Genehmigung durch.
- Überprüfen Sie die Scan-Anweisungen, bevor Sie starten.
- Konfigurieren Sie Ratenbegrenzungen und Proxy-Einstellungen passend zu den Engagement-Regeln.
- Die externe Bereitstellung des Dashboards erfordert eine Authentifizierung.
- Die Auto-Installation ist standardmäßig für Nicht-Root-Benutzer deaktiviert und sollte nur aktiviert werden, wenn Sie der Umgebung vertrauen.
## 📜 Lizenz
Xalgorix wird unter der Apache License 2.0 veröffentlicht. Siehe [LICENSE](https://github.com/xalgord/xalgorix/blob/main/LICENSE).
## 🔗 Links
| Ressource | Link |
| ------------- | -------------------------------------------------------------------------------- |
| ☁️ Gehostet (Cloud) | [www.xalgorix.com](https://www.xalgorix.com/) |
| 📖 Dokumentation | [docs.xalgorix.com](https://docs.xalgorix.com) |
| 🐛 Probleme | [github.com/xalgorix/xalgorix/issues](https://github.com/xalgorix/xalgorix/issues) |
| ☕ Unterstützung | [buymeacoffee.com/xalgord](https://buymeacoffee.com/xalgord) |


