
Strumento completo di rilevamento delle vulnerabilità per istanze di automazione dei workflow n8n. Rileva la vulnerabilità critica CVE-2026-21858 (CVSS 10.0) senza eseguire alcuna attività di sfruttamento.
Scanner di Sicurezza Etico per CVE-2026-21858 (Vulnerabilità Ni8mare)
"La conoscenza è potere, ma solo se condivisa in modo responsabile."
Strumento completo di rilevamento vulnerabilità per istanze di automazione dei flussi di lavoro n8n. Rileva la vulnerabilità critica CVE-2026-21858 (CVSS 10.0) senza eseguire alcuna operazione di sfruttamento.
# Naviga nella directory degli script
cd ni8mare-scanner/scripts
# Installa le dipendenze
pip install -r requirements.txt
# Verifica se una versione è vulnerabile
python n8n_scanner.py version-check 1.120.0
# Scansiona un'istanza attiva
python n8n_scanner.py scan https://n8n.example.com:5678
# Ottieni informazioni sulla CVE
python n8n_scanner.py info
Gravità: CVSS 10.0 (Critica)
Corretta In: n8n v1.121.0
Scoperta Da: Dor Attias (Cyera Research Labs)
Strumento Mantenuto Da: CropNet su GitHub, dal team di ricerca dell'organizzazione Schema.cx
Vulnerabilità critica che consente ad attaccanti non autenticati di leggere file arbitrari tramite confusione di Content-Type.
Questo scanner esegue solo rilevamento non invasivo - non sfrutta mai la vulnerabilità.
# Verifica versione vulnerabile
python n8n_scanner.py version-check 1.120.0
# Output: Stato 🔴 VULNERABILE (codice di uscita 2)
# Verifica versione sicura
python n8n_scanner.py version-check 1.121.0
# Output: Stato 🟢 Non Vulnerabile (codice di uscita 0)
# Scansione di base
python n8n_scanner.py scan https://n8n.example.com:5678
# Scansione profonda con output JSON
python n8n_scanner.py scan https://n8n.example.com:5678 \
--intensity deep \
--format json \
--output report.json
# Salta il prompt di autorizzazione (per scansioni pre-autorizzate)
python n8n_scanner.py scan https://n8n.example.com:5678 --no-confirm
# Crea file degli obiettivi
cat > targets.txt << EOF
https://n8n1.example.com:5678
https://n8n2.example.com:5678
https://n8n3.example.com:5678
EOF
# Scansiona tutti gli obiettivi
python n8n_scanner.py batch targets.txt --output results.csv --format csv
# Genera config YAML su stdout
python n8n_scanner.py generate-config --format yaml
# Genera config JSON su file
python n8n_scanner.py generate-config --format json --output config.json
# Usa file di config per la scansione
python n8n_scanner.py scan https://n8n.example.com:5678 --config config.json
| Comando | Descrizione | Esempio |
|---|---|---|
scan | Scansiona un singolo obiettivo | python n8n_scanner.py scan <target> |
batch | Scansiona più obiettivi | python n8n_scanner.py batch targets.txt |
version-check | Verifica vulnerabilità versione | python n8n_scanner.py version-check 1.120.0 |
generate-config | Genera template di configurazione | python n8n_scanner.py generate-config --format yaml |
info | Mostra informazioni sulla CVE | python n8n_scanner.py info |
connectivity | Testa la connettività | python n8n_scanner.py connectivity <target> |
scanpython n8n_scanner.py scan <target> [OPTIONS]
Opzioni:
--intensity, -i - Intensità di scansione: light, medium, deep (predefinita: medium)--output, -o - Percorso del file di output--format, -f - Formato di output: json, csv, html, text, markdown--timeout, -t - Timeout delle richieste in secondi (predefinito: 30)--delay, -d - Ritardo tra le richieste (predefinito: 2.0)--no-confirm - Salta la conferma di autorizzazione--config, -c - Percorso del file di configurazione--verbose, -V - Output dettagliato--json-logs - Formato log JSON (per automazione)version-checkpython n8n_scanner.py version-check <version_or_url>
Codici di Uscita:
0 - La versione è sicura (corretta)1 - Si è verificato un errore2 - La versione è vulnerabileEsempi:
# Verifica stringa di versione
python n8n_scanner.py version-check 1.120.0
# Verifica versione istanza attiva
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
Quattro profili preconfigurati disponibili:
Genera con: 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
Report HTML professionali con stili e grafici.
Output leggibile con codifica colore e indicatori di gravità.
Formato adatto alla documentazione per wiki e report.
# Build con Docker Compose
docker-compose build
# Esegui comandi
docker-compose run --rm scanner version-check 1.120.0
docker-compose run --rm scanner scan https://n8n.example.com:5678 --no-confirm
# Scansione batch con file montato
docker-compose run --rm \
-v $(pwd)/targets.txt:/app/targets.txt \
scanner batch /app/targets.txt
ni8mare-scanner/
├── scripts/
│ ├── n8n_scanner.py # CLI principale
│ ├── modules/ # Moduli core
│ │ ├── scanner.py # Logica di scansione
│ │ ├── detector.py # Rilevamento vulnerabilità
│ │ ├── reporter.py # Generazione report
│ │ ├── config.py # Configurazione
│ │ └── utils.py # Utility
│ ├── tests/ # Suite di test
│ └── build.py # Automazione build
├── docs/ # Documentazione
└── docker/ # Config Docker
# Test funzionalità rapido (consigliato)
cd scripts
python quick_test.py
# Suite di test completa
python build.py test
# Test modulo specifico
python -m pytest tests/test_config.py -v
Risultati Test Rapidi:
[Test] Rilevamento Vulnerabilità Versione [OK]
[Test] Caricamento Configurazione [OK]
[Test] Creazione Scanner [OK]
[Test] Creazione Detector [OK]
[Test] Creazione Reporter [OK]
[Test] Funzioni Utility [OK]
Risultati: 6 superati, 0 falliti
# Installa dipendenze
python build.py install
# Esegui tutti i test
python build.py test
# Esegui linter
python build.py lint
# Formatta codice
python build.py format
# Build distribuzione
python build.py build
# Pulisci artefatti
python build.py clean
# Pipeline build completa
python build.py all
Lo scanner richiede autorizzazione esplicita:
⚠️ AUTORIZZAZIONE RICHIESTA
Stai per scansionare: https://n8n.example.com:5678
Sei autorizzato a testare questo obiettivo? [y/N]:
Richiesto:
Vietato:
Se scopri istanze vulnerabili:
CVE-2026-21858 scoperta da:
Questo scanner è stato sviluppato come strumento di sicurezza etico per aiutare le organizzazioni a identificare e rimediare alla vulnerabilità Ni8mare. Esegue solo rilevamento e non sfrutta mai le vulnerabilità.
Licenza MIT - Vedi file LICENSE per i dettagli.
Componenti di Terze Parti:
enhancementD: Questo strumento sfrutterà la vulnerabilità?
R: No. Solo rilevamento, mai sfruttamento.
D: Posso scansionare senza autorizzazione?
R: No. Ottieni sempre prima l'autorizzazione scritta.
D: Quali versioni sono vulnerabili?
R: Tutte le versioni di n8n inferiori alla 1.121.0 sono vulnerabili.
D: Quanto è accurato il rilevamento?
R: Accuratezza molto elevata con bassi tassi di falsi positivi.
D: Posso usarlo nelle pipeline CI/CD?
R: Sì. Usa --no-confirm e --json-logs per l'automazione.
D: Funziona su Windows?
R: Sì. Tutti i problemi di compatibilità Unicode sono stati risolti.
cd ni8mare-scanner/scripts
pip install -r requirements.txt
# Verifica versione
python n8n_scanner.py version-check 1.120.0
# Scansione istanza
python n8n_scanner.py scan https://n8n.example.com:5678
# Scansione batch
python n8n_scanner.py batch targets.txt
# Genera config
python n8n_scanner.py generate-config --format yaml > config.yml
# Mostra aiuto
python n8n_scanner.py --help
python n8n_scanner.py scan --help
0 = Sicuro/Successo1 = Errore2 = VulnerabileFatto con ❤️ per la community della sicurezza
Questo strumento è fornito così com'è per test di sicurezza etici esclusivamente. Gli autori non sono responsabili per uso improprio o danni causati da questo strumento.