██████╗███████╗██████╗ ██████╗ ███████╗██████╗ ██╗ ██╗███████╗
██╔════╝██╔════╝██╔══██╗██╔══██╗██╔════╝██╔══██╗██║ ██║██╔════╝
██║ █████╗ ██████╔╝██████╔╝█████╗ ██████╔╝██║ ██║███████╗
██║ ██╔══╝ ██╔══██╗██╔══██╗██╔══╝ ██╔══██╗██║ ██║╚════██║
╚██████╗███████╗██║ ██║██████╔╝███████╗██║ ██║╚██████╔╝███████║
╚═════╝╚══════╝╚═╝ ╚═╝╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝
Guardião de três cabeças que vigia sua aplicação por múltiplos ângulos.
Scanner de vulnerabilidades para aplicações web
Cerberus é uma API REST simples e modular construída com Node.js que automatiza a detecção de vulnerabilidades de segurança comuns em aplicações web. Inspirado no guardião de três cabeças do submundo, ele vigia sua aplicação por múltiplos ângulos — identificando ameaças antes que se tornem brechas.
⚠️ Aviso: Use o Cerberus apenas em aplicações que você possui ou tem permissão explícita para testar. Varreduras não autorizadas são ilegais.
| Recurso | Descrição |
|---|---|
| 🧩 Arquitetura Modular | Cada scanner roda como um módulo independente e plugável |
| 🌐 API REST | Interface HTTP limpa para disparar varreduras e obter resultados |
| 📊 Relatórios em JSON | Saída estruturada pronta para integração com outras ferramentas |
| 🔩 Fácil de Estender | Adicione novas verificações sem alterar o código existente |
| Vulnerabilidade | Descrição |
|---|---|
| 🔐 Autenticação Ausente | Detecta endpoints expostos sem proteção de autenticação adequada |
| 💉 SQL Injection | Identifica padrões suscetíveis a ataques de injeção SQL |
| 🪖 Headers de Segurança Ausentes | Verifica a ausência de headers como CSP, HSTS, X-Frame-Options, etc. |
Backend → Node.js + Express.js
HTTP → Axios
Linguagem → JavaScript
Versionamento → Git & GitHub
# Clonar o repositório
git clone https://github.com/seu-usuario/cerberus.git
# Entrar na pasta do projeto
cd cerberus
# Instalar dependências
npm install
# Iniciar o servidor
npm startA API sobe em http://localhost:3000.
POST /scan
Content-Type: application/json
{
"url": "https://aplicacao-alvo.com"
}{
"target": "https://aplicacao-alvo.com",
"scannedAt": "2026-03-17T12:00:00Z",
"vulnerabilities": [
{
"type": "Headers de Segurança Ausentes",
"severity": "medium",
"details": "Header X-Frame-Options não encontrado"
},
{
"type": "SQL Injection",
"severity": "high",
"details": "Possível vetor de injeção detectado em /login"
}
]
}O Cerberus foi desenvolvido para ser estendido. Para adicionar uma nova verificação de vulnerabilidade:
- Crie um novo arquivo dentro de
/scanners/ - Exporte uma função assíncrona que recebe a URL alvo e retorna os resultados
- Registre-a no pipeline principal de varredura
// scanners/openRedirect.js
module.exports = async function checkOpenRedirect(url) {
// sua lógica de detecção aqui
return { type: "Open Redirect", severity: "medium", details: "..." };
};cerberus/
└── scanners/ # Módulos de detecção independentes
│ ├── authCheck.js # Verificação de autenticação ausente
│ ├── sqlInjection.js # Detecção de SQL Injection
│ └── securityHeaders.js # Verificação de headers de segurança
├── server.js # Entry point da API
└── package.json
- Detecção de autenticação ausente
- Detecção de SQL Injection
- Verificação de headers de segurança
- Relatórios em JSON
- Arquitetura modular
- Open Redirect detection
- XSS scanning
- Integração com GitHub Actions
- Dashboard visual de relatórios
- Exportar relatório em PDF
Distribuído sob a licença MIT. Veja LICENSE para mais detalhes.
Feito com ☕ e olhos nas sombras — guard your gates. 🐺
