
Ferramenta abrangente de detecção de vulnerabilidades para instâncias de automação de fluxos de trabalho n8n. Detecta a vulnerabilidade crítica CVE-2026-21858 (CVSS 10.0) sem realizar qualquer exploração.
Scanner de Segurança Ética para CVE-2026-21858 (Vulnerabilidade Ni8mare)
"Conhecimento é poder, mas apenas se compartilhado com responsabilidade."
Ferramenta abrangente de detecção de vulnerabilidades para instâncias de automação de fluxos de trabalho n8n. Detecta a vulnerabilidade crítica CVE-2026-21858 (CVSS 10.0) sem realizar qualquer exploração.
# Navegue até o diretório de scripts
cd ni8mare-scanner/scripts
# Instale as dependências
pip install -r requirements.txt
# Verifique se uma versão é vulnerável
python n8n_scanner.py version-check 1.120.0
# Escaneie uma instância ativa
python n8n_scanner.py scan https://n8n.example.com:5678
# Obtenha informações sobre o CVE
python n8n_scanner.py info
Severidade: CVSS 10.0 (Crítica)
Corrigido Em: n8n v1.121.0
Descoberto Por: Dor Attias (Cyera Research Labs)
Ferramenta Mantida Por: CropNet no GitHub, pela equipe de pesquisa da organização Schema.cx
Vulnerabilidade crítica que permite que atacantes não autenticados leiam arquivos arbitrários por meio de confusão de Content-Type.
Este scanner realiza apenas detecção não invasiva - nunca explora a vulnerabilidade.
# Verificar versão vulnerável
python n8n_scanner.py version-check 1.120.0
# Saída: Status 🔴 VULNERÁVEL (código de saída 2)
# Verificar versão segura
python n8n_scanner.py version-check 1.121.0
# Saída: Status 🟢 Não Vulnerável (código de saída 0)
# Escaneamento básico
python n8n_scanner.py scan https://n8n.example.com:5678
# Escaneamento profundo com saída JSON
python n8n_scanner.py scan https://n8n.example.com:5678 \
--intensity deep \
--format json \
--output report.json
# Pular prompt de autorização (para escaneamentos pré-autorizados)
python n8n_scanner.py scan https://n8n.example.com:5678 --no-confirm
# Criar arquivo de alvos
cat > targets.txt << EOF
https://n8n1.example.com:5678
https://n8n2.example.com:5678
https://n8n3.example.com:5678
EOF
# Escanear todos os alvos
python n8n_scanner.py batch targets.txt --output results.csv --format csv
# Gerar configuração YAML para stdout
python n8n_scanner.py generate-config --format yaml
# Gerar configuração JSON para arquivo
python n8n_scanner.py generate-config --format json --output config.json
# Usar arquivo de configuração para escaneamento
python n8n_scanner.py scan https://n8n.example.com:5678 --config config.json
| Comando | Descrição | Exemplo |
|---|---|---|
scan | Escanear um único alvo | python n8n_scanner.py scan <target> |
batch | Escanear múltiplos alvos | python n8n_scanner.py batch targets.txt |
version-check | Verificar vulnerabilidade de versão | python n8n_scanner.py version-check 1.120.0 |
generate-config | Gerar modelo de configuração | python n8n_scanner.py generate-config --format yaml |
info | Exibir informações do CVE | python n8n_scanner.py info |
connectivity | Testar conectividade | python n8n_scanner.py connectivity <target> |
scanpython n8n_scanner.py scan <target> [OPTIONS]
Opções:
--intensity, -i - Intensidade do escaneamento: light, medium, deep (padrão: medium)--output, -o - Caminho do arquivo de saída--format, -f - Formato de saída: json, csv, html, text, markdown--timeout, -t - Tempo limite de requisição em segundos (padrão: 30)--delay, -d - Atraso entre requisições (padrão: 2.0)--no-confirm - Pular confirmação de autorização--config, -c - Caminho do arquivo de configuração--verbose, -V - Saída detalhada--json-logs - Formato de log JSON (para automação)version-checkpython n8n_scanner.py version-check <version_or_url>
Códigos de Saída:
0 - Versão é segura (corrigida)1 - Ocorreu um erro2 - Versão é vulnerávelExemplos:
# Verificar string de versão
python n8n_scanner.py version-check 1.120.0
# Verificar versão de instância ativa
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
Quatro perfis pré-configurados disponíveis:
Gere com: 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
Relatórios HTML profissionais com estilos e gráficos.
Saída legível codificada por cores com indicadores de severidade.
Formato amigável para documentação em wikis e relatórios.
# Construir com Docker Compose
docker-compose build
# Executar comandos
docker-compose run --rm scanner version-check 1.120.0
docker-compose run --rm scanner scan https://n8n.example.com:5678 --no-confirm
# Escaneamento em lote com arquivo montado
docker-compose run --rm \
-v $(pwd)/targets.txt:/app/targets.txt \
scanner batch /app/targets.txt
ni8mare-scanner/
├── scripts/
│ ├── n8n_scanner.py # CLI principal
│ ├── modules/ # Módulos principais
│ │ ├── scanner.py # Lógica de escaneamento
│ │ ├── detector.py # Detecção de vulnerabilidades
│ │ ├── reporter.py # Geração de relatórios
│ │ ├── config.py # Configuração
│ │ └── utils.py # Utilitários
│ ├── tests/ # Suíte de testes
│ └── build.py # Automação de build
├── docs/ # Documentação
└── docker/ # Configurações Docker
# Teste rápido de funcionalidade (recomendado)
cd scripts
python quick_test.py
# Suíte completa de testes
python build.py test
# Testar módulo específico
python -m pytest tests/test_config.py -v