
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
Resultados do Teste Rápido:
[Test] Detecção de Vulnerabilidade de Versão [OK]
[Test] Carregamento de Configuração [OK]
[Test] Criação do Scanner [OK]
[Test] Criação do Detector [OK]
[Test] Criação do Reporter [OK]
[Test] Funções Utilitárias [OK]
Resultados: 6 aprovados, 0 reprovados
# Instalar dependências
python build.py install
# Executar todos os testes
python build.py test
# Executar linters
python build.py lint
# Formatar código
python build.py format
# Construir distribuição
python build.py build
# Limpar artefatos
python build.py clean
# Pipeline completo de build
python build.py all
O scanner exige autorização explícita:
⚠️ AUTORIZAÇÃO NECESSÁRIA
Você está prestes a escanear: https://n8n.example.com:5678
Você está autorizado a testar este alvo? [s/N]:
Obrigatório:
Proibido:
Se você descobrir instâncias vulneráveis:
CVE-2026-21858 descoberto por:
Este scanner foi desenvolvido como uma ferramenta de segurança ética para ajudar organizações a identificar e remediar a vulnerabilidade Ni8mare. Ele realiza apenas detecção e nunca explora vulnerabilidades.
Licença MIT - Consulte o arquivo LICENSE para detalhes.
Componentes de Terceiros:
enhancementP: Isso vai explorar a vulnerabilidade?
R: Não. Apenas detecção, nunca exploração.
P: Posso escanear sem autorização?
R: Não. Sempre obtenha autorização por escrito primeiro.
P: Quais versões são vulneráveis?
R: Todas as versões do n8n abaixo de 1.121.0 são vulneráveis.
P: Quão precisa é a detecção?
R: Precisão muito alta com baixas taxas de falsos positivos.
P: Posso usar isso em pipelines de CI/CD?
R: Sim. Use --no-confirm e --json-logs para automação.
P: Funciona no Windows?
R: Sim. Todos os problemas de compatibilidade Unicode foram resolvidos.
cd ni8mare-scanner/scripts
pip install -r requirements.txt
# Verificação de versão
python n8n_scanner.py version-check 1.120.0
# Escanear instância
python n8n_scanner.py scan https://n8n.example.com:5678
# Escaneamento em lote
python n8n_scanner.py batch targets.txt
# Gerar configuração
python n8n_scanner.py generate-config --format yaml > config.yml
# Mostrar ajuda
python n8n_scanner.py --help
python n8n_scanner.py scan --help
0 = Seguro/Sucesso1 = Erro2 = VulnerávelFeito com ❤️ para a comunidade de segurança
Esta ferramenta é fornecida como está para testes de segurança ética apenas. Os autores não são responsáveis por uso indevido ou danos causados por esta ferramenta.