| Versão | Suportada | Status |
|---|---|---|
| 1.x | ✅ Sim | Versão estável atual |
| < 1.0 | ❌ Não | Legado, sem suporte |
Levamos vulnerabilidades de segurança a sério. Se você descobrir um problema de segurança, siga os passos abaixo:
Não divulgue vulnerabilidades de segurança através de issues, discussões ou pull requests públicos no GitHub.
- E-mail: contato@fercarvalho.com
- Assunto:
[SECURITY] Breve descrição do problema - Inclua:
- Descrição detalhada da vulnerabilidade
- Passos para reproduzir
- Avaliação do impacto potencial
- Versões afetadas
- Sugestão de correção (se disponível)
- Resposta inicial: Em até 48 horas (dias úteis)
- Crítico: Correção em 24–72 horas
- Alto: Correção em 7 dias
- Médio: Correção em 14 dias
- Baixo: Correção em 30 dias
- ✅ JWT access tokens — expiração em 15 minutos
- ✅ Refresh tokens — expiração em 7 dias com rotação automática
- ✅ Detecção de roubo de token — revoga toda a família de tokens em caso de reuso
- ✅ Sessões ativas por dispositivo com geolocalização (geoip-lite)
- ✅ Limite de sessões por usuário configurável (padrão: 5)
- ✅ Hash de senhas com bcrypt (custo 10)
- ✅ Redefinição segura de senha via tokens com prazo (SendGrid)
- ✅ Quatro roles:
guest,user,admin,superadmin - ✅ Módulos protegidos (admin, sessions, anomalies, security_alerts) não podem ser desativados
- ✅ Impersonation de usuários pelo superadmin com trilha de auditoria e banner visual
- ✅ express-validator em todas as rotas críticas
- ✅ express-mongo-sanitize (prevenção de injeção NoSQL)
- ✅ xss-clean middleware
- ✅ hpp (proteção contra HTTP Parameter Pollution)
- ✅ 100% prepared statements (prevenção de SQL Injection)
- ✅ Content Security Policy (CSP)
- ✅ Strict-Transport-Security (HSTS — 1 ano)
- ✅ X-Frame-Options: DENY (proteção contra clickjacking)
- ✅ X-Content-Type-Options: nosniff
- ✅ Referrer-Policy: strict-origin-when-cross-origin
- ✅ X-Powered-By removido
- ✅ Geral: 1000 req/15min
- ✅ Login: 10 tentativas/15min (proteção contra brute force)
- ✅ Criação de recursos: 100/hora
- ✅ Upload de arquivos: 20/hora
- ✅ Detecção comportamental de anomalias baseada em ML (Z-score + baseline)
- ✅ Monitora: novo país, horários incomuns, múltiplos IPs, volume anormal
- ✅ Alertas automáticos por e-mail via SendGrid (brute force, roubo de token, novo país, etc.)
- ✅ Job de monitoramento executa a cada 15 minutos
- ✅ Todas as operações críticas registradas no PostgreSQL (tabela
audit_logs) - ✅ Dados sensíveis mascarados nos logs (senhas, tokens, CPF)
- ✅ IP, User-Agent, timestamp, operação e status registrados
- ✅ Criptografia de campos sensíveis em repouso (AES-256-GCM)
- ✅ HTTPS obrigatório em produção (redirecionamento automático)
- ✅ Whitelist de CORS (configurada via variável de ambiente)
- ✅
.envexcluído do controle de versão
Score: 9,8/10 Conformidade OWASP Top 10: 95%+
Implementado neste ciclo de auditoria:
- ✅ Refresh tokens com rotação
- ✅ Gerenciamento de sessões ativas
- ✅ Detecção de anomalias (ML)
- ✅ Alertas de segurança (e-mail)
- ✅ Sistema de impersonation
- ✅ Role superadmin
- ✅ Criptografia em repouso (AES-256-GCM)
- ✅ Middlewares mongoSanitize, xss-clean, hpp
Pendências: Veja TECH-DEBT.md
Severidade: ALTA Status: Documentado como dívida técnica Mitigações ativas:
- Limite de tamanho de arquivo: 5MB
- Rate limiting nos endpoints de upload (20/hora)
- Sanitização de nomes de arquivo
- Uploads isolados do código da aplicação
Correção planejada: Migração para exceljs (veja TECH-DEBT.md)
No Escopo:
- Aplicação web (frontend + API backend)
- Autenticação e autorização
- Gerenciamento de sessões
- Endpoints da API
- Funcionalidade de upload de arquivos
- Interações com banco de dados
- Dependências de terceiros
Fora do Escopo:
- Infraestrutura (hospedagem, rede, firewall)
- Segurança física
- DDoS (tratado na camada de infraestrutura)
Antes de submeter alterações, verifique:
- Sem segredos ou chaves de API hardcoded
- Todas as entradas de usuário validadas e sanitizadas
- Queries SQL usam prepared statements (
$1,$2) - Dados sensíveis não registrados em texto simples
- Novos endpoints possuem middleware
authenticateToken - Rotas de admin/superadmin possuem middleware de role adequado
- Operações críticas registradas em
audit_logs - Mensagens de erro não expõem detalhes internos
Veja também: docs/07 - BOAS-PRATICAS-DE-SEGURANCA.md
- Auditorias de dependências:
npm auditantes de cada deploy - Revisão manual de segurança: Mensal
- Rotação de credenciais: A cada 6 meses
- Próxima auditoria completa: 2026-06-22
- E-mail: contato@fercarvalho.com
- Tempo de resposta: Em até 48 horas (dias úteis)
Última atualização: 2026-03-22 Próxima revisão: 2026-06-22