Revisão de Segurança Ultra Termonuclear VibeCoding — Habilidade do Agente
Princípio Central
Nunca confie no cliente. Cada preço, ID de usuário, função, status de assinatura, flag de recurso e contador de limite de taxa deve ser validado ou aplicado no lado do servidor. Se existir apenas no navegador, pacote móvel ou corpo da requisição, um invasor o controla.
Princípios adicionais — consulte core/principles.md:
- Defesa em profundidade: nunca confie em um único controle de segurança
- Falhe com segurança: quando algo quebrar, negue acesso (falhe fechado)
- Menor privilégio: conceda as permissões mínimas necessárias
- Validação de entrada: nunca confie na entrada do usuário — valide tudo no lado do servidor
- Codificação de saída: codifique os dados para o contexto em que são renderizados
Modos de Operação
Modo 1: AUDITORIA (análise post-hoc)
Acionado por: "execute uma auditoria de segurança", "verifique vulnerabilidades", "auditoria de segurança vibe", "isso é seguro?", ou qualquer solicitação explícita para revisar código existente.
Processo:
- Detecte a pilha de tecnologia (consulte a Etapa 1 abaixo)
- Execute a lista de verificação de 50 pontos — consulte
core/audit-process.md - Calcule a pontuação e compile o relatório — consulte
core/output-format.md - Carregue referências de vulnerabilidades e módulos de pilha relevantes conforme necessário
Modo 2: PREVENTIVO (durante a geração de código)
Acionado por: escrever ou revisar código que toca em autenticação, pagamentos, acesso a banco de dados, chaves de API, segredos, dados do usuário ou uploads de arquivos — mesmo que o usuário não mencione segurança.
Processo:
- Identifique qual domínio de segurança se aplica ao código sendo escrito
- Consulte o(s) arquivo(s) de referência relevante(s) ANTES de gerar código
- Aplique padrões seguros desde o início
- Adicione comentários inline explicando decisões de segurança quando não óbvias
- Sinalize quaisquer trade-offs de segurança ao usuário
Etapa 1: Detecte a Pilha de Tecnologia
Identifique as tecnologias do projeto examinando estes arquivos:
| Detecte | Procure por |
|---|---|
| Framework | next.config.*, nuxt.config.*, astro.config.*, vite.config.*, angular.json, svelte.config.* |
| Gerenciador de pacotes | package.json, requirements.txt, go.mod, Gemfile, Cargo.toml, pubspec.yaml |
| Banco de dados | prisma/, drizzle.config.*, supabase/, firebase.json, convex/ |
| Autenticação | Importações: @clerk, next-auth, @supabase/auth, @auth0, lucia, passport, firebase/auth |
| Armazenamento | Importações: @aws-sdk/client-s3, @supabase/storage, @google-cloud/storage |
| APIs de IA | Importações: openai, @anthropic-ai/sdk, @google/generative-ai, langchain, @ai-sdk |
| Pagamento | Importações: stripe, @paddle/paddle-node, @lemonsqueezy |
Importações: resend, @sendgrid/mail, nodemailer | |
| GraphQL | schema.graphql, importações: @apollo/server, graphql-yoga, type-graphql |
| Móvel | app.json (Expo), react-native.config.js, capacitor.config.* |
| Implantação | vercel.json, netlify.toml, fly.toml, Dockerfile, docker-compose.*, .github/workflows/ |
| Runtime de Borda | wrangler.toml, diretivas de runtime de borda no código fonte |
Pule verificações que não se aplicam à pilha detectada.
Etapa 2: Execute a Auditoria
Carregue os arquivos de lista de verificação relevantes e execute:
Progresso da Auditoria:
- [ ] Etapa 1: Detectar pilha de tecnologia
- [ ] Etapa 2a: Executar verificações críticas (1-15) — consulte checklists/critical-15.md
- [ ] Etapa 2b: Executar verificações padrão (16-40) — consulte checklists/standard-25.md
- [ ] Etapa 2c: Executar verificações de produção (41-50) — consulte checklists/production-10.md
- [ ] Etapa 3: Calcular pontuação e compilar relatório — consulte core/output-format.md
Execute as verificações críticas primeiro — leia checklists/critical-15.md e execute todas as verificações antes de prosseguir.
Para cada verificação, consulte os arquivos de referência relevantes:
- Detalhes da vulnerabilidade →
vulnerabilities/*.md - Padrões específicos de pilha →
stack/*.md - Prontidão de produção →
production/*.md
Escala de Gravidade
| Pontuação | Nível | Ação Necessária |
|---|---|---|
| 10/10 | Crítico | Corrigir antes de implantar |
| 8-9/10 | Alto | Corrigir em até 24 horas |
| 6-7/10 | Médio | Corrigir em até 1 semana |
| 4-5/10 | Baixo | Corrigir quando conveniente |
| 1-3/10 | Informacional | Considere abordar |
Pontuação do projeto = 100 menos a soma das pontuações de gravidade de todos os problemas encontrados (mínimo 0).
| Pontuação | Classificação |
|---|---|
| 90-100 | ✅ Excelente |
| 70-89 | ⚠️ Bom — problemas menores |
| 50-69 | 🟡 Razoável — precisa de atenção |
| 30-49 | 🟠 Ruim — risco significativo |
| 0-29 | 🔴 Crítico — não implante |
Etapa 3: Relatório de Saída
Use o formato definido em core/output-format.md. Requisitos principais:
- Referencie arquivos e números de linha exatos
- Mostre qual padrão foi correspondido para cada descoberta
- Forneça diffs de código antes/depois para cada problema
- Inclua uma seção de Soluções Rápidas (corrigível em < 10 minutos)
- Termine com um resumo priorizado
Índice de Referência
Núcleo
core/principles.md— Princípios de segurança e estratégias de defesa em profundidadecore/audit-process.md— Roteamento e ordem de execução da lista de verificação de 50 pontoscore/output-format.md— Modelo de relatório com pontuação
Base de Conhecimento de Vulnerabilidades
vulnerabilities/injection.md— Injeção SQL, XSS, injeção de comando, injeção LDAPvulnerabilities/access-control.md— IDOR, escalonamento de privilégio, atribuição em massavulnerabilities/authentication.md— JWT, OAuth 2.0, PKCE, gerenciamento de sessão, segurança de senhavulnerabilities/csrf-ssrf.md— CSRF, SSRF, redirecionamento aberto (com tabelas de técnicas de bypass)vulnerabilities/file-upload.md— Bytes mágicos, arquivos poliglotas, ZIP slip, SVG XSSvulnerabilities/cryptography.md— Criptografia, hashing, gerenciamento de chaves, reutilização de noncevulnerabilities/race-conditions.md— TOCTOU, gasto duplo, padrões de mutex
Módulos Específicos de Pilha
stack/supabase.md— Políticas RLS, autenticação, armazenamento, funções de bordastack/firebase.md— Regras de segurança, Firestore, autenticaçãostack/nextjs.md— Server Actions, Middleware, Route Handlers, App Routerstack/stripe-payments.md— Webhooks, validação de preço, fluxos de assinaturastack/react-native.md— Armazenamento seguro, proxy de API, links profundosstack/ai-llm.md— Proteção de chave de API, injeção de prompt, limites de uso, sanitização de saídastack/graphql.md— Introspecção, limitação de profundidade, batching, consultas persistidasstack/docker-cicd.md— Segurança de contêiner, fortalecimento de pipeline
Prontidão de Produção
production/security-headers.md— CSP, HSTS, X-Frame-Options, Permissions-Policyproduction/deployment.md— Source maps, separação de ambiente, endpoints de depuraçãoproduction/compliance.md— GDPR, CCPA, exclusão de conta, retenção de dadosproduction/observability.md— Segurança de registro, sanitização de PII, monitoramentoproduction/dependency-audit.md— Pacotes fantasmas, typosquatting, ataques à cadeia de suprimentos
Listas de Verificação Executáveis
checklists/critical-15.md— 15 verificações críticas (corrigir antes de implantar)checklists/standard-25.md— 25 verificações padrão (corrigir em até 1 semana)checklists/production-10.md— 10 verificações de prontidão de produção (antes do lançamento)
Ao Gerar Código
Estas regras se aplicam proativamente. Antes de escrever código que toque em autenticação, pagamentos, acesso a banco de dados, chaves de API ou dados do usuário, consulte o arquivo de referência relevante para evitar introduzir vulnerabilidades em primeiro lugar. Prevenção é sempre melhor que detecção.
Quando estiver em dúvida, escolha a opção mais restritiva/segura e documente a consideração de segurança em comentários.