Levamos a segurança do Code And Riddle Acronyms muito a sério. Este documento descreve nossas políticas de segurança e como reportar vulnerabilidades.
As seguintes versões do projeto estão atualmente recebendo atualizações de segurança:
| Versão | Suportada | Status | Data de Fim de Suporte |
|---|---|---|---|
| 2.0.x | ✅ | Ativa - Suporte completo | Indefinido |
| 1.0.x | Suporte limitado | 31/12/2025 | |
| < 1.0 | ❌ | Sem suporte | Descontinuado |
- Status: Totalmente suportada
- Atualizações: Segurança, bugs e features
- Frequência: Patches mensais ou conforme necessário
- Tecnologias: React 18+, Tailwind CSS 3.4+
- Recomendação: ✅ Use esta versão
- Status: Suporte limitado apenas para segurança crítica
- Atualizações: Apenas vulnerabilidades críticas
- Frequência: Conforme necessário
- Tecnologias: Vanilla JavaScript, CSS3
- Recomendação:
⚠️ Migre para 2.0.x
- Status: Descontinuadas
- Atualizações: Nenhuma
- Recomendação: ❌ Não use
Este projeto é um jogo educacional frontend que funciona inteiramente no navegador. Nossas considerações de segurança incluem:
✅ Coberto por esta política:
- Vulnerabilidades em dependências (React, Tailwind, Lucide)
- Problemas de XSS (Cross-Site Scripting)
- Injeção de código através de inputs
- Exposição de dados sensíveis no código
- Vulnerabilidades em bibliotecas de terceiros
- Problemas de autenticação (se implementados no futuro)
- CSRF (Cross-Site Request Forgery)
- Clickjacking
- Problemas de validação de entrada
❌ NÃO coberto (fora do escopo):
- Problemas relacionados ao GitHub Pages (infraestrutura)
- Bugs de gameplay que não envolvem segurança
- Problemas de performance ou UX
- Compatibilidade de navegadores (a menos que cause vulnerabilidade)
- Questões de acessibilidade (use Issues regulares)
Este jogo NÃO coleta, armazena ou transmite dados pessoais:
- ✅ Nenhum backend ou servidor
- ✅ Nenhum tracking ou analytics
- ✅ Nenhum cookie ou localStorage persistente
- ✅ Nenhuma autenticação ou dados de usuário
- ✅ Execução 100% local no navegador
Se você descobrir uma vulnerabilidade de segurança, por favor NÃO abra uma Issue pública. Siga os procedimentos abaixo:
Método Preferencial: GitHub Security Advisory (Privado)
- Acesse a aba Security do repositório
- Clique em "Report a vulnerability"
- Preencha o formulário com:
- Tipo de vulnerabilidade
- Versão afetada
- Descrição detalhada
- Passos para reproduzir
- Impacto potencial
- Possível correção (se souber)
OU
Email Privado: debbiematt@exemplo.com
Assunto: [SECURITY] Título da Vulnerabilidade
**Tipo**: [XSS / Injection / Dependency / Outro]
**Severidade**: [Crítica / Alta / Média / Baixa]
**Versão Afetada**: 2.0.x
**Ambiente**: [Navegador, OS, etc]
**Descrição**:
[Descrição clara da vulnerabilidade]
**Passos para Reproduzir**:
1. [Passo 1]
2. [Passo 2]
3. [...]
**Impacto**:
[Qual o potencial impacto desta vulnerabilidade?]
**Prova de Conceito** (opcional):
[Código ou screenshots demonstrando o problema]
**Correção Sugerida** (opcional):
[Se você souber como corrigir, descreva aqui]
**Contato**:
[Seu email ou método de contato preferido]Para problemas menores que não representam risco imediato:
- Abra uma Issue privada usando o template de segurança
- Ou envie por email se preferir
Comprometemo-nos com os seguintes tempos de resposta:
| Severidade | Primeira Resposta | Resolução Estimada | Divulgação Pública |
|---|---|---|---|
| 🔴 Crítica | 24 horas | 7 dias | Após correção + 7 dias |
| 🟠 Alta | 48 horas | 14 dias | Após correção + 14 dias |
| 🟡 Média | 5 dias | 30 dias | Após correção + 30 dias |
| 🟢 Baixa | 7 dias | 60 dias | Após correção |
- ✅ Confirmação do recebimento
- ✅ Avaliação inicial da severidade
- ✅ Reprodução do problema
- ✅ Validação do escopo
- ✅ Investigação profunda
- ✅ Identificação de causa raiz
- ✅ Avaliação de impacto
- ✅ Planejamento da correção
- ✅ Desenvolvimento do fix
- ✅ Testes de segurança
- ✅ Code review
- ✅ Preparação do patch
- ✅ Deploy da correção
- ✅ Atualização de versão
- ✅ Notificação de usuários
- ✅ Publicação de advisory
Durante o processo, você pode esperar:
✅ Confirmação inicial dentro do prazo de primeira resposta ✅ Atualizações regulares sobre o progresso (semanal para críticas, quinzenal para outras) ✅ Transparência sobre aceitação ou rejeição da vulnerabilidade ✅ Reconhecimento público (se desejar) quando a correção for lançada ✅ Detalhes do fix após a divulgação responsável
- Confirmação: Reconhecemos o problema e validamos sua severidade
- Timeline: Fornecemos um prazo estimado para correção
- Colaboração: Podemos solicitar mais informações ou testes
- Crédito: Você será creditado no CHANGELOG e Security Advisory (se desejar)
- Patch: Lançaremos uma versão corrigida
- Divulgação: Publicaremos o advisory após período de divulgação responsável
- Explicação: Forneceremos motivos detalhados da rejeição
- Orientação: Se for um bug regular, direcionaremos para Issues
- Feedback: Você pode contestar a decisão com informações adicionais
- Transparência: Manteremos a comunicação aberta
Agradecemos aos seguintes pesquisadores de segurança que reportaram vulnerabilidades responsavelmente:
Nenhuma vulnerabilidade reportada até o momento.
| Pesquisador | Vulnerabilidade | Severidade | Data | Versão Corrigida |
|---|---|---|---|---|
| - | - | - | - | - |
Quer aparecer aqui? Reporte vulnerabilidades responsavelmente!
Se você está contribuindo com o projeto, siga estas práticas:
// ❌ NÃO FAÇA: Inserir HTML diretamente
element.innerHTML = userInput;
// ✅ FAÇA: Usar text content ou sanitizar
element.textContent = userInput;
// OU
element.innerHTML = DOMPurify.sanitize(userInput);// ✅ Sempre normalize e valide inputs do usuário
const normalizeAnswer = (text) => {
return text
.toLowerCase()
.trim()
.replace(/[<>]/g, '') // Remove caracteres HTML
.slice(0, 100); // Limite de tamanho
};# ✅ Sempre audite dependências
npm audit
# ✅ Corrija vulnerabilidades automaticamente
npm audit fix
# ✅ Use versões exatas em produção
npm ciAntes de abrir um Pull Request, verifique:
- Nenhum dado sensível (API keys, senhas) no código
- Inputs do usuário são validados e sanitizados
- Dependências estão atualizadas e sem vulnerabilidades
- Nenhum
eval()ouFunction()com input do usuário - CORS configurado corretamente (se aplicável)
- Nenhum console.log com dados sensíveis
- Error messages não expõem detalhes internos
- npm audit: Auditoria de dependências
- Snyk: Monitoramento contínuo de vulnerabilidades
- OWASP ZAP: Teste de segurança de aplicações web
- ESLint Security Plugin: Análise estática de código
- OWASP Top 10
- GitHub Security Best Practices
- React Security Best Practices
- NPM Security Best Practices
Seguimos os princípios de divulgação responsável:
✅ Não processaremos pesquisadores que reportem vulnerabilidades de boa fé ✅ Responderemos rapidamente a todos os reports de segurança ✅ Manteremos confidencialidade até a correção e período de divulgação ✅ Creditaremos publicamente (se desejado) os pesquisadores ✅ Publicaremos advisories detalhados após a correção
Ao reportar uma vulnerabilidade, pedimos que você:
✅ Mantenha confidencialidade até a divulgação pública ✅ Não explore a vulnerabilidade além do necessário para demonstrá-la ✅ Não acesse, modifique ou delete dados de outros usuários ✅ Não execute DoS ou testes destrutivos ✅ Nos dê tempo razoável para corrigir o problema antes da divulgação pública
As seguintes atividades são estritamente proibidas:
❌ Denial of Service (DoS/DDoS) ❌ Spam ou phishing ❌ Acesso não autorizado a sistemas ❌ Destruição ou corrupção de dados ❌ Social engineering de usuários ou mantenedores ❌ Divulgação pública de vulnerabilidades antes da correção ❌ Extorsão ou chantagem
- GitHub Security Advisory: Report a vulnerability
- Email: debbiematt@exemplo.com (PGP key disponível sob solicitação)
- Assunto:
[SECURITY] Título
- Crítica: 24 horas
- Alta: 48 horas
- Média/Baixa: 5-7 dias
Todas as atualizações de segurança são documentadas no CHANGELOG.md com a tag [SECURITY].
v2.0.0 (2025-11-11)
- Implementação inicial da política de segurança
- Migração para React com validação aprimorada de inputs
- Auditoria completa de dependências
Esta política de segurança está sob a licença CC BY-SA 4.0.
Última Atualização: Novembro 11, 2025
Versão da Política: 1.0
Mantenedor de Segurança: @DebbieMatt
Obrigado por ajudar a manter o Code And Riddle Acronyms seguro! 🔒
Segurança é responsabilidade de todos nós.