| Version | Supported |
|---|---|
| 1.x | ✅ Active |
| < 1.0 | ❌ EOL |
Não reporte vulnerabilidades de segurança como issues públicas do GitHub.
- Email: envie um relatório detalhado para
ramosinfo@gmail.com - Assunto:
[SECURITY] <título curto descritivo> - Conteúdo esperado:
- Descrição da vulnerabilidade
- Passos reproduzíveis (PoC mínimo)
- Impacto estimado (confidencialidade, integridade, disponibilidade)
- Versão afetada
- Mitigação sugerida (opcional)
| Etapa | Prazo |
|---|---|
| Confirmação de recebimento | 48 horas |
| Avaliação inicial de severidade | 5 dias úteis |
| Patch para crítico/high | 14 dias |
| Patch para medium/low | 30 dias |
| Divulgação pública coordenada | Acordado com o reporter |
Reporters responsáveis serão creditados no CHANGELOG.md e nos release notes (com permissão).
- Autenticação e autorização (JWT, RBAC, sessions)
- Injeção de SQL, NoSQL ou comandos via inputs
- Bypasses de rate limiting ou lockout
- Exposição de PII em logs ou responses
- Vulnerabilidades de CSRF, XSS, SSRF
- Problemas no fluxo de refresh token (replay, race conditions)
- Isolamento multi-tenancy (RLS bypass)
- Ataques que requerem acesso físico ao servidor
- Ataques de força bruta sem bypass das proteções existentes
- Denial of Service volumétrico (infraestrutura, não aplicação)
- Bugs sem impacto de segurança
- Issues em dependências que já têm CVE público e fix disponível (use
npm audit fix)
Consulte a tabela completa em README.md e o detalhamento em docs/en/compliance.md.
| Controle | Implementação |
|---|---|
| Senhas | Argon2id (64 MiB / 3t / 4p) |
| Tokens | JWT RS256 assimétrico, JTI revocation via Redis |
| Sessões | Rotação atômica, reuse detection, max 10/usuário |
| RBAC | DB-driven a cada request (JWT roleId nunca confiado) |
| Multi-tenancy | PostgreSQL RLS + context isolation |
| Rate limiting | 5 req/min (login), 10 req/min (refresh), 120 req/min (global) |
| Headers | Helmet + HSTS (prod) + CSP + frame-ancestors none |
| Auditoria | Append-only, PII redacted, correlation IDs |
| Credential stuffing | Contador Redis por IP; 20 falhas/hora → bloqueio 15 min |
# Variáveis obrigatórias em produção
NODE_ENV=production
ALLOWED_ORIGINS=https://seu-dominio.com
PERMISSION_GUARD_STRICT=true # fail-closed para RBAC
# Rotação de chaves JWT
./scripts/rotate-jwt-keys.sh
# Aplicar RLS no banco
psql -f src/database/rls/0001_enable_rls.sqlNenhuma vulnerabilidade reportada ainda. Seja o primeiro!