Skip to content

Latest commit

 

History

History
247 lines (185 loc) · 5.84 KB

File metadata and controls

247 lines (185 loc) · 5.84 KB

🔒 Security Checklist - VibeCode

✅ Pre-Commit Security Verification

Este checklist garante que o repositório está seguro antes de cada commit público.


🔐 1. API Keys & Secrets

✅ Verificado

  • Nenhuma API key real no código
  • .vibecoderc.json está no .gitignore
  • .env está no .gitignore
  • Apenas exemplos de documentação (sk-ant-..., sk-...)
  • Validação de keys implementada em validators.ts
  • Sanitização de keys em logs (config.ts)

🔍 Como verificar:

# Buscar por API keys reais
git grep -i "sk-ant-api" || echo "✓ Nenhuma key Anthropic encontrada"
git grep -i "sk-proj-" || echo "✓ Nenhuma key OpenAI encontrada"

# Verificar arquivos commitados
git ls-files | grep -E "\.env|vibecoderc\.json" || echo "✓ Nenhum arquivo sensível commitado"

📁 2. Arquivos Sensíveis

✅ Verificado

  • .gitignore configurado corretamente
  • .env.example criado (sem valores reais)
  • .vibecoderc.example.json criado (sem valores reais)
  • Nenhum arquivo de configuração pessoal commitado

📋 Arquivos protegidos no .gitignore:

.env
.env.local
.vibecoderc.json
*.key
.vscode/
.idea/

🔒 3. Dados Pessoais (PII)

✅ Verificado

  • Nenhum nome de usuário real no código
  • Nenhum email pessoal exposto
  • Nenhum caminho de diretório pessoal
  • Exemplos usam placeholders genéricos

🔍 Como verificar:

# Buscar por caminhos pessoais
git grep -i "C:\\\\Users\\\\arthur" || echo "✓ Nenhum caminho pessoal"
git grep -i "@gmail.com\|@hotmail.com" || echo "✓ Nenhum email pessoal"

🛡️ 4. Segurança do Código

✅ Implementado

  • Sanitização de API keys em todos os logs
  • Validação de entrada em comandos críticos
  • Confirmação do usuário antes de executar código
  • Tratamento de erros sem expor informações sensíveis
  • Máscaras de dados (****xxxx para keys)

📝 Funções de segurança:

// config.ts
sanitizeApiKey(key: string): string
sanitizeForLog(config: VibeCodeConfig): Partial<VibeCodeConfig>

// validators.ts
validateApiKey(key: string, provider: string): ValidationResult

// ultra-agent.ts
executeActions() // Pede confirmação antes de modificar arquivos

🔍 5. Dependências

✅ Verificado

  • Todas as dependências são de fontes confiáveis
  • Versões específicas (não * ou latest)
  • Nenhuma dependência com vulnerabilidades conhecidas

📦 Dependências principais:

{
  "@anthropic-ai/sdk": "^0.17.0",
  "openai": "^4.28.0",
  "chalk": "^4.1.2",
  "commander": "^12.0.0"
}

🔍 Como verificar:

npm audit
npm outdated

📚 6. Documentação

✅ Verificado

  • README.md não contém informações sensíveis
  • SECURITY.md criado com política de segurança
  • CONTRIBUTING.md com guidelines de segurança
  • Exemplos usam dados fictícios

🚀 7. Build & Deploy

✅ Verificado

  • Build compila sem erros
  • Nenhum arquivo sensível em dist/
  • package.json configurado corretamente
  • Apenas arquivos necessários em files array

📋 Arquivos incluídos no package:

"files": [
  "dist/**/*",
  "README.md",
  "LICENSE",
  "package.json"
]

🧪 8. Testes de Segurança

✅ Executar antes de commit:

# 1. Build sem erros
npm run build

# 2. Verificar API keys
git grep -i "sk-ant-api\|sk-proj-" && echo "❌ API key encontrada!" || echo "✓ Seguro"

# 3. Verificar arquivos sensíveis
git status --porcelain | grep -E "\.env|vibecoderc\.json" && echo "❌ Arquivo sensível!" || echo "✓ Seguro"

# 4. Verificar dados pessoais
git grep -i "arthur.schuster\|192.168" && echo "⚠️ Dados pessoais encontrados" || echo "✓ Seguro"

# 5. Audit de dependências
npm audit --audit-level=moderate

📊 9. Checklist Final

Antes de fazer push para GitHub:

  • ✅ Build compila sem erros (npm run build)
  • ✅ Nenhuma API key real no código
  • ✅ Nenhum arquivo sensível commitado
  • ✅ Nenhum dado pessoal exposto
  • .gitignore atualizado
  • ✅ Documentação revisada
  • ✅ Testes de segurança passaram
  • npm audit sem vulnerabilidades críticas

🚨 10. Resposta a Incidentes

Se uma API key for exposta:

  1. Revogar imediatamente a key no dashboard do provider
  2. Gerar nova key
  3. Remover do histórico do Git:
    git filter-branch --force --index-filter \
      "git rm --cached --ignore-unmatch .vibecoderc.json" \
      --prune-empty --tag-name-filter cat -- --all
  4. Force push (cuidado!):
    git push origin --force --all
  5. Notificar usuários via GitHub Issues

📞 Contato de Segurança

Se você encontrar uma vulnerabilidade de segurança:

  1. NÃO abra uma issue pública
  2. Envie email para: [security@vibecode.dev] (ou crie issue privada)
  3. Inclua:
    • Descrição da vulnerabilidade
    • Passos para reproduzir
    • Impacto potencial
    • Sugestão de correção (se possível)

✅ Status Atual

Última verificação: 2026-02-05 Status: 🟢 SEGURO Verificado por: Sistema automatizado + Revisão manual

Resumo:

  • ✅ Nenhuma API key exposta
  • ✅ Nenhum arquivo sensível commitado
  • ✅ Sanitização implementada
  • ✅ Validação de entrada implementada
  • ✅ Documentação de segurança completa
  • ✅ Build funcional
  • ✅ Pronto para 170+ clones

🎯 Próximas Melhorias de Segurança

  • Adicionar rate limiting para API calls
  • Implementar criptografia local de configs
  • Adicionar 2FA para operações críticas
  • Criar sistema de audit logs
  • Implementar sandboxing para execução de código

VibeCode — AI Development Terminal Seguro, confiável, e pronto para produção