OPEN BETA
OPEN BETA

YADS - Umfassendes Benutzerhandbuch

Version: 3.0.0 Letzte Aktualisierung: 2026-03-28

Willkommen zum YADS (Yet Another Domain Scanner) Handbuch. Diese Anleitung deckt alle Aspekte der Anwendung ab, vom ersten Scan bis zur erweiterten Konfiguration und Mandantenfähigkeit.


Inhaltsverzeichnis

  1. Einführung
  2. Erste Schritte
  3. Dashboard-Übersicht
  4. Target-Verwaltung
  5. Scans durchführen
  6. Analyse-Module
  7. OSINT Markenüberwachung
  8. Visualisierungen
  9. Datenverwaltung & Berichte
  10. Benutzerverwaltung & Sicherheit
  11. Mandantenfähigkeit
  12. Systemeinstellungen & Queue
  13. KI-Intelligenz-Assistent
  14. Finding Management & Schwachstellen-Tracking
  15. Asset-Tagging & Organisation
  16. Executive Report & Portfolio-Ansicht
  17. Dark/Light Mode
  18. In-App-Bugmeldung
  19. Asset Discovery
  20. Mehrsprachigkeit (EN/DE)
  21. Best Practices
  22. Fehlerbehebung
  23. Support
  24. Standalone- & Lokale Installation
  25. Identity Provider & SSO
  26. Entwicklerportal
  27. Scan-Profile
  28. Einrichtungsassistent
  29. Datenspeicherung
  30. Excel-Export
  31. Angriffspfad-Visualisierer
  32. Scan-Vergleich
  33. WAF-Analyse
  34. Scanner-Import
  35. Integrationen
  36. Erw. Scanner-Modul-Referenz
  37. Custom-Modul-System
  38. PQC Readiness & CBOM
  39. Angriffsflächen-Matrix
  40. Worker & Queue Zuverlässigkeit

1. Einführung

YADS ist eine automatisierte Sicherheits-Reconnaissance-Plattform, die entwickelt wurde, um internetfähige Assets zu erfassen, zu analysieren und zu überwachen. Sie kombiniert mehrere Scan-Techniken – DNS-Enumeration, Port-Scanning, Web-Analyse und Schwachstellenerkennung – in einer einzigen, benutzerfreundlichen Oberfläche.

Hauptfunktionen


2. Erste Schritte

2.0 Systemvoraussetzungen

YADS wird als vollständig containerisierte Anwendung ausgeliefert. Auf dem Host-System werden nur Docker und einige Hilfswerkzeuge benötigt — keine Python-Laufzeitumgebung, keine Datenbankinstallation, nichts weiter.

Hardware

RessourceMinimumEmpfohlen
CPU2 Kerne4+ Kerne
RAM8 GB16 GB+
Festplatte20 GB frei50 GB+ (Scandaten wachsen)
BetriebssystemLinux x86-64Ubuntu 22.04 LTS / Debian 12

Software-Voraussetzungen

AbhängigkeitMindestversionHinweis
Docker Engine24.0Offizielles Docker CE — keine Distributions-Pakete
Docker Compose2.20V2 Plugin (docker compose, nicht docker-compose)
gitaktuelle VersionZum Klonen der Repositories
InternetzugangPort 443 ausgehend zu github.com (Klonen) und Docker Hub (Basis-Images)

Warum offizielles Docker? Distributions-Pakete (z.B. apt install docker.io) liefern Docker 20.x, dem Compose V2 und mehrere Swarm-Features fehlen, die YADS benötigt. Bitte immer von docs.docker.com installieren.

Docker Engine & Compose installieren

# Alte Pakete entfernen
sudo apt-get remove -y docker docker-engine docker.io containerd runc 2>/dev/null || true

# Offiziellen GPG-Key und Repository hinzufügen
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Docker Engine + Compose Plugin + curl installieren
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin curl

# Docker ohne sudo ausführen
sudo usermod -aG docker $USER
newgrp docker

# Überprüfen
docker --version          # → Docker version 26.x oder neuer
docker compose version    # → Docker Compose version v2.x

System überprüfen

Vor dem Klonen kurz gegenprüfen:

docker --version && docker compose version && git --version
# Alle drei sollten Versionsinformationen ausgeben

2.1 Ersteinrichtungs-Assistent (Setup Wizard)

Beim ersten Start einer neuen Instanz fängt YADS den gesamten Datenverkehr ab und präsentiert einen Setup-Assistenten. Sie müssen diesen 3-schrittigen Prozess abschließen, bevor Sie auf das Dashboard zugreifen können:

  1. Datenbank: Definieren Sie ein sicheres Passwort für die interne PostgreSQL-Datenbank. Dieses Passwort wird automatisch in /app/data/config.env gespeichert.
  2. Initialisierung:
    • Upgrade: Behält vorhandene Daten bei und führt Schema-Migrationen durch (verwenden Sie dies für Updates).
    • Purge (Factory Reset): WARNUNG: Löscht ALLE Daten und beginnt von vorne.
  3. Admin Erstellen: Erstellen Sie das erste Systemadministrator-Konto.

2.2 Klonen & Konfigurieren

YADS gibt es nur als Source — kein Download-Paket, keine private Registry. Das Deployment liegt im Repo yads-infra, das die API-/Worker-Images aus einem sibling yads-Checkout baut.

git clone https://github.com/MrMarco74/yads.git
git clone https://github.com/MrMarco74/yads-infra.git
cd yads-infra
cp .env.example .env
nano .env   # POSTGRES_PASSWORD, SECRET_KEY, SIGNING_KEY, REFRESH_SECRET, YADS_ENCRYPTION_KEY, RABBITMQ_PASSWORD setzen

2.2b Stack starten

Bauen und starten per Docker Compose — derselbe Befehl funktioniert lokal, per SSH oder aus einer CI/CD-Pipeline, ohne separaten "Headless-Modus":

docker compose -f docker-compose.server.yml up -d --build

http://<ihr-server>:8000 öffnen — Sie landen direkt im Setup-Wizard (siehe 2.1 oben).

2.2c YADS verwalten — Start, Stop, Neustart

Reines Docker Compose, kein separates Control-Script. Alle Befehle aus yads-infra/ heraus ausführen:

# YADS starten
docker compose -f docker-compose.server.yml up -d

# YADS stoppen (Daten bleiben erhalten)
docker compose -f docker-compose.server.yml down

# Alle Container neu starten
docker compose -f docker-compose.server.yml restart

# Container-Status anzeigen
docker compose -f docker-compose.server.yml ps

# Live-Logs verfolgen (alle Container)
docker compose -f docker-compose.server.yml logs -f

# Logs eines bestimmten Dienstes
docker compose -f docker-compose.server.yml logs -f yads-api
docker compose -f docker-compose.server.yml logs -f yads-worker

# Update: neuesten Source ziehen und neu bauen
git -C ../yads pull
git pull
docker compose -f docker-compose.server.yml up -d --build

Hinweis: docker compose down stoppt die Container, aber erhält alle Daten (Datenbank-Volumes, Redis-Status). Um alle Daten dauerhaft zu löschen, verwenden Sie docker compose down -v — dieser Vorgang ist nicht umkehrbar.

2.2d Zugriff auf das System

Navigieren Sie zu Ihrer YADS-Instanz (z.B. https://yads.your-domain.com).

2.3 Oberflächen-Einstellungen

2.4 Die ersten Schritte

  1. Dashboard: Sie landen auf dem Haupt-Dashboard, das eine Übersicht Ihrer Ziele zeigt.
  2. Ziel hinzufügen: Verwenden Sie das Eingabefeld oben (oder die Schaltfläche "Ziel hinzufügen"), um eine Domain einzugeben (z.B. example.com).
  3. Scan starten: Klicken Sie nach dem Hinzufügen auf die Schaltfläche "Scan", um mit der Datenerfassung zu beginnen.

3. Dashboard-Übersicht

Das Dashboard ist Ihre Kommandozentrale.


4. Target-Verwaltung

Targets hinzufügen

Massenaktionen

Wählen Sie mehrere Targets über die Checkboxen in der Tabelle für Batch-Operationen: * Massen-Scan: Bestimmte Scan-Module für alle ausgewählten Targets auslösen. * Massen-Löschen: Targets und deren Daten entfernen.

Filterung

Verwenden Sie die Spaltenfilter in der Tabellenansicht, um bestimmte Targets zu finden: * Nach Name filtern: Nach Teil-Domain-Übereinstimmungen suchen. * Nach Status filtern: Nur Failed oder Running Scans anzeigen. * Nach Tags filtern: Targets mit benutzerdefinierten Tags organisieren.


5. Scans durchführen

Sie können Scans in zwei Modi ausführen:

Quick Scan

Klicken Sie auf die "Play"-Schaltfläche bei einem Target, um das Standard-Scan-Profil auszuführen, das beinhaltet: * DNS-Enumeration * Web-Analyse * SSL-Prüfung

Benutzerdefinierter Scan

Auf der Target-Details-Seite klicken Sie auf "Neuer Scan", um die erweiterte Auswahl zu öffnen. Sie können einzelne Module aktivieren: * Subdomain Recon: Findet sub.example.com. * DNS Records: A/AAAA/MX/TXT-Einträge. * Web Analyzer: Screenshots, Tech-Stack und Header. * Typosquatting: Prüft auf Phishing-Domains (z.B. exampel.com). * CVE Scanner: Prüft erkannte Software gegen Schwachstellen-Datenbanken. * Port Scan: Testet gängige Ports (80, 443, 8080, etc.). * Wayback Machine: Sucht nach historischen Dateien und Endpunkten. * FULL SCAN: Führt alle verfügbaren Module aus.

Scan-Profile

(Neu in v4.5.28) Scan-Profile ermöglichen die Definition wiederverwendbarer Scanner-Modul-Sets. Anstatt jedes Mal einzelne Module zu aktivieren, wählen Sie ein Profil und alle zugehörigen Module werden automatisch aktiviert.

Geplante Scans

(Neu in v4.5.28) Sie können Ihre Reconnaissance automatisieren, indem Sie wiederkehrende Zeitpläne einrichten. 1. Navigieren Sie zur Zeitpläne-Seite über die Seitenleiste. 2. Klicken Sie auf "Zeitplan erstellen". 3. Wählen Sie ein Target und eine Häufigkeit (Täglich oder Wöchentlich). * Täglich: Läuft alle 24 Stunden. * Wöchentlich: Läuft alle 7 Tage. 4. Verwalten Sie bestehende Zeitpläne (Löschen/Nächste Ausführung anzeigen) direkt aus der Liste.

Hinweis: Geplante Scans führen automatisch das FULL SCAN-Profil aus, um umfassende Abdeckung zu gewährleisten.


6. Analyse-Module

Web Analyzer & OSINT

Besucht die Seite wie ein echter Benutzer. * Visuelles: Vollständiger Screenshot und Favicon. * Technologien: Erkennt CMS (WordPress), Server (Nginx) und Frameworks. * OSINT: Extrahiert E-Mails, Telefonnummern und Social-Media-Links von der Seite.

Schwachstellenbericht (CVEs)

Infrastruktur-Scanner

DNS & Subdomain

Schwachstellen-Scanning (Aktiv)

(Neu in v4.5.28) YADS integriert jetzt Nuclei für aktive Schwachstellenerkennung. * Fähigkeiten: Scannt nach 5000+ bekannten Schwachstellen (CVEs), Fehlkonfigurationen und exponierten Panels. * Schweregrad: Befunde werden als Critical, High, Medium, Low oder Info kategorisiert. * Verwendung: Wählen Sie "Nuclei Vulnerability Scan" im Neuer Scan-Dialog.

Stealth Port-Scanning

(Neu in v4.5.28) * Stealth-Modus: Verwendet Nmap mit Evasion-Flags (-sS, -T2, -D RND:5), um Ports zu prüfen, ohne IDS/IPS auszulösen. * Langsam & Sicher: Für Stealth konzipiert, dauert dieser Scan länger, reduziert aber das Erkennungsrisiko. * Optionale Abhängigkeit mit Socket-Fallback: Nmap wird nicht mit YADS mitgeliefert. Ist Nmap nicht installiert, wird das Modul nicht deaktiviert — es wechselt automatisch in einen einfachen TCP-Socket-Scan. Siehe Nmap installieren für den vollen Funktionsumfang.

Nmap nicht installiert — Socket-Fallback-Modus

Ist Nmap nicht verfügbar, wechselt nmap_scanner automatisch in einen eingebauten TCP-Socket-Fallback. Das Modul bleibt in der Scan-Typ-Auswahl aktiviert, zeigt jedoch ein gelbes Eingeschränkt-Badge zur Kennzeichnung des reduzierten Funktionsumfangs.

Was im Socket-Fallback funktioniert:

Was Nmap erfordert (im Fallback nicht verfügbar):

Das Scan-Ergebnis enthält "method": "socket_fallback" als Hinweis auf den verwendeten Modus.

Nmap installieren (empfohlen)

Nmap ist eine optionale externe Abhängigkeit und unter GPL-2.0 lizenziert. Da YADS es als Subprocess aufruft (keine Bibliothekseinbindung), gilt die GPL nicht für YADS selbst. Die Installation erfolgt separat auf dem Docker-Host oder im Container:

# Option A — auf dem Docker-Host (empfohlen, bleibt nach Container-Neustart erhalten)
apt-get install -y nmap        # Debian / Ubuntu
yum install -y nmap            # RHEL / CentOS / Rocky

# Option B — in einem laufenden YADS-Container (geht bei Neustart verloren)
docker exec -it yads-api apt-get install -y nmap

# Option C — über die YADS-Admin-Oberfläche
# Einstellungen → Scanner-Ressourcen → Schaltfläche „Nmap installieren"
# (führt apt-get install automatisch im API-Container aus)

Hinweis: Nach der Installation muss der YADS-API-Container neu gestartet werden, damit die Verfügbarkeitsprüfung aktualisiert wird. Der Worker-Container erkennt das Binary sofort beim nächsten Scan-Aufruf.

Um zu prüfen, ob Nmap von YADS erkannt wird: Einstellungen → Scanner-Ressourcen. Die Statusanzeige zeigt Installiert ✓, sobald das Binary gefunden wird.

JavaScript SAST

(Neu in v4.5.28) * Statische Analyse: Lädt automatisch clientseitige JavaScript-Dateien herunter und analysiert sie. * Sink-Erkennung: Identifiziert potenzielle DOM-XSS-Sinks (z.B. innerHTML, document.write). * Routen-Erkennung: Extrahiert versteckte API-Routen aus JS-Code.

API-Erkennung

(Neu in v4.5.28) Teil des Web Analyzers, dieses Modul erkennt automatisch: * Dokumentation: Findet swagger.json, openapi.yaml und WSDL-Dateien. * Endpunkte: Identifiziert GraphQL-Endpunkte (/graphql) und versionierte REST-Pfade (/api/v1/). * Ergebnisse: Werden in der Web-Analyse-Karte auf der Target-Detailseite angezeigt.

SOC2 Compliance-Engine

(Neu in v4.5.28) Echtzeit-Bewertung der Compliance-Bereitschaft Ihrer Infrastruktur. * Score: Wird dynamisch (0-100%) basierend auf aktiven Scan-Ergebnissen berechnet. * Abzüge: * Abgelaufenes SSL: -20 Pkt. * Kritische CVEs: -15 Pkt. * Riskante Ports: -10 Pkt. (z.B. 21, 23, 3389 aus dem Internet erreichbar) * Öffentliche Buckets: -25 Pkt. * Einblicke: Bewegen Sie die Maus über das Score-Widget im Dashboard, um spezifische Mängel zu sehen.

E-Mail-Sicherheits-Scanner

(Neu in v4.5.28) Analysiert alle E-Mail-Authentifizierungs- und Anti-Spoofing-Mechanismen einer Domain. * SPF: Validiert den Sender Policy Framework-Eintrag, berichtet über Strenge (-all vs. ~all). * DKIM: Prüft DKIM-Publikschlüssel auf gängigen Selektoren. * DMARC: Bewertet die Policy (none, quarantine, reject) und Reporting-Adressen. * BIMI: Erkennt Brand Indicator for Message Identification-Einträge. * Score: 0–100 Kompositbewertung; Ergebnisse in der Analyseansicht /email-security.

HTTP-Sicherheits-Header

(Neu in v4.5.28) Prüft alle OWASP-empfohlenen HTTP-Response-Header des Targets. * Geprüfte Header: Strict-Transport-Security, Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, Cross-Origin-*. * Jeder Header wird bewertet: Vorhanden / Teilweise konfiguriert / Fehlend – mit Behebungshinweisen.

Cookie-Sicherheits-Analyzer

(Neu in v4.5.28) Prüft alle vom Target gesetzten Cookies auf Sicherheitsattribute. * Checks: Secure, HttpOnly, SameSite (Strict/Lax/None), __Host--Präfix-Verwendung. * Session-Cookies ohne Secure oder HttpOnly werden als High-Severity-Befunde markiert.

CORS-Fehlkonfigurations-Scanner

(Neu in v4.5.28) Testet das Target mit vier verschiedenen Origin-Header-Mustern, um zu freizügige CORS-Richtlinien zu erkennen. * Muster: Null-Origin, Subdomain-Wildcard, beliebige Domain und evil.com. * Erkennt Access-Control-Allow-Origin: * und Credentials-aktiviertes CORS (Allow-Credentials: true mit reflektiertem Origin).

Zertifikat-Mismatch-Scanner

(Neu in v4.5.28) Verbindet sich über Pythons Standard-ssl-Bibliothek (keine externen Tools erforderlich), um zu prüfen ob das TLS-Zertifikat zur Domain passt. * Erkennt: Hostname-Mismatches, abgelaufene Zertifikate, selbstsignierte Certs und fehlende SANs. * Ergebnisse im SSL-Card auf der Target-Detailseite.

Threat-Intelligence-Scanner

(Neu in v4.5.28) Prüft alle aufgelösten IPs gegen drei Bedrohungsintelligenz-Feeds (BYOK API-Schlüssel erforderlich): * AbuseIPDB: Abuse-Confidence-Score und Meldungsanzahl für jede IP. * OTX AlienVault: Pulse-Anzahl und Reputationsindikatoren. * VirusTotal: Schädliches/verdächtiges Stimmverhältnis von 90+ Engines. * Ergebnisse werden zu einem Gesamt-Bedrohungsscore aggregiert und auf der Security-Findings-Seite angezeigt.

Shodan / Censys Host Intelligence

(Neu in v4.5.28) Reichert Target-Daten mit passiven internetweiten Scan-Daten an (BYOK API-Schlüssel erforderlich): * Shodan: Offene Ports, Banner, CVEs und Hostnamen aus Shodans Datenbank. * Censys: Certificate Transparency, exponierte Dienste und Autonomous-System-Daten. * Daten werden mit Nmap-Ergebnissen zusammengeführt für eine einheitliche Port/Service-Ansicht ohne aktives Scanning.

JavaScript-Secrets-Scanner

(Neu in v4.5.28) Lädt alle clientseitigen JavaScript-Dateien herunter und analysiert sie statisch auf eingebettete Secrets. * 25+ Regex-Muster: AWS-Schlüssel, GitHub-Tokens, Google-API-Schlüssel, Stripe-Secrets, Private Keys, JWTs und mehr. * Jeder Fund enthält Dateiname, Zeilenkontext und Schweregradwertung. * Befunde erscheinen im Sensible-Daten-Report (/secrets).

Git-Exposure-Scanner

(Neu in v4.5.28) Testet 49 sensible Pfade, die häufig auf Webservern exponiert sind. * Checks: /.git/config, /.git/HEAD, /Dockerfile, /.env, /wp-config.php, Backup-Dateien und mehr. * Eine 200-Antwort für einen dieser Pfade wird als High/Critical-Befund markiert.

Subdomain-Takeover-Scanner

(Neu in v4.5.28) Erkennt verwaiste DNS-Einträge, die auf stillgelegte Cloud-Services zeigen. * 30+ Provider-Fingerprints: GitHub Pages, Heroku, Fastly, Azure, AWS S3, Shopify, Zendesk und viele mehr. * Logik: Wenn ein CNAME auf die Domain eines Providers zeigt und eine bekannte "unclaimed"-Fehlerseite zurückgibt, wird es als High-Severity-Takeover-Risiko markiert.

DNS-Zonentransfer (AXFR) Scanner

(Neu in v4.5.28) Versucht einen Zonentransfer gegen alle autoritativen Nameserver der Domain. * Ein erfolgreicher Transfer enthüllt die vollständige interne DNS-Zone – eine kritische Fehlkonfiguration. * Ergebnisse zeigen, welcher Nameserver den Transfer zugelassen hat und wie viele Einträge exponiert wurden.

Security.txt Validator

(Neu in v4.5.28) Prüft das Vorhandensein und die Gültigkeit einer security.txt-Datei gemäß RFC 9116. * Testet sowohl /.well-known/security.txt als auch /security.txt. * Validiert: Pflichtfelder (Contact, Expires), Ablaufdatum (markiert abgelaufene Dateien) und optionale Felder (Encryption, Policy, Preferred-Languages).


7. OSINT Markenüberwachung

(Neu in v4.5.28)

Das OSINT-Modul hilft Ihnen, nicht überwachte Assets zu entdecken, indem es findet, wo Ihre Marken-Assets (Logos) im Web erscheinen.

Google Cloud Einrichtung (Voraussetzung)

Um diese Funktion zu nutzen, muss Ihr Mandanten-Admin die Google Cloud Vision API konfigurieren: 1. API aktivieren: Aktivieren Sie in Ihrer Google Cloud Console die "Cloud Vision API". 2. API-Schlüssel: Erstellen Sie einen API-Schlüssel unter "Credentials". * Wichtig: Wenn Sie Ihren API-Schlüssel einschränken (empfohlen), stellen Sie sicher, dass Cloud Vision API in der Liste der erlaubten APIs aktiviert ist. 3. Abrechnung: Die Cloud Vision API erfordert ein aktives Abrechnungskonto, das mit dem Projekt verknüpft ist (auch für die kostenlose Stufe).

Rückwärts-Bildersuche

  1. Vorbereitung: Stellen Sie sicher, dass Ihr Mandanten-Admin die Google Cloud Vision API-Schlüssel in den Mandanten-Einstellungen konfiguriert hat.
  2. Upload: Ziehen Sie Ihr offizielles Logo (PNG/JPG) per Drag & Drop in die Suchzone.
  3. Analyse: Das System nutzt Googles Vision API (Web Detection), um exakte Kopien oder visuell ähnliche Bilder im gesamten Web zu finden.
  4. Ergebnisfilterung:
    • Unbekannt: Domains, die derzeit nicht in Ihrer Target-Liste sind. Sie können diese mit einem Klick importieren.
    • Überwacht: Domains, die Sie bereits verfolgen.

Nutzungskontingente

Die Rückwärts-Bildsuche nutzt die Google Cloud Vision API, die über Ihr eigenes Google-Cloud-Konto pro Anfrage abgerechnet wird. * Nutzungslimits: Ihr Admin kann ein monatliches Suchkontingent pro Mandant festlegen, um die Vision-API-Kosten zu kontrollieren. Bei Überschreitung werden Suchen bis zum nächsten Zyklus blockiert.


8. Visualisierungen

Netzwerk-Graph

Ein interaktiver Knoten-Graph, der Beziehungen zwischen Domains, IPs und ASNs zeigt. * Graph erstellen: Klicken Sie auf die Schaltfläche "Graph erstellen" in der Seitenleiste, um Daten abzurufen und anzuzeigen. * Kontextnachrichten: Wenn keine Daten für die ausgewählten Filter verfügbar sind, gibt das System spezifisches Feedback (z.B. "Wurde dieses Target bereits gescannt?"). * Filter: * Web-Links anzeigen: Sichtbarkeit von HTTP-basierten Kanten umschalten. * DNS ausgrauen: Blendet DNS-Verbindungen grau aus, um die Web-Struktur hervorzuheben. * Cluster: Sehen Sie, welche Domains dieselbe Hosting-Infrastruktur teilen. * Zoom/Schwenken: Navigieren Sie einfach in großen Infrastrukturen. * Angriffspfad-Visualisierung (Neu in v4.5.28): * Umschalten: Aktivieren Sie "Angriffspfade", um riskante Kanten und kompromittierte Knoten hervorzuheben. * Einblicke: Visualisiert potenzielle laterale Bewegungspfade basierend auf Schwachstellen- und Netzwerkdaten.

Analytics-Dashboard

Hochrangige Metriken für das Management. * Weltkarte: Physischer Standort aller Assets. * Tech-Verteilung: Diagramme, die die häufigsten Technologien zeigen (z.B. "80% Nginx"). * Risiko-Überblick: Zusammenfassung kritischer Schwachstellen im gesamten Portfolio.

Compliance & Bewertung

(Aktualisiert in v4.5.28) Oben auf jeder Target-Detail-Seite zu finden: * Sicherheitsbewertung (A-F): Ein zusammengesetzter Score basierend auf SSL, Headern, Schwachstellen und offenen Ports. * Risikofaktoren: Listet explizit die Gründe für Score-Abzüge auf (z.B. "Fehlendes HSTS -10"). * Compliance-Lücken: Ordnet technische Befunde Industriestandards zu: * OWASP Top 10: z.B. A05 (Fehlkonfiguration), A02 (Krypto-Fehler). * DSGVO / ISO 27001: Erkennt PII-Exposition und Secrets.

Spiderweb (Redirect-Graph)

Visualisiert Redirect-Ketten. * Einstiegspunkte: Sehen Sie, wo Benutzer nach Eingabe einer Domain landen.

Externe Links Analyse

Die Externe Links-Ansicht hilft Ihnen, Drittanbieter-Abhängigkeiten und potenzielle Shadow-IT zu identifizieren. - Zugriff: Gehen Sie zu Berichte > Externe Links Bericht oder über Analytics. - Zweck: Listet alle während der Scans gefundenen Domains (via Crawler oder DNS), die nicht Teil Ihrer definierten Targets sind. - Funktionen: - Scope-Bewusstsein: Schließt automatisch Ihre eigenen Targets/Subdomains aus. - Quellen: Zeigt, welche Ihrer Targets zur externen Domain verlinken. - Typ: Zeigt an, ob der Link über einen Webseiten-Link (link), Mail Exchange Record (MX), Nameserver (NS) etc. gefunden wurde. - Export: Klicken Sie auf "PDF exportieren" auf der Berichte-Seite.

Tote Links Analyse

(Neu in v4.5.28) Identifizieren Sie Gesundheitsprobleme in Ihrem eigenen Inventar. - Zugriff: Gehen Sie zu Analytics > Tote Links. - Nicht erreichbare Targets: Listet Targets, bei denen kürzliche Scans fehlgeschlagen sind (Offline oder Server-Fehler). - Verwaiste Targets: Listet Targets in Ihrem Inventar, die von keinem anderen Target in Ihrem Scope verlinkt werden. Nützlich zum Finden vergessener Assets.


9. Datenverwaltung & Berichte

(Erweitert in v4.5.28)

YADS bietet dedizierte Berichte, die Ihnen helfen, spezifische Datensätze und Risiken zu analysieren.

Modul-Report-Center

(Neu in v4.5.28) Jedes Scanner-Modul hat jetzt eine eigene dedizierte Report-Seite, erreichbar über Berichte → Modul-Reports. Jeder Modul-Report bietet:

Module mit dedizierten, visuell optimierten Report-Designs: Git-Exposure (mit Pfad-Analyse), E-Mail-Sicherheit, HTTP-Header, Cookie-Sicherheit, CORS, SSL/TLS, Threat Intelligence, Subdomain-Takeover, JavaScript-Secrets, Nuclei, DNS und Port-Scan.

Sensible Daten

Pfad: /secrets Aggregiert Funde von exponierten API-Schlüsseln, Anmeldedaten und Konfigurationsdateien (z.B. .env, Backups), die von Nuclei und Web Analyzer erkannt wurden. * Kategorien: Anmeldedaten, Konfigurationen, PII. * Aktion: Rotieren Sie sofort alle hier gefundenen Anmeldedaten.

E-Mail-Sicherheit

Pfad: /email-security Analysiert SPF- und DMARC-Einträge, um Domains zu identifizieren, die für E-Mail-Spoofing anfällig sind. * Sicher: Starke SPF + DMARC Reject/Quarantine. * Monitoring: DMARC-Policy ist none. * Anfällig: Fehlende SPF- oder DMARC-Einträge.

Port-Exposition

Pfad: /ports Ein Dashboard mit Fokus auf Nmap-Ergebnisse, das riskante offene Ports in Ihrer Infrastruktur hervorhebt. * Hebt die häufigsten offenen Ports hervor (z.B. 22 SSH, 3389 RDP). * Listet alle Targets mit offenen Ports, die im letzten Scan erkannt wurden.

Technologie-Drift

Pfad: /tech-drift Eine Zeitleiste, die zeigt, wann Technologien zu Ihren Assets hinzugefügt oder entfernt wurden. * Verwenden Sie dies, um "Shadow IT" zu erkennen (z.B. ein neuer Nginx-Server, der über Nacht erscheint) oder Wartungsänderungen zu verifizieren.

Angriffsflächen-Reduktion

Pfad: /asr Eine "Bereinigungsliste" von Assets, die auf Außerbetriebnahme geprüft werden sollten. * Tote Endpunkte: Subdomains, die 404/5xx-Fehler zurückgeben. * Unkonfigurierte Server: Server, die Standard-Platzhalterseiten anzeigen. * Abgelaufene Zertifikate: SSL-Zertifikate, die abgelaufen sind.

Broken Link Hijacking

Pfad: /analytics/hijacking Identifiziert defekte externe Links (404s) auf Ihren Assets, die auf gültige Domains zeigen. * Risiko: Angreifer können diese Domains registrieren und die Link-/Script-Ausführung übernehmen. * Aktion: Entfernen Sie den defekten Link oder registrieren Sie die Domain.

Technologie-Radar

Pfad: /analytics/tech-radar Eine visuelle Aufschlüsselung der Technologie-Stack-Nutzung in Ihrem Portfolio. * Kategorien: Server, Frameworks, CMS. * Verwendung: Identifizieren Sie veraltete Technologie oder nicht autorisierte Software-Stacks.

Daten exportieren

Alle Systemexporte sind jetzt unter der Berichte-Seite in der Seitenleiste konsolidiert.

Verfügbare Berichte

Custom Report Builder

(Neue Funktion)

Erstellen Sie vollständig angepasste Sicherheitsberichte mit eigenem Branding, Struktur und Inhalt mithilfe von Markdown-Vorlagen.

Hauptfunktionen

Schnellstart

  1. Navigieren Sie zu Berichte → Report Builder.
  2. Wählen Sie ein oder mehrere Targets aus dem linken Panel.
  3. Schreiben Sie Ihre Markdown-Vorlage mit Variablen wie {{ tenant.report_company_name }}.
  4. Verwenden Sie die Live-Vorschau, um zu überprüfen, ob Ihre Vorlage korrekt gerendert wird.
  5. Klicken Sie auf Bericht generieren, um Ihr PDF zu erstellen.

Beispielvorlage

# Sicherheitsbericht für {{ tenant.report_company_name }}
**Erstellt:** {{ now|datetime }}

## Zusammenfassung
| Metrik | Anzahl |
|--------|--------|
| Kritisch | {{ summary.critical_count }} |
| Hoch | {{ summary.high_count }} |

## Befunde
{% for t in targets %}
### {{ t.domain }}
Sicherheitsscore: {{ t.security_score }}
{% endfor %}

💡 Tipp: Verwenden Sie den "Template-Hilfe"-Button, um alle verfügbaren Variablen nach Scanner-Modul organisiert zu sehen.

Datenexporte

System-Logs


10. Benutzerverwaltung & Sicherheit

(Nur Admin)

Benutzer verwalten

Gehen Sie zu Benutzer in der Navigationsleiste. * Benutzer erstellen: Definieren Sie Benutzername, Passwort und initiale Rolle. * Rollen: * Viewer: Nur-Lese-Zugriff auf Dashboards. * Scanner: Kann Targets hinzufügen und Scans ausführen. * Admin: Voller Systemzugriff, einschließlich Einstellungen und Benutzerverwaltung.

Multi-Faktor-Authentifizierung (MFA)

Mandanten-Zuweisung


11. Mandantenfähigkeit

YADS unterstützt mehrere isolierte Umgebungen (Mandanten). * Isolation: Targets, Ergebnisse und Benutzer sind auf einen Mandanten beschränkt. * Wechseln: Benutzer mit Zugriff auf mehrere Mandanten können den Kontext über das Dropdown in der oberen Navigationsleiste wechseln. * Verwaltung: Admins können Mandanten umbenennen und Mitgliedschaften über die Mandanten-Seite verwalten. * Plattform-Admin: Ein Admin ohne spezifischen Mandanten sieht alles und kann die Mandanten selbst verwalten.

Webhook-Benachrichtigungen

(Neu in v4.5.28) Mandanten können Echtzeit-Webhooks konfigurieren, um externe Systeme zu integrieren (Slack, Discord, Tines, etc.). 1. Gehen Sie zu Mandanten-Einstellungen. 2. Scrollen Sie zur Webhook-Benachrichtigungen-Karte. 3. Fügen Sie eine URL hinzu und wählen Sie Ereignisse (z.B. scan_finished, new_asset). 4. Verwenden Sie die Test-Schaltfläche, um die Verbindung zu überprüfen.


12. Systemeinstellungen & Queue

(Nur Admin)

Queue-Steuerung

Konfiguration

Verteilte Worker

YADS unterstützt horizontale Skalierung durch verteilte Worker über Docker Swarm Nodes.

Worker-Zustände

ZustandBeschreibung
ActiveLäuft und akzeptiert neue Tasks
SuspendedPausiert, akzeptiert keine neuen Tasks
DrainingBeendet aktuelle Tasks vor dem Offline-Gehen
OfflineAntwortet nicht (fehlende Heartbeats)

Einheitliche Protokollierung

Greifen Sie auf aggregierte Logs aller Worker über Einstellungen > Einheitliche Scan-Logs anzeigen zu. Filtern nach:

Hinweis: Detaillierte Einrichtungsanweisungen finden Sie in der Anleitung für verteilte Worker.

RabbitMQ Nachrichtenbroker

(Pflicht ab v4.5.28)

YADS v4.5.28 setzt RabbitMQ als Celery-Task-Broker voraus. Redis/Valkey bleibt als Result Backend und Echtzeit-Log-Streaming-Schicht im Einsatz. Beide Dienste sind für diese Rollen nicht mehr austauschbar.

Warteschlange für Maintenance-Tasks

Eine dedizierte maintenance-Celery-Queue verwaltet nmap- und Nuclei-Installations-/Update-Tasks. Diese Queue ist stets aktiv — sie wird nicht pausiert, wenn die Haupt-Scan-Queue über die Queue-Steuerung pausiert wird. Damit sind Tool-Updates unabhängig vom Scan-Scheduling.

One-Click Updates

(Neu in v4.5.28)

YADS enthält einen In-App Update-Mechanismus, der kontrollierte Updates ohne manuellen Eingriff durchführt.

⚠️ Wichtig: Updates können nicht abgebrochen werden, sobald die Neustart-Phase begonnen hat. Stellen Sie sicher, dass Sie aktuelle Backups haben, bevor Sie aktualisieren.

Sicherheits-Audit-Logging (MITRE ATT&CK)

(Neu in v4.5.28)

YADS enthält umfassendes Sicherheits-Audit-Logging, das am MITRE ATT&CK Framework ausgerichtet ist. Alle Authentifizierungs- und Benutzerverwaltungsereignisse werden mit vollständigem Kontext für SIEM-Integration und Compliance protokolliert.

Protokollierte Ereignisse

EreignistypMITRE-TechnikBeschreibung
Login ErfolgreichT1078 (Valid Accounts)Erfolgreiche Authentifizierung
Login FehlgeschlagenT1110 (Brute Force)Fehlgeschlagene Anmeldeversuche (ungültiger Benutzer/Passwort/MFA)
LogoutT1070 (Indicator Removal)Sitzungsbeendigung
PasswortänderungT1098 (Account Manipulation)Passwort durch Benutzer oder Admin geändert
MFA Aktiviert/DeaktiviertT1556 (Modify Auth Process)MFA-Konfigurationsänderungen
Benutzer ErstelltT1136 (Create Account)Neues Benutzerkonto erstellt
Benutzer GelöschtT1531 (Account Access Removal)Benutzerkonto gelöscht
Rolle GeändertT1078.003 (Local Accounts)Benutzerrolle/Berechtigung geändert
MandantenwechselT1087 (Account Discovery)Benutzer hat Mandantenkontext gewechselt

Erfasste Daten

SIEM-Integration

Ereignisse werden automatisch an Splunk weitergeleitet, wenn über Umgebungsvariablen konfiguriert:

💡 Tipp: Verwenden Sie die MITRE-Technik-IDs, um YADS-Ereignisse mit anderen Sicherheitstools in Ihrem SOC zu korrelieren.

Prometheus Metriken-Export

(Neu in v4.5.28)

YADS bietet native Prometheus-Metriken für Infrastruktur-Monitoring, Alerting und Performance-Dashboards.

Metriken aktivieren

Setzen Sie die folgenden Umgebungsvariablen, um den /metrics-Endpunkt zu aktivieren:

Verfügbare Metriken

MetrikTypBeschreibung
yads_scans_totalCounterGesamte Scans nach Modul und Status
yads_scan_duration_secondsHistogramScan-Dauer nach Modul
yads_http_requests_totalCounterHTTP-Anfragen nach Methode, Pfad, Status
yads_http_request_duration_secondsHistogramHTTP-Anfrage-Latenz
yads_security_events_totalCounterSicherheits-Audit-Ereignisse nach Typ
yads_active_scansGaugeAktuell laufende Scans
yads_queue_depthGaugeAusstehende Tasks in der Queue
yads_workers_totalGaugeWorker nach Status

Monitoring-Stack Deployment

Deployen Sie den kompletten Monitoring-Stack mit Prometheus und Grafana:

docker compose -f docker-compose.yml -f docker-compose.monitoring.yml up -d

Ein vorgefertigtes YADS-Dashboard wird automatisch in Grafana provisioniert.


13. KI & Automatisierung

(Neu in v4.5.28)

YADS v4.5.28 führt drei integrierte KI-Funktionen ein — alle nach dem Prinzip Human-in-the-Loop entworfen: KI schlägt vor, Menschen entscheiden. Kein autonomes Deployment, kein Auto-Push. Alle Funktionen unterstützen OpenAI und Anthropic (BYOK) und haben regelbasierte Fallbacks ohne API-Schlüssel.

Human-in-the-Loop-Prinzip: Das ist eine bewusste Architekturentscheidung. KI erzeugt Vorschläge, Code oder Analysen — ein Mensch muss aber immer prüfen und freigeben, bevor etwas gespeichert, deployt oder ausgeführt wird. Das KI Add-on Lab erzeugt Modul-Code, kann ihn aber nicht installieren oder aktivieren. Befundbeschreibungen werden zur Prüfung markiert. Kein Scan wird jemals autonom durch KI ausgelöst.

13.0 KI-Anbieter konfigurieren

KI-Funktionen erfordern einen API-Schlüssel von OpenAI oder Anthropic. Schlüssel können auf zwei Ebenen gesetzt werden:

Unterstützte Modelle: OpenAI GPT-4o, GPT-4o-mini; Anthropic Claude 3.5 Sonnet, Claude 3 Haiku.

💡 Regelbasierter Fallback: Ohne API-Schlüssel fallen alle KI-Funktionen automatisch auf ausgefeilte regelbasierte Logik zurück. Ergebnisse werden als "Regelbasierte Analyse" statt "KI-generiert" gekennzeichnet.

13.1 KI-Intelligenz-Assistent

Eine konversationelle KI-Oberfläche, die vollständig auf Ihren eigenen Scan-Daten basiert. Zugang über Intelligence → KI-Assistent.

Funktionsumfang:

Natürlichsprachige Suche: Die gesamte Befunddatenbank per natürlicher Sprache oder Deutsch durchsuchen. Beispiele:

Geparste Filter erscheinen als Chips unter dem Suchfeld. Ergebnisse sind nach Schweregrad sortiert (max. 200 Einträge). Klick auf ein Ergebnis navigiert direkt zur Zieldetailseite.

🔒 Datensparsamkeit: An den KI-Anbieter werden ausschließlich der generische Befundtyp, der Schweregrad und der Name des Scanner-Moduls übermittelt. Ziel-Hostnamen, IP-Adressen, Roh-Scan-Daten und kundenbezogene Informationen werden niemals übertragen.

13.2 KI-generierte Befundbeschreibungen Enterprise

Erzeugt automatisch verständliche Beschreibungen mit Behebungsschritten für jeden Sicherheitsbefund. Zugang über das KI-Symbol in jeder SecurityFinding-Zeile oder über Intelligence → Befundbeschreibungen.

Was erzeugt wird:

Prüfworkflow:

  1. Klicken Sie auf das KI-Symbol bei einem Befund.
  2. Ein Vorschau-Panel zeigt die vorgeschlagene Beschreibung und Behebungsschritte.
  3. Prüfen Sie den Inhalt — das Feld "An KI gesendet" zeigt genau, was übertragen wurde (nur Befundtyp + Schweregrad, niemals Hostname oder Roh-Daten).
  4. Klicken Sie auf Beschreibung speichern, um sie am Befund zu hinterlegen. Der Befund wird mit einem KI-Badge und einem Prüf-Flag versehen.
  5. Ein Prüfer kann die Beschreibung genehmigen oder bearbeiten, bevor sie in Berichten finalisiert wird.

⚠️ Prüfpflicht: KI-generierte Beschreibungen werden mit dem Flag needs_review gespeichert. Sie erscheinen in Berichten und Exporten, sind aber klar als KI-generiert und ausstehend markiert. Die finale Freigabe ist ein manueller Schritt — das System veröffentlicht KI-Ausgaben niemals automatisch.

13.3 KI Add-on Lab Enterprise

Erzeugt Custom-Scanner-Modul-Code aus einer Klartextbeschreibung. Zugang über Intelligence → KI Add-on Lab.

Anwendungsfall: Sie benötigen einen Scanner für eine spezifische Fehlkonfiguration, einen proprietären Endpunkt oder ein internes Technologiemuster. Beschreiben Sie in Klartext, was erkannt werden soll — YADS erzeugt ein funktionsfähiges Python-Modul-Skeleton, das die BaseScannerModule-Schnittstelle implementiert.

Workflow:

  1. Navigieren Sie zu Intelligence → KI Add-on Lab.
  2. Beschreiben Sie den gewünschten Scanner in Klartext (z. B. "Prüfe ob der /admin-Endpunkt ohne Authentifizierung eine 200-Antwort zurückgibt").
  3. Klicken Sie auf Modul erzeugen. Die KI produziert ein Python-Modul, das die YADS-Scanner-Schnittstelle implementiert.
  4. Prüfen Sie den generierten Code im eingebauten Syntax-Editor. Sie können bearbeiten, iterieren und neu erzeugen.
  5. Klicken Sie auf Exportieren, um die .py-Datei herunterzuladen.
  6. Ein Entwickler prüft den Code, validiert ihn gegen Ihre Sicherheitsstandards und legt ihn manuell im Verzeichnis yads/modules/custom/ ab.
  7. YADS erkennt das Modul beim nächsten Start automatisch — keine weitere Konfiguration nötig.

Kein Auto-Deploy: Das KI Add-on Lab installiert, aktiviert oder führt generierte Module niemals automatisch aus. Export ist die einzige verfügbare Aktion. Das gesamte Deployment erfolgt manuell und erfordert eine Prüfung durch einen Entwickler.

Kostenbewusstsein: Jede Generierungsanfrage verbraucht API-Tokens Ihres konfigurierten KI-Anbieters. Das Lab zeigt vor der Anfrage eine geschätzte Token-Anzahl. Überwachen Sie bei hohem Volumen das Abrechnungs-Dashboard Ihres Anbieters.

Risiken und Prüfpflichten:

13.4 Befundpriorisierung

Ordnet alle Sicherheitsbefunde eines ausgewählten Ziels automatisch nach kombinierter Ausnutzbarkeit und Geschäftsauswirkung.

  1. Öffnen Sie Intelligence → KI-Assistent.
  2. Wählen Sie den Tab Priorisierung.
  3. Wählen Sie ein Ziel und klicken Sie auf Analysieren.
  4. Ergebnisse: Prioritätsrang, Schweregrad-Badge, Ausnutzbarkeit (1–10), Geschäftsauswirkung (1–10) und einzeilige Begründung.

13.5 Maßnahmenassistent

Erzeugt schrittweise Behebungsanleitungen für jeden spezifischen Befund.

  1. Öffnen Sie den Tab Maßnahmen im KI-Assistenten.
  2. Befunddetails manuell ausfüllen oder Schnellauswahl nutzen: Ziel wählen → Befunde laden → Befund klicken.
  3. Klicken Sie auf Maßnahmen abrufen.
  4. Ergebniskarte: nummerierte Schritte, Aufwands-Badge (Gering / Mittel / Hoch) und Referenzlinks.

13.6 Befunderklärung Enterprise

Erklärt in verständlicher Sprache, was ein bestimmter Sicherheitsbefund bedeutet.

  1. Ziel auswählen → Befunde laden.
  2. Befund auswählen — Formular füllt sich automatisch mit Befundtyp, Schweregrad, Scanner-Modul.
  3. Feld An KI gesendet (Vorschau) prüfen.
  4. Klicken Sie auf Befund erklären.
  5. Ergebniskarte: Was ist dieser Befund?, Was kann ein Angreifer tun?, Wie behebt man ihn? — sowie Referenzlinks.

13.7 Executive Summary Enterprise

Erstellt einen managementtauglichen Sicherheitsbewertungstext für ein ausgewähltes Ziel — für Berichte oder Kundenpräsentationen.

  1. Ziel aus Dropdown-Liste wählen.
  2. Feld An KI gesendet (Vorschau) prüfen — zeigt nur aggregierten Score und Befundanzahlen nach Schweregrad.
  3. Klicken Sie auf Zusammenfassung erstellen.
  4. Ergebnis: Sicherheitsscore mit Schweregrads-Chips, Zusammenfassungstext, Stichpunkte, priorisierte Handlungsempfehlungen.
  5. Schaltfläche Zusammenfassung kopieren für Bericht oder E-Mail.

🔒 Datensparsamkeit: Nur Score und aggregierte Befundanzahlen (z. B. {"critical": 2, "high": 5}) werden übertragen. Domain, Hostnamen, IPs und Einzelbefunde niemals.


14. Befundmanagement & Schwachstellenverfolgung

Über die reine Erkennung von Schwachstellen hinaus ermöglicht YADS jetzt die Verfolgung des Behebungslebenszyklus jedes Befunds. Zugang über Sicherheit → Befunde.

14.1 Befundstatus

Jedem Befund kann einer von vier Status zugewiesen werden:

StatusBedeutungBadge-Farbe
OffenNeu erkannt, noch nicht bearbeitetGrau
BestätigtTeam ist informiert und arbeitet daranBlau
Falsch-PositivVerifiziertes Nicht-Problem, aus Zählungen ausgeschlossenGrau (durchgestrichen)
BehobenBehebung bestätigtGrün (Smaragd)

Status aktualisieren: klicken Sie auf die Bearbeiten-Schaltfläche in einer Befundzeile. Ein Modal öffnet sich mit einem Status-Dropdown und einem optionalen Notizfeld. Klicken Sie auf Speichern, um die Änderung zu übernehmen.

Technischer Hinweis: Status wird mandantenspezifisch gespeichert und durch einen deterministischen SHA-256-Hash von domain|modul|problem_titel identifiziert. Der Status übersteht Neuüberprüfungen — ein als "Behoben" markierter Befund behält diesen Status auch nach dem nächsten Scan, bis der Befund tatsächlich aus den Ergebnissen verschwindet.

14.2 Nach Status filtern

Ein Status-Dropdown-Filter auf der Sicherheitsbefunde-Seite erlaubt die Konzentration auf das Wesentliche:

14.3 Suche nach YF-ID

(Neu in v4.5.28)

Jedem Sicherheitsbefund wird eine eindeutige, unveränderliche YF-ID zugewiesen (z. B. YF-006394). Sie können nun direkt im Security Findings Dashboard nach diesen IDs suchen:

14.4 CSV-Export

Die CSV exportieren-Schaltfläche (Toolbar, oben rechts in der Befundtabelle) exportiert die aktuell gefilterte Ansicht. Alle aktiven Filter werden angewendet — Schweregrad, Status, Modul, Domain und Datumsbereich. CSV-Spalten:


15. Asset-Tagging & Organisation

Tags ermöglichen die Organisation von Zielen in logische Gruppen. Navigation über Ziele → Tags.

15.1 Tags zuweisen

15.2 Nach Tag filtern

Eine interaktive Tag-Wolke auf der Tags-Seite zeigt alle verwendeten Tags. Die Chipgröße skaliert mit der Verwendungshäufigkeit. Klicken Sie auf ein Tag, um die Zielliste darunter zu filtern. Erneutes Klicken hebt den Filter auf.

15.3 Tag-Taxonomie verwalten

Der Bereich Tags verwalten auf der Tags-Seite zeigt ein Balkendiagramm der am häufigsten verwendeten Tags. Jeder Tag hat eine Löschen-Schaltfläche, die diesen Tag von allen Zielen des Mandanten entfernt.

15.4 Empfohlene Tag-Konventionen

KategorieBeispiel-TagsZweck
Umgebungproduktion, staging, entwicklungProduktion von Nicht-Produktion trennen
Kritikalitätkritisch, hochwertig, internScan-Schwerpunkte priorisieren
Scopeim-scope, außerhalb-scope, drittanbieterPentest- und Bug-Bounty-Scoping
Infrastrukturcloud, aws, azure, on-premInfrastrukturtyp-Klassifizierung
Teamteam-backend, team-frontendEigentümerzuordnung
Compliancedsgvo, pci, iso27001Regulatorischer Scope

16. Executive Report & Portfolio-Ansicht

16.1 Executive Security Report

Navigation über Intelligence → Executive Report. Diese Seite bietet eine nicht-technische, C-Level-freundliche Sicherheitsübersicht — geeignet für Management-Präsentationen, Vorstandsberichte und Stakeholder-Updates.

Inhalte:

Drucken als PDF: Klicken Sie auf die Bericht drucken-Schaltfläche. Ein Druckstylessheet blendet die Navigation aus und rendert den Bericht mit weißem Hintergrund für den Druck oder als PDF-Speicherung aus dem Browser.

16.2 Angriffspfad-Visualisierer

(Grundlegend überarbeitet in v4.5.28)

Navigation über Intelligence → Angriffspfade. Dieser Multi-Target-D3.js-Kill-Chain-Graph zeigt, wie ein Angreifer von der Erstbetretung zu tieferer Kompromittierung über die gesamte Scope vorgehen könnte.

Verwendung:

  1. Ein oder mehrere Ziele aus der Multi-Select-Dropdown-Liste wählen (oder alle laden).
  2. Der Graph lädt mit kraftgerichtetem Layout. Knoten verschieben; Scrollen zum Zoomen; Abstand-Slider für Knotendichte verwenden.
  3. Klicken auf einen Domain-Knoten öffnet das Knotendetail-Panel mit Schweregradring-Farbe, Befundanzahl und Change-Status.
  4. Das Suchfeld hervorheben eines bestimmten Knotens — passende Knoten werden markiert, der Graph fittet automatisch.
  5. Filter: Mindest-Schweregrad per Slider.
  6. Klicken Sie auf 4K-PNG exportieren für ein hochauflösendes Bild für Berichte und Präsentationen.

Visuelle Indikatoren an Domain-Knoten:

Kantenfarbcodierung: Rot = Kritisch, Orange = Hoch, Gelb = Mittel, Grün = Niedrig/Info. Kill-Chain-Overlay-Modus hebt mehrstufige Angriffsketten nach MITRE ATT&CK hervor.

16.3 Portfolio-Ansicht (Plattformadministratoren)

Plattformadministratoren (Benutzer mit role=admin ohne Mandantenzuweisung) können über Admin → Portfolio-Ansicht zugreifen. Diese mandantenübergreifende Übersicht zeigt:


20. Standalone- & Lokale Installation

YADS gibt es nur als Source — direkt von GitHub geklont und lokal mit Docker Compose gebaut. Kein Release-Archiv, keine private Registry, kein Login nötig.

Voraussetzungen

Schritt 1: Repositories klonen

Das Deployment liegt in yads-infra, das yads-api/yads-worker aus einem sibling yads-Checkout baut.

git clone https://github.com/MrMarco74/yads.git git clone https://github.com/MrMarco74/yads-infra.git cd yads-infra

Schritt 2: Konfigurieren

cp .env.example .env nano .env

Mindestens POSTGRES_PASSWORD, SECRET_KEY, SIGNING_KEY, REFRESH_SECRET, YADS_ENCRYPTION_KEY und RABBITMQ_PASSWORD setzen.

Schritt 3: Starten

docker compose -f docker-compose.server.yml up -d --build

Rufen Sie http://<ihr-host>:8000 (bzw. Ihre konfigurierte Domain) auf, um den In-App-Setup-Assistenten abzuschließen.

Updates

git -C ../yads pull git pull docker compose -f docker-compose.server.yml up -d --build

Erstellen Sie vor jedem Update ein Backup (Einstellungen → Backup & Wiederherstellung).


17. Dark/Light Mode

YADS unterstützt sowohl ein dunkles (Standard) als auch ein helles Design. Der Wechsel ist jederzeit ohne Neuanmeldung möglich und wird pro Benutzer gespeichert.

Umschalten des Designs

Hinweis: Light Mode CSS optimiert alle UI-Elemente inklusive Slate- und Graupaletten für optimale Lesbarkeit. Beide Modi werden vollständig unterstützt.


18. In-App-Bugmeldung

YADS enthält ein eingebautes Fehlerüberwachungs- und Meldungssystem, das Scan-Fehler automatisch erkennt und Benutzern ermöglicht, Probleme direkt aus der Oberfläche heraus zu melden.

Automatische Fehlererkennung

Fehler melden


19. Asset Discovery

Das Asset Discovery-Modul erkennt automatisch Subdomains und zugehörige Infrastruktur einer Zieldomain — ohne aktive Netzwerkscans zu verwenden.

Funktionsweise

Konfiguration

Tipp: Kombinieren Sie Asset Discovery mit dem DNS Health Check-Modul, um nicht erreichbare Subdomains automatisch zu archivieren.

Targets-Tabelle mit entdeckten Assets

Targets-Tabelle mit automatisch entdeckten Subdomains und Asset-Discovery-Ergebnissen.


20. Mehrsprachigkeit (EN/DE)

YADS ist vollständig in Deutsch und Englisch verfügbar. Die Spracheinstellung gilt für die gesamte Oberfläche, alle Exporte und KI-Ausgaben.

Sprache wechseln

  1. Öffnen Sie Ihr Benutzerprofil (oben rechts → Profilname).
  2. Wählen Sie unter Spracheinstellung die gewünschte Sprache: Deutsch oder English.
  3. Speichern Sie — die Oberfläche wechselt sofort ohne Neuanmeldung.

Was wird übersetzt?

Hinweis: Scan-Ergebnisse (Rohdaten) werden sprachunabhängig gespeichert. Nur die UI-Beschriftungen und Report-Ausgaben sind übersetzt.


21. Support-Tickets & Messaging

YADS-Kunden können ihre eingereichten Bug-Reports einsehen und direkt aus der Anwendung heraus mit dem YADS-Support-Team kommunizieren.

Support-Tickets aufrufen

Navigiere zu Hilfe → Support Tickets in der Seitenleiste. Die Ticket-Liste zeigt alle eingereichten Reports mit Status, Topic und ungelesenen Nachrichten.

Messaging

Alle Nutzer können über den Ticket-Thread bidirektional mit dem Support-Team kommunizieren.

Bug-Report-Topics

Beim Erstellen eines Bug-Reports kann ein Topic-Kategorie ausgewählt werden (Scanner, UI, Performance, Auth, Worker, Report, API, Other). Topics helfen bei der Priorisierung und Zuweisung.


22. Anonymes Installations-Reporting

Im Onboarding-Wizard (Schritt 4) wird angeboten, einen einmaligen anonymen Bericht zu senden, um YADS zu verbessern. Dieser Schritt ist vollständig optional und erfordert eine explizite Zustimmung.

Was gesendet wird

Es werden keine persönlichen Daten, keine Hostnamen, keine Tenant-Namen und keine Nutzerdaten übertragen. Im Wizard kann die genaue Nutzlast vor dem Klick auf Senden & Weiter eingesehen werden.

Reporting überspringen

Auf Überspringen klicken. Der Wizard geht direkt zur Fertig-Ansicht und das Onboarding wird normal abgeschlossen.


23. Best Practices

Um das Beste aus YADS herauszuholen, beachten Sie diese Tipps:

💡 Profi-Tipp: Planen Sie regelmäßige Scans außerhalb der Spitzenzeiten, um die Netzwerkbelastung zu minimieren.

  1. Tagging: Verwenden Sie Tags kreativ (z.B. prod, dev, critical), um Targets zu organisieren.
  2. Regelmäßige Überprüfung: Kontrollieren Sie die Analytics-Seite wöchentlich, um Trends bei Schwachstellen zu erkennen.
  3. Scope-Definition: Seien Sie vorsichtig beim Hinzufügen von Root-Domains (z.B. company.com), da das Subdomain Recon-Modul Hunderte von Assets finden könnte.

Empfohlene Scan-Reihenfolge

Die folgende Vorgehensweise hat sich für umfassende Sicherheitsanalysen bewährt. Jede Phase baut auf der vorherigen auf und gewährleistet eine gründliche Abdeckung bei gleichzeitiger Effizienz.

Phase 1: Basisdaten aufbauen

Beginnen Sie mit der Erfassung bekannter Assets:

Phase 2: Aktive Hosts identifizieren

Ermitteln Sie, welche der gefundenen Assets aktiv Webinhalte bereitstellen:

Phase 3: Tiefenanalyse der Online-Assets

Für alle Targets mit Status "online" führen Sie eine umfassende Analyse durch:

Phase 4: Scope erweitern

Entdecken Sie zusätzliche Domains, die zur Organisation gehören könnten:

Phase 5: Links verfolgen

Prüfen Sie die Reports, um weitere untersuchenswerte Targets zu identifizieren:

💡 Tipp: Wenn Sie in dieser Phase neue relevante Domains entdecken, fügen Sie diese als Targets hinzu und wiederholen Sie ab Phase 1 für genau diese neuen Domains.

Phase 6: Aktive Schwachstellentests

Nach Abschluss der passiven Reconnaissance folgen die aktiven Scans:

⚠️ Hinweis: Aktive Scans erzeugen mehr Traffic und können Sicherheitswarnungen auslösen. Stellen Sie sicher, dass Sie über die entsprechende Berechtigung verfügen, bevor Sie diese Module ausführen.

Phase 7: Housekeeping

Abschließend bereinigen Sie Ihre Target-Liste:


24. Fehlerbehebung

Häufige Probleme

🛑 Scan bleibt in "Pending" hängen

⚠️ "Web Analyzer" fehlgeschlagen

🚫 MFA-Code abgelehnt


25. Support

Für technischen Support oder um Fehler zu melden: support@yads-security.com


26. Standalone- & Lokale Installation

Voraussetzungen

Minimalinstallation (Core only)

Startet API, Worker, Datenbank und Redis ohne optionale Dienste:

docker compose up -d

Mit Identity Provider

docker compose --profile keycloak up -d

Mit Monitoring-Stack

docker compose --profile monitoring up -d

Vollständige Installation

docker compose --profile keycloak --profile monitoring up -d

Alternativ können die Profile in der .env-Datei gesetzt werden:

COMPOSE_PROFILES=keycloak,monitoring

Erster Start

  1. Nach dem Start den Setup-Wizard unter http://localhost:8085/setup aufrufen.
  2. Admin-Account anlegen.
  3. Konfiguration wird in data/config.env gespeichert und über die UI verwaltet.

Konfiguration

Externe Services einbinden

Wenn Keycloak oder Prometheus bereits extern betrieben werden, müssen nur die entsprechenden Umgebungsvariablen gesetzt werden — kein eigener Container erforderlich:

AUTH_MODE=oidc
OIDC_SERVER_URL=http://your-keycloak:8080
OIDC_PUBLIC_URL=https://keycloak.your-domain.com

User-Migration zu Keycloak

python scripts/maintenance/migrate_users_to_keycloak.py \
  --keycloak-url http://keycloak:8080 \
  --dry-run

Hinweis: Kubernetes- und Cloud-Deployment wird in einem separaten Kapitel dokumentiert (in Vorbereitung).


27. Identity Provider & SSO

Authentifizierungsmodi

URL-Konfiguration für Docker-Deployments

Realm-Konzept

Für jede YADS-Mandanteninstanz wird ein eigener Keycloak-Realm empfohlen, um vollständige Mandantentrennung im Identity Provider sicherzustellen.

Gruppen-Mapping

Keycloak-GruppeYADS-Rolle
{tenant}-adminstenant_admin
{tenant}-scannersscanner
{tenant}-auditorsauditor
yads-platform-adminsadmin

Keycloak-Client-Konfiguration

Folgende Protocol Mapper müssen im Keycloak-Client konfiguriert sein:

Migration bestehender User

python scripts/maintenance/migrate_users_to_keycloak.py \
  --keycloak-url http://keycloak:8080 \
  --realm yads \
  --dry-run

Entfernen Sie --dry-run, um die Migration tatsächlich durchzuführen. Bestehende lokale Passwörter bleiben als Fallback erhalten, solange AUTH_MODE=local aktiv ist.


28. Entwicklerportal

Das Entwicklerportal (/developer) stellt alles bereit, um YADS in CI/CD-Pipelines, SIEM-Systeme oder eigene Tools zu integrieren.

API-Schlüsselverwaltung

Authentifizierung

API-Schlüssel im X-API-Key-Header übergeben:

curl -H "X-API-Key: yads_ihr_schluessel_hier" https://ihre-yads-instanz/api/targets

Code-Beispiele

Das Portal enthält einsatzbereite Code-Snippets für curl, Python (requests) und JavaScript (fetch) — für Authentifizierung, Ziel-Auflistung, Scan-Start und Ergebnisabruf.

Ratenlimits

EndpunktLimit
Die meisten API-Endpunkte600 Anfragen/min
Scan-Start60 Anfragen/min
Berichterstellung10 Anfragen/min

29. Scan-Profile

Scan-Profile ermöglichen das Speichern und Wiederverwenden benannter Scanner-Modul-Zusammenstellungen — manuelle Modulauswahl bei jedem Scan entfällt.

Integrierte Profile

ProfilBeschreibungModule
Quick ReconLeichter passiver CheckDNS, SSL, HTTP-Header
Standard ScanAusgewogene SicherheitsprüfungAlle Kernmodule
Deep Security AuditGründliche PrüfungAlle Module inkl. Nuclei
Recon OnlyKeine aktiven SondierungenDNS, OSINT, Wayback, crt.sh
Threat IntelligenceIOC & ReputationsfokusShodan, Censys, AbuseIPDB, OTX, VT

Eigene Profile

Unter Scan-Profile in der Seitenleiste → Profil erstellen. Module auswählen, optional als öffentlich markieren (für alle Mandantenbenutzer sichtbar) und speichern. Ein Profil kann als Mandantenstandard festgelegt werden — alle neuen Scans verwenden es automatisch.


30. Einrichtungsassistent

Neue Mandanten werden beim ersten Login durch einen 4-Schritte-Assistenten geführt:

  1. Willkommen — Übersicht über YADS-Funktionen und Kernmerkmale
  2. Ziel hinzufügen — Erste zu überwachende Domain eingeben
  3. Erster Scan — Scan-Profil auswählen und erste Prüfung starten
  4. Fertig — Links zum Dashboard, zur Zielliste und zur Dokumentation

Der Assistent kann jederzeit über den Link „Assistent überspringen" geschlossen werden. Nach dem Schließen (oder Abschließen) erscheint er nicht erneut. Plattformadmins können ihn für einen Mandanten zurücksetzen, indem der Schlüssel ONBOARDING_DONE_{tenant_id} unter Systemeinstellungen → Konfiguration entfernt wird.


31. Datenspeicherung

YADS kann alte Scan-Ergebnisse automatisch löschen, um die Datenbankgröße bei langfristigen Deployments überschaubar zu halten.

Konfiguration

Unter Einstellungen → Datenspeicherung den Aufbewahrungszeitraum in Tagen festlegen (Standard: 90). Wert 0 deaktiviert die Bereinigung (dauerhaft behalten).

Bereinigungsverhalten


32. Excel-Export

Jede Zieldetailseite hat eine Excel-Export-Schaltfläche, die eine mehrblättrige XLSX-Datei mit allen 20+ Scanner-Modulen erzeugt.

Enthaltene Tabellenblätter

Sprachunterstützung

Mit ?lang=de werden Spaltenüberschriften und Bezeichnungen auf Deutsch ausgegeben (Standard: Englisch mit ?lang=en).

GET /targets/{id}/export/excel?lang=de

33. Angriffspfad-Visualisierer

(Grundlegend überarbeitet in v4.5.28)

Der Angriffspfad-Visualisierer (Intelligence → Angriffspfade) erzeugt einen Multi-Target-D3.js-gerichteten Graphen, der exponierte Dienste, Fehlkonfigurationen und Schwachstellen zu plausiblen mehrstufigen Angriffsketten verknüpft.

Funktionsweise

Bedienung

  1. Zu Intelligence → Angriffspfade navigieren (oder von einer Zieldetailseite).
  2. Ein oder mehrere Ziele aus der Multi-Select-Dropdown-Liste wählen.
  3. Graph lädt automatisch. Verschieben zum Umarrangieren; Scrollen zum Zoomen; Abstand-Slider für Dichte verwenden.
  4. Suchfeld nutzen, um bestimmte Knoten zu finden und den Graphen darauf zu fokussieren.
  5. Hover für Tooltip; Klick für Detailpanel.
  6. Mit 4K-PNG exportieren hochauflösendes Bild für Berichte herunterladen.

Score-Auswirkung

Ketten mit 3+ Hops und einem kritischen Einstiegsknoten erzeugen einen -10-Abzug im Gesamtscore (Faktor: „Mehrstufiger Angriffspfad erkannt") in der Compliance-Bewertungskarte.

Knotensuche & Navigation

Domain-Name, Port oder Befund-Stichwort in das Suchfeld eingeben. Passende Knoten werden hervorgehoben, nicht passende abgedunkelt, und der Viewport fittet automatisch auf die Treffer. Suche löschen stellt die vollständige Ansicht wieder her.


34. Scan-Vergleich

Der Scan-Vergleich ermöglicht es, zwei historische Scan-Ergebnisse desselben Ziels zu vergleichen, um genau zu ermitteln, was sich zwischen den Läufen geändert hat.

Vergleich aufrufen

  1. Zu Ziel → Änderungshistorie navigieren.
  2. Zwei Scan-Ergebniseinträge anwählen (Checkboxen) und Vergleichen klicken.
  3. Eine Side-by-side-Diff-Ansicht markiert hinzugefügte/entfernte/geänderte Felder pro Modul.

Was verglichen wird

Export

Diff-PDF exportieren erzeugt einen Vergleichsbericht für Kunden oder Compliance-Nachweise.


35. WAF-Analyse

Das WAF-Detector-Modul prüft, ob ein Ziel durch eine Web Application Firewall geschützt ist, identifiziert den Hersteller und bewertet das Bypass-Risiko.

Erkennungsmethoden

Ergebnisfelder

Score-Auswirkung

Keine WAF bei extern erreichbaren Webdiensten: -5 Abzug. WAF mit hoher Konfidenz erkannt: +5 Bonus.


36. Scanner-Import

YADS kann externe Scan-Ergebnisse gängiger Tools über die Scanner-Import-Funktion (Einstellungen → Scanner-Import) einlesen und so eine einheitliche Ansicht aller Befunde ermöglichen.

Unterstützte Formate

Import-Prozess

  1. Zu Einstellungen → Scanner-Import navigieren.
  2. Ziel aus dem Dropdown auswählen.
  3. Dateiformat wählen und Ergebnisdatei hochladen.
  4. YADS normalisiert die Befunde in das Standard-ScanResult-Schema und erstellt ChangeEvent-Einträge für neue Befunde.
  5. Importierte Ergebnisse erscheinen in der Befunde-Übersicht des Ziels und fließen in die Score-Berechnung ein.

37. Integrationen (Jira / GitHub / SIEM / Webhook)

YADS bietet erstklassige Integrationen mit Issue-Trackern, Code-Repositories und SIEM-Plattformen über ein einheitliches Webhook- und API-System.

Webhook-System

Webhooks werden unter Einstellungen → Webhooks konfiguriert. Jeder Webhook wird bei einem oder mehreren Ereignissen ausgelöst:

Jira-Integration

GitHub-Integration

SIEM / Splunk

Slack / Microsoft Teams


38. Erweitertes Scanner-Modul-Referenz

Die folgenden Module wurden in v4.5.28 hinzugefügt und ergänzen die in Abschnitt 6 beschriebene Kern-Scanner-Suite.

Modul Was erkannt wird Score-Auswirkung
Open Redirect DetectionURL-Parameter, die auf beliebige externe Domains umleiten−15 max
TLS Deep ScanUnterstützte Cipher Suites, Protokollversionen, HSTS-Erzwingung, Grade (A–F)B=−5, C=−10, D=−15, F=−20
Service FingerprintingTCP/UDP-Banner-Grabbing für 50+ gängige Service-PortsBefund-basiert
ASN / IP-BereicheAutonome Systemnummer, CIDR-Blöcke, Hosting-Anbieter, GeolokalisierungInformativ
Login & Auth SurfaceErkannte Login-Endpunkte, Auth-Mechanismen, exponierte Admin-PanelsBefund-basiert
IPv6-AngriffsflächeIPv6-Adressen, offene Ports, WAF-Bypass-Potenzial via IPv6Befund-basiert
DNS-HistorieHistorische DNS-Einträge via Passive-DNS, IP-Pivot-FlächeInformativ
Phishing-ErkennungDomain-Präsenz in Google Safe Browsing, PhishTank, OpenPhish−20 wenn gelistet
CT Log MonitorEchtzeit-Certificate-Transparency-Log-Streaming für neue ZertifikatsausstellungenInformativ
E-Mail-HarvestingÜber Webseiten, Metadaten und OSINT-Quellen exponierte E-Mail-AdressenBefund-basiert
Dependency ConfusionInterne Paketnamen, die über öffentliche Registries auflösbar sind (npm, PyPI, RubyGems)−20 max (kritisch/hoch)
GraphQL SecurityIntrospection aktiv, Feld-Vorschläge, Batching, DoS-Vektoren−4 pro kritisch/hoch
WebSocket Securityws:// vs wss://, Origin-Validierung, Authentifizierung beim Upgrade−4 pro kritisch/hoch
Password Spray SurfaceAufzählbare Auth-Endpunkte, anfällig für Credential-Stuffing−4 pro kritisch/hoch
Leaked CredentialsDomänen-bezogene E-Mail-/Passwort-Paare in öffentlichen Breach-Datensätzen (HIBP)−25 max (8 Pkt./Breach)
API Security ScannerUnauthentifizierte API-Endpunkte, excessive Data Exposure, Mass Assignment−20 max (kritisch), −10 max (hoch)
Mobile App DiscoveryZugehörige iOS/Android-Apps via App-Store-Lookup und Deep-Link-ProbingInformativ
WAF DetectorWAF-Hersteller-Erkennung über Header-/Cookie-/Response-Fingerprinting−5 wenn fehlt, +5 bei hoher Konfidenz

Alle Module können pro Scan-Durchlauf oder über Scan-Profile einzeln aktiviert/deaktiviert werden. Ergebnisse aller Module werden in der Sicherheitsbefunde-Ansicht aggregiert und in PDF-/Excel-Exporte einbezogen.


39. Custom-Modul-System

(Neu in v4.5.28)

YADS unterstützt Custom-Scanner-Module, die beim Start automatisch aus dem Verzeichnis yads/modules/custom/ eingelesen werden. Keine Konfigurationsdatei, kein Registry-Eintrag und kein Neustart (über das Ablegen der Datei hinaus) erforderlich.

Auto-Discovery-Mechanismus

Beim Start durchsucht der Worker yads/modules/custom/ nach .py-Dateien. Jede Datei, die eine Klasse enthält, die BaseScannerModule erweitert, wird automatisch unter ihrem deklarierten name-Attribut im Modul-Registry registriert. Das Modul erscheint sofort in:

Eingebaute Custom-Module (v4.5.28)

ModulWas es erkennt
cert_hostname_mismatchSSL-Zertifikate, bei denen Common Name / SAN nicht mit der Zieldomain übereinstimmt — findet abgelaufene Zertifikatstausche und falsch konfigurierte Multi-Domain-Zertifikate
jwt_none_scannerAPI-Endpunkte, die JWT-Tokens mit dem none-Algorithmus akzeptieren — eine kritische Auth-Bypass-Schwachstelle

Ein Custom-Modul schreiben

from yads.core.base import BaseScannerModule, ScanResult

class MeinCustomScanner(BaseScannerModule):
    name = "mein_custom_scanner"
    label = "Meine Custom-Prüfung"
    description = "Prüft auf XYZ-Fehlkonfiguration."

    def run_scan(self, target, session) -> ScanResult:
        # ... Scanning-Logik ...
        return ScanResult(
            module=self.name,
            target_id=target.id,
            data={"finding": "detected"},
            severity="medium"
        )

Datei in yads/modules/custom/mein_custom_scanner.py ablegen und den Worker neu starten. Das Modul ist sofort aktiv.

Sicherheitshinweis: Custom-Module laufen mit vollen Worker-Privilegien. Alle Custom-Module vor dem Deployment prüfen, insbesondere solche mit ausgehenden Netzwerkverbindungen oder Benutzereingaben.


40. PQC Readiness & CBOM

(Grundlegend überarbeitet in v4.5.28)

Der Post-Quantum-Kryptografie-Scanner (PQC) analysiert Ihre TLS-Infrastruktur auf Quantenresistenz und erstellt für jedes Ziel ein Kryptografisches Bill of Materials (CBOM).

Multi-Port-TLS-Scanning

Der Scanner sondiert alle relevanten TLS-Ports, nicht nur 443:

PortDienst
443HTTPS
8443HTTPS alternativ
993IMAPS
465SMTPS
587SMTP STARTTLS
636LDAPS

Jeder Port wird vor der TLS-Analyse auf Erreichbarkeit geprüft (2s TCP-Probe). Ergebnisse werden im Per-Port-Format gespeichert: {"443": {...}, "993": {...}}.

Hybrid-KEX-Erkennung

Der Scanner erkennt Post-Quantum-Schlüsselaustauschgruppen:

Post-Quantum-Zertifikatssignaturen

Der Scanner analysiert Zertifikatssignatur-OIDs auf PQC-Algorithmen: ML-DSA-44/65/87 (NIST FIPS 204), SLH-DSA (NIST FIPS 205), Falcon-512/1024.

PQC Readiness Score & Trend

Jedes Ziel erhält einen PQC-Readiness-Score (0–100). Der tägliche aggregierte Fleet-weite PQC-Score wird in der PQCTrend-Tabelle gespeichert und als Chart.js-Dual-Achsen-Trendchart auf der BOM / CBOM-Berichtsseite visualisiert.

CBOM-Erstellung

Unter Berichte → BOM / CBOM ein Kryptografisches Bill of Materials erstellen. Das CBOM listet alle kryptografischen Assets Ihres Mandanten: TLS-Cipher-Suites, Zertifikatssignatur-Algorithmen, KEX-Gruppen und PQC-Readiness-Status. Export als JSON (CycloneDX-kompatibel) oder PDF.


41. Angriffsflächen-Matrix

(Neu in v4.5.28)

Die Angriffsflächen-Matrix (Intelligence → Angriffsfläche) bietet eine Rasteransicht aller Ziele vs. alle Scanner-Module und zeigt auf einen Blick den aktuellen Schweregrad jeder Kombination.

Matrix lesen

Jede Zelle steht für ein Scanner-Modul auf einem Ziel. Farben: Rot = kritisch, Orange = hoch, Gelb = mittel, Blau = niedrig/info, Grau = kein Befund/nicht gescannt, ✕ = noch nie gescannt — klickbar für Einzel-Rescan.

Einzel-Modul-Rescan

Zellen mit Schweregrad = none (noch nie gescannt) zeigen einen klickbaren ✕-Button. Klick sendet eine POST /targets/{id}/rescan-module-Anfrage mit dem Modulnamen. Die Zelle zeigt sofort einen Spinner, dann ein Uhr-Icon (eingereiht), sobald der Task übermittelt wurde. Bei Fehler erscheint ein rotes ✕ mit Retry-Option.


42. Worker & Queue Zuverlässigkeit

(Verbessert in v4.5.28)

StuckTarget-Bereinigung

Ziele können in Status queued oder running hängen bleiben, wenn ein Worker abstürzt. YADS enthält einen automatischen Bereinigungsmechanismus:

Queue Hard Cap

Zum Schutz vor Broker-Flooding gilt ein Hard Cap von 50 gleichzeitig gequeueten Tasks pro Mandant. Bulk-Dispatch-Operationen (z. B. "Alle neu scannen") respektieren dieses Limit.

Worker Binary Detection

Beim Start schreibt der YADS-Worker die Verfügbarkeit von System-Binaries (nmap, nuclei) in die SystemConfig-Datenbanktabelle (z. B. WORKER_BINARY_NMAP=true). Die API liest diese Flags, um "Limited Mode"-Warnungen für Scanner-Module korrekt anzuzeigen.

Live-Scan-Output-Streaming

Die Workers-Seite (/workers) zeigt Echtzeit-Streaming-Ausgaben aktiver Scans via Server-Sent Events. Lange Tool-Ausgaben (nmap, nuclei) werden in Redis gepuffert und live an die UI übertragen.


Zuletzt verifiziert: YADS v4.5.28