FixVibe

// docs / security guides / claude code checklist

Checklist de segurança Claude Code: 26 itens

Claude Code (agente CLI da Anthropic) gera bases de código inteiras por meio de comandos de barra, gerencia a refatoração de vários arquivos e lê/writes arquivos por meio do bash. Esta lista de verificação visa os riscos específicos de Claude Code: nenhuma política de segurança padrão, limitação de taxa raramente adicionada, <code>.claude/CLAUDE.md</code> como seu arquivo de proteção de segurança e o risco de comprometer <code>.env</code> ou tokens em cache. 26 itens entre segredos, banco de dados, autenticação, cabeçalhos, implantação e pegadinhas específicas de Claude Code.

PRE = pré-implantar (audite sua fonte). DEPLOY = no momento da implantação. POST = verificação pós-implantação. Referência de itens FixVibe verifique IDs no formulário category.check-id quando relevante.

Segredos e chaves API (5 itens)

Claude Code lê árvores de origem inteiras e gera arquivos inteiros. Os segredos no seu contexto tornam-se segredos na saída.

  1. PRE — Create .claude/CLAUDE.md with security policies. Adicione: "Security Rules: Nunca insira chaves service_role em pacotes de clientes. Sempre roteie operações confidenciais por meio de endpoints somente de servidor. Verifique se NEXT_PUBLIC_* env vars contém apenas valores seguros (sem chaves, sem tokens)." Claude Code lê .claude/CLAUDE.md para orientação do projeto.
  2. PRE — Ensure .env.local is in .gitignore. Claude Code pode cometer acidentalmente .env.local durante uma refatoração. Execute git ls-files .env* para verificar o que foi rastreado. Se .env.local estiver presente, está exposto.
  3. PRE — Audit generated API routes for env-var verification. Claude Code às vezes se esquece de verificar se process.env.SECRET existe no lado do servidor antes de usá-lo. As rotas devem falhar rapidamente se uma variável de ambiente estiver faltando, e não cair no padrão.
  4. PRE — Check the .claude cache directory. Claude Code armazena em cache o contexto da conversa em .claude/cache ou .claude/history. Esses arquivos não devem ser confirmados. Adicione .claude/ a .gitignore.
  5. POST — Run secrets.browser-storage on the deployed app. Se Claude Code incorporou uma chave, a varredura passiva a encontrará no pacote renderizado.

Controle de acesso ao banco de dados (4 itens)

Claude Code é excelente para gerar esquemas, mas as políticas RLS precisam de instruções explícitas.

  1. PRE — Instruct Claude Code on RLS in .claude/CLAUDE.md. Adicionar: "Toda migração deve incluir ALTER TABLE ... ENABLE ROW LEVEL SECURITY e FORCE ROW LEVEL SECURITY. Cada política deve validar o auth.uid() do usuário."
  2. PRE — Review generated migrations for FORCE ROW LEVEL SECURITY. Claude Code pode gerar ENABLE mas esqueça FORCE. Sem FORCE, os proprietários da tabela (o executor de migração) ignoram RLS. Adicione-o manualmente se estiver faltando.
  3. DEPLOY — Test RLS enforcement after deploy. Abra Supabase Studio, escolha uma mesa, confirme que RLS a alternância é ON. Se a migração de Claude Code usou ENABLE sem FORCE, o botão de alternância dirá ON, mas a aplicação está incompleta.
  4. POST — Run the baas.supabase-rls active check. Tenta escrever com a tecla anon. Se for bem-sucedido, RLS estará incompleto. Adicione FORCE à migração e reimplante.

Autenticação e sessões (4 itens)

Claude Code gera bem fluxos de autenticação, mas não adiciona limitação de taxa automaticamente nem verifica todas as reivindicações de token no lado do servidor.

  1. PRE — Mandate server-only auth verification in .claude/CLAUDE.md. Adicionar: "Cada rota API que altera dados deve verificar o usuário com await supabase.auth.getUser() no servidor. Nunca confie em getSession() ou no usuário ID do corpo da solicitação."
  2. PRE — Check generated auth handlers for token expiry. Magic-link e tokens de redefinição de senha precisam ser aplicados pelo servidor expires_at. Pergunte a Claude Code: "Adicione um cheque que rejeite tokens com mais de 1 hora."
  3. PRE — Verify sign-in redirect guards. O redirecionamento de parâmetro next deve começar com / e não com //. Adicione a .claude/CLAUDE.md: "Validar o parâmetro next: deve começar com /, rejeitar se começar com // ou contiver um protocolo."
  4. POST — Test logout clears cookies. Faça login, saia, inspecione Aplicativo → Cookies. O cookie da sessão deve ser limpo. Se persistir, o endpoint de logout não está destruindo o estado.

HTTP cabeçalhos e CSP (3 itens)

Claude Code não gera middleware por padrão, a menos que você pergunte.

  1. PRE — Add middleware request to .claude/CLAUDE.md. Incluir: "Gere src/middleware.ts com Content-Security-Policy usando um nonce por solicitação, HSTS, X-Frame-Options e X-Content-Type-Options cabeçalhos." Então peça a Claude Code para implementá-lo.
  2. PRE — Verify src/middleware.ts exists and has CSP. Com o layout Next.js src/, o middleware deve estar em src/middleware.ts, não na raiz do projeto. Verifique se o cabeçalho CSP inclui 'strict-dynamic' e um nonce.
  3. POST — Run headers.security-headers on the deployed URL. A verificação relata cabeçalhos ausentes e sugere correções para sua plataforma.

Higiene de implantação (4 itens)

Claude Code não configura sua plataforma de implantação — isso é de sua responsabilidade, mas vale a pena conferir.

  1. DEPLOY — Scope env vars per environment in Vercel (or equivalent). Configurações → Variáveis de ambiente → atribua cada segredo apenas a Production. Nunca compartilhe sk_live_* com visualização ou desenvolvimento.
  2. DEPLOY — Audit your CI workflow for secret echo. Se GitHub Actions ou outro CI tiver echo $SECRET em qualquer lugar, remova-o. Os logs de construção são arquivados; segredos nos logs são comprometidos.
  3. DEPLOY — Prefer platform-native secret storage. Vercel Configurações → Variáveis de ambiente são criptografadas; GitHub Os segredos das ações são melhores do que nada, mas não correspondem ao armazenamento nativo da plataforma.
  4. POST — Rotate any key that reached a public build. Se uma chave apareceu em uma visualização Vercel URL ou em qualquer artefato público por segundos, ela está comprometida. Gire imediatamente.

pegadinhas específicas de Claude Code (5 itens)

Padrões exclusivos da arquitetura e fluxos de trabalho de Claude Code:

  1. Claude Code forks work into subagents. Em tarefas grandes, Claude Code pode gerar múltiplas instâncias de subagentes, cada uma com contexto de base de código parcial. Se um subagente alucina um padrão secreto e seguro que outro não, surge a inconsistência. Revise a diferença final com cuidado.
  2. Bash operations are unverified. Claude Code executa comandos bash diretamente. git commit -m "fix" é conveniente, mas se o diretório de trabalho tiver um arquivo .env e um glob o incluir, ele será confirmado. Sempre revise git diff --cached antes de Claude Code confirmar.
  3. Context window boundaries create gaps. Se sua base de código for grande, o contexto de Claude Code pode ser dividido em várias janelas. O tratamento .env.local de uma janela pode ser diferente do de outra. Aplique a política em .claude/CLAUDE.md e verifique a saída.
  4. Rate-limiting is almost never added without asking. Claude Code gera CRUD funcional, mas raramente inclui cabeçalhos de limitação de taxa ou lógica de espera exponencial. Peça explicitamente em .claude/CLAUDE.md.
  5. .claude/CLAUDE.md is read but not enforced. Claude Code lê seu .claude/CLAUDE.md como uma dica, não uma restrição. Se a dica entrar em conflito com a tarefa, Claude Code poderá ignorá-la. Sempre revise a saída.

Próximas etapas

Verifique general vibe coding security checklist para 44 itens de ferramentas cruzadas e, em seguida, consulte step-by-step hardening para padrões de tempo de implantação. Se você também estiver usando Cursor, consulte Cursor security checklist.

// escaneie seu app

Pare de ler. Comece a encontrar as falhas no seu.

Cole uma URL — o FixVibe roda todas as verificações passivas deste guia mais 200 outras em menos de um minuto. Grátis, sem instalação, sem cartão.

  • Free tier — 3 scans / mês, sem cartão.
  • Scans passivos contra qualquer URL — sem verificação de domínio.
  • Afinado para Cursor, Claude Code, Lovable, Bolt, v0, Replit.
  • Coding-agent prompts for code/config findings, plus operator steps for DNS/provider fixes.
Checklist de segurança Claude Code: 26 itens — Docs · FixVibe