Este documento define o baseline de segurança para desenvolvimento, revisão e operação do projeto.
- Código-fonte e histórico Git.
- Dependências e cadeia de build.
- Credenciais, tokens e segredos de integração.
- Processo de resposta a incidentes.
- Nunca versionar segredos em texto puro.
- Menor privilégio para tokens/chaves.
- Rotação periódica de credenciais.
- Revisão por PR para mudanças sensíveis.
- Proibido commitar:
- API keys reais
- tokens de acesso
- senhas
- private keys
- certificados com chave privada
- Usar variáveis de ambiente, secret store ou mecanismos seguros da plataforma.
- Em logs, mascarar valores sensíveis.
- Em testes, usar dados fictícios e claramente não produtivos.
As branches críticas (dev, beta, release, lts) devem manter:
- Merge somente por Pull Request.
- Aprovação obrigatória.
- Historico linear, sem merge commits.
- Pull Requests devem ser integrados por estrategia compativel com historico linear, preferencialmente
squash mergeourebase merge. - Bloqueio de force push.
- Bloqueio de deleção.
- Regras válidas também para administradores.
- Revisar dependências novas em PR.
- Preferir versões estáveis.
- Atualizar periodicamente dependências críticas.
- Investigar alertas de vulnerabilidade antes de release.
- Validar e sanitizar entradas externas.
- Definir timeouts em chamadas de rede.
- Não confiar em dados vindos do cliente.
- Evitar exposição desnecessária de detalhes internos em erros.
- Priorizar TLS para comunicação remota.
- Uso de HTTP puro somente em cenários locais e controlados.
- Tokens de autenticação devem ser de curta duração quando possível.
Se você identificar uma falha de segurança:
- Não abra issue pública com exploit detalhado.
- Reporte de forma privada pelo GitHub Security Advisories, usando a opcao
Report a vulnerabilitydeste repositorio. - Inclua:
- impacto
- escopo
- passo a passo de reproducao
- sugestao de mitigacao
- Aguarde orientação de divulgação responsável.
Em caso de vazamento suspeito:
- Revogar e rotacionar imediatamente chaves/tokens.
- Avaliar impacto e período de exposição.
- Corrigir causa raiz.
- Publicar patch e orientar atualização.
- Registrar pós-mortem com ações preventivas.
- Reescrever histórico não invalida credenciais já expostas.
- Sempre rotacionar segredos após qualquer suspeita de exposição.
- Evitar reutilização de tokens antigos.
- Há segredo hardcoded?
- Há endpoint sensível indevido?
- Há validação e timeout adequados?
- Há impacto em autenticação/autorização?
- Há plano de rollback?