Um estudo descobriu que código gerado por IA tem 1,7x mais probabilidade de ter problemas graves e 2,74x mais propenso a vulnerabilidades de segurança do que código escrito por humanos. Se você construiu algo com Cursor, Claude Code, ou GitHub Copilot, seu projeto provavelmente tem pelo menos um dos cinco buracos de segurança mais comuns. Aqui está o que são e como encontrá-los.

Fatos Rápidos
  • 45% do código gerado por IA contém pelo menos uma vulnerabilidade de segurança
  • 1,7x mais provável ter problemas graves vs código escrito por humanos
  • 2,74x mais propenso a vulnerabilidades de segurança especificamente
  • Mais comum: Chaves API codificadas, validação de entrada ausente, sem segurança em nível de linha
  • Tempo para auditoria: 2-3 horas para um projeto típico vibe-coded
  • Última verificação: Abril de 2026

Por que o Código de IA é Vulnerável

As ferramentas de codificação de IA otimizam para "funciona?" não "é seguro?" Quando você pede ao Cursor para "adicionar autenticação de usuário", ele gera código que autentica usuários. Ele não adiciona automaticamente limitação de taxa, sanitização de entrada, proteção CSRF, ou gerenciamento seguro de sessão — porque você não pediu essas coisas.

A IA escreve exatamente o que você descreve. Segurança requer descrever coisas que você não pensa naturalmente — casos extremos, entradas maliciosas, padrões de acesso não autorizado. Se não estiver no seu prompt, não estará no seu código.

As 5 Vulnerabilidades Mais Comuns

1. Chaves API Codificadas em Código Frontend. IA frequentemente coloca chaves API diretamente em JavaScript ou componentes React do lado do cliente. Qualquer um pode abrir o DevTools do navegador e vê-las. Correção: Mova todas as chaves para variáveis de ambiente (arquivos .env) e acesse-as apenas no servidor. Tempo: 15 minutos.

2. Sem Segurança em Nível de Linha no Banco de Dados. Se você estiver usando Supabase (comum em vibe coding), código gerado por IA frequentemente dá a cada usuário autenticado acesso aos dados de todos os outros usuários. Correção: Ative Row Level Security e adicione políticas por usuário. Tempo: 30 minutos.

3. Sem Validação de Entrada no Servidor. Formulários aceitam qualquer coisa — scripts, payloads grandes, tentativas de SQL injection. A IA adiciona validação no cliente (que os usuários podem contornar) mas pula validação no servidor. Correção: Adicione esquemas Zod ou validação similar em cada endpoint de API. Tempo: 30 minutos por endpoint.

4. Sem Rate Limiting. Qualquer um pode chamar sua API 1.000 vezes por segundo. Sem aceleração, sem proteção contra abuso. Correção: Adicione rate limiting através do Upstash Redis ou similar. Tempo: 20 minutos.

5. Rotas Desprotegidas. Páginas de dashboard, painéis de administrador, e endpoints de dados do usuário são carregados sem verificar se o usuário está logado. Correção: Adicione middleware de autenticação a cada rota protegida. Tempo: 15 minutos.

Achando valor nisso? Publicamos guias de segurança para projetos construídos com IA semanalmente. Junte-se aos leitores que constroem com segurança →

Como Auditar Seu Projeto

Percorra esta lista de verificação para qualquer projeto construído com ferramentas de codificação de IA:

Procure por chaves codificadas em toda a sua base de código. Execute: grep -r "sk-" . && grep -r "api_key" . && grep -r "secret" . no seu diretório de projeto. Qualquer correspondência em arquivos frontend são vulnerabilidades críticas.

Verifique cada endpoint de API para validação de entrada. Abra cada arquivo de rota de API. Se usar diretamente req.body sem validação, é vulnerável.

Verifique a segurança do banco de dados. Se usar Supabase, verifique a aba Authentication → Policies. Se não houver políticas RLS, cada usuário pode ver os dados de todos os outros usuários.

Teste autenticação em cada página. Abra seu navegador em modo incógnito (não logado) e navegue para cada página do seu app. Se alguma página de dashboard ou específica do usuário carregar, essa rota é desprotegida.

Verifique rate limiting. Tente chamar seu endpoint de API 100 vezes em rápida sucessão usando um script simples. Se todos os 100 forem bem-sucedidos, você não tem rate limiting.

Para uma lista de verificação de segurança completa, consulte nosso guia completo para proteger aplicativos vibe-coded. Para os erros mais comuns e suas correções, leia 5 erros de segurança que todo vibe coder comete.

A Mudança de Mentalidade

IA escreve código que funciona. Você precisa garantir que o código seja seguro. Essas são duas habilidades diferentes. Cada prompt para uma ferramenta de codificação de IA deve incluir requisitos de segurança junto com requisitos funcionais. "Adicionar autenticação de usuário com rate limiting, validação de entrada e rotas protegidas" produz código dramaticamente mais seguro do que "adicionar autenticação de usuário."

Nosso Prompt Optimizer pode ajudá-lo a adicionar essas especificações de segurança a qualquer prompt de codificação automaticamente.

Isto é o que fazemos toda semana. Um aprofundamento sobre ferramentas de IA, workflows e opiniões honestas — sem hype, sem enchimento. Junte-se a nós →

Divulgação: Alguns links neste artigo são links de afiliados. Recomendamos apenas ferramentas que testamos pessoalmente e usamos regularmente. Consulte nossa política de divulgação completa.