
Umfassendes Schwachstellen-Erkennungstool für n8n-Workflow-Automatisierungsinstanzen. Erkennt die kritische Schwachstelle CVE-2026-21858 (CVSS 10.0), ohne eine Ausnutzung durchzuführen.
Ethischer Sicherheitsscanner für CVE-2026-21858 (Ni8mare-Schwachstelle)
„Wissen ist Macht, aber nur, wenn es verantwortungsvoll geteilt wird."
Umfassendes Schwachstellenerkennungstool für n8n-Workflow-Automatisierungsinstanzen. Erkennt die kritische Schwachstelle CVE-2026-21858 (CVSS 10.0), ohne eine Ausnutzung durchzuführen.
# Navigieren Sie zum Skriptverzeichnis
cd ni8mare-scanner/scripts
# Abhängigkeiten installieren
pip install -r requirements.txt
# Prüfen, ob eine Version verwundbar ist
python n8n_scanner.py version-check 1.120.0
# Eine Live-Instanz scannen
python n8n_scanner.py scan https://n8n.example.com:5678
# CVE-Informationen abrufen
python n8n_scanner.py info
Schweregrad: CVSS 10.0 (Kritisch)
Behoben in: n8n v1.121.0
Entdeckt von: Dor Attias (Cyera Research Labs)
Tool gepflegt von: CropNet auf GitHub, vom Forschungsteam der Organisation Schema.cx
Kritische Schwachstelle, die es nicht authentifizierten Angreifern ermöglicht, beliebige Dateien durch Content-Type-Verwechslung zu lesen.
Dieser Scanner führt durch – nutzt die Schwachstelle niemals aus.
# Verwundbare Version prüfen
python n8n_scanner.py version-check 1.120.0
# Ausgabe: Status 🔴 VERWUNDBAR (Exit-Code 2)
# Sichere Version prüfen
python n8n_scanner.py version-check 1.121.0
# Ausgabe: Status 🟢 Nicht verwundbar (Exit-Code 0)
# Basisscan
python n8n_scanner.py scan https://n8n.example.com:5678
# Tiefer Scan mit JSON-Ausgabe
python n8n_scanner.py scan https://n8n.example.com:5678 \
--intensity deep \
--format json \
--output report.json
# Autorisierungsabfrage überspringen (für vorab autorisierte Scans)
python n8n_scanner.py scan https://n8n.example.com:5678 --no-confirm
# Zieldatei erstellen
cat > targets.txt << EOF
https://n8n1.example.com:5678
https://n8n2.example.com:5678
https://n8n3.example.com:5678
EOF
# Alle Ziele scannen
python n8n_scanner.py batch targets.txt --output results.csv --format csv
# YAML-Konfiguration auf stdout generieren
python n8n_scanner.py generate-config --format yaml
# JSON-Konfiguration in Datei generieren
python n8n_scanner.py generate-config --format json --output config.json
# Konfigurationsdatei für den Scan verwenden
python n8n_scanner.py scan https://n8n.example.com:5678 --config config.json
| Befehl | Beschreibung | Beispiel |
|---|---|---|
scan | Ein einzelnes Ziel scannen | python n8n_scanner.py scan <target> |
batch | Mehrere Ziele scannen | python n8n_scanner.py batch targets.txt |
version-check | Versionsschwachstelle prüfen | python n8n_scanner.py version-check 1.120.0 |
generate-config | Konfigurationsvorlage generieren | python n8n_scanner.py generate-config --format yaml |
info | CVE-Informationen anzeigen | python n8n_scanner.py info |
connectivity | Konnektivität testen | python n8n_scanner.py connectivity <target> |
scan-Befehlpython n8n_scanner.py scan <target> [OPTIONS]
Optionen:
--intensity, -i – Scan-Intensität: light, medium, deep (Standard: medium)--output, -o – Pfad der Ausgabedatei--format, -f – Ausgabeformat: json, csv, html, text, markdown--timeout, -t – Anfragetimeout in Sekunden (Standard: 30)--delay, -d – Verzögerung zwischen Anfragen (Standard: 2.0)--no-confirm – Autorisierungsbestätigung überspringen--config, -c – Pfad der Konfigurationsdatei--verbose, -V – Ausführliche Ausgabe--json-logs – JSON-Logformat (für Automatisierung)version-check-Befehlpython n8n_scanner.py version-check <version_or_url>
Exit-Codes:
0 – Version ist sicher (gepatcht)1 – Fehler aufgetreten2 – Version ist verwundbarBeispiele:
# Versionszeichenfolge prüfen
python n8n_scanner.py version-check 1.120.0
# Live-Instanzversion prüfen
python n8n_scanner.py version-check https://n8n.example.com:5678
# config.yml
scan:
intensity: medium
timeout: 30
rate_limit:
delay: 2.0
max_requests: 100
targets:
- https://n8n.example.com:5678
require_confirmation: true
output:
format: json
directory: ./reports
Vier vorkonfigurierte Profile sind verfügbar:
Generieren mit: python n8n_scanner.py generate-config --profile thorough
{
"target": "https://n8n.example.com:5678",
"version": "1.120.0",
"vulnerable": true,
"cve": "CVE-2026-21858",
"severity": "CRITICAL"
}
Target,Version,Vulnerable,CVE,Severity
https://n8n.example.com:5678,1.120.0,true,CVE-2026-21858,CRITICAL
Professionelle HTML-Berichte mit Styling und Diagrammen.
Farbcodierte, menschenlesbare Ausgabe mit Schweregradindikatoren.
Dokumentationsfreundliches Format für Wikis und Berichte.
# Mit Docker Compose erstellen
docker-compose build
# Befehle ausführen
docker-compose run --rm scanner version-check 1.120.0
docker-compose run --rm scanner scan https://n8n.example.com:5678 --no-confirm
# Stapelscan mit eingehängter Datei
docker-compose run --rm \
-v $(pwd)/targets.txt:/app/targets.txt \
scanner batch /app/targets.txt
ni8mare-scanner/
├── scripts/
│ ├── n8n_scanner.py # Haupt-CLI
│ ├── modules/ # Kernmodule
│ │ ├── scanner.py # Scan-Logik
│ │ ├── detector.py # Schwachstellenerkennung
│ │ ├── reporter.py # Berichtserstellung
│ │ ├── config.py # Konfiguration
│ │ └── utils.py # Hilfsfunktionen
│ ├── tests/ # Testsuite
│ └── build.py # Build-Automatisierung
├── docs/ # Dokumentation
└── docker/ # Docker-Konfigurationen
# Schneller Funktionstest (empfohlen)
cd scripts
python quick_test.py
# Vollständige Testsuite
python build.py test
# Bestimmtes Modul testen
python -m pytest tests/test_config.py -v
Ergebnisse des Schnelltests:
[Test] Versions-Schwachstellenerkennung [OK]
[Test] Konfigurationsladung [OK]
[Test] Scanner-Erstellung [OK]
[Test] Detektor-Erstellung [OK]
[Test] Reporter-Erstellung [OK]
[Test] Hilfsfunktionen [OK]
Ergebnisse: 6 bestanden, 0 fehlgeschlagen
# Abhängigkeiten installieren
python build.py install
# Alle Tests ausführen
python build.py test
# Linter ausführen
python build.py lint
# Code formatieren
python build.py format
# Distribution erstellen
python build.py build
# Artefakte bereinigen
python build.py clean
# Vollständige Build-Pipeline
python build.py all
Der Scanner erfordert eine ausdrückliche Autorisierung:
⚠️ AUTORISIERUNG ERFORDERLICH
Sie sind dabei, Folgendes zu scannen: https://n8n.example.com:5678
Sind Sie autorisiert, dieses Ziel zu testen? [j/N]:
Erforderlich:
Verboten:
Wenn Sie verwundbare Instanzen entdecken:
CVE-2026-21858 entdeckt von:
Dieser Scanner wurde als ethisches Sicherheitstool entwickelt, um Organisationen dabei zu helfen, die Ni8mare-Schwachstelle zu identifizieren und zu beheben. Er führt nur Erkennung durch und nutzt Schwachstellen niemals aus.
MIT-Lizenz – Details finden Sie in der LICENSE-Datei.
Komponenten von Drittanbietern:
enhancement kennzeichnenF: Wird dies die Schwachstelle ausnutzen?
A: Nein. Nur Erkennung, niemals Ausnutzung.
F: Kann ich ohne Autorisierung scannen?
A: Nein. Holen Sie immer zuerst eine schriftliche Autorisierung ein.
F: Welche Versionen sind verwundbar?
A: Alle n8n-Versionen unter 1.121.0 sind verwundbar.
F: Wie genau ist die Erkennung?
A: Sehr hohe Genauigkeit mit niedrigen Fehlalarmraten.
F: Kann ich dies in CI/CD-Pipelines verwenden?
A: Ja. Verwenden Sie --no-confirm und --json-logs für die Automatisierung.
F: Funktioniert es unter Windows?
A: Ja. Alle Unicode-Kompatibilitätsprobleme wurden behoben.
cd ni8mare-scanner/scripts
pip install -r requirements.txt
# Versionsprüfung
python n8n_scanner.py version-check 1.120.0
# Instanz scannen
python n8n_scanner.py scan https://n8n.example.com:5678
# Stapelscan
python n8n_scanner.py batch targets.txt
# Konfiguration generieren
python n8n_scanner.py generate-config --format yaml > config.yml
# Hilfe anzeigen
python n8n_scanner.py --help
python n8n_scanner.py scan --help
0 = Sicher/Erfolg1 = Fehler2 = VerwundbarMit ❤️ für die Sicherheits-Community erstellt
Dieses Tool wird wie besehen nur für ethische Sicherheitstests bereitgestellt. Die Autoren sind nicht verantwortlich für Missbrauch oder Schäden, die durch dieses Tool verursacht werden.