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 hardcoded, 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

Ferramentas de codificação com 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 de sessão seguro — porque você não pediu por 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 está no seu prompt, não está no seu código.

As 5 Vulnerabilidades Mais Comuns

1. Chaves API Hardcoded em Código Frontend. IA frequentemente coloca chaves API diretamente em componentes JavaScript ou 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 do lado do servidor. Tempo: 15 minutos.

2. Sem Segurança em Nível de Linha nos Bancos de Dados. Se você está 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 do lado do cliente (que usuários podem contornar) mas pula validação do lado do servidor. Correção: Adicione esquemas Zod ou validação similar em cada endpoint da API. Tempo: 30 minutos por endpoint.

4. Sem Limitação de Taxa. Qualquer um pode acertar sua API 1.000 vezes por segundo. Sem throttling, sem proteção contra abuso. Correção: Adicione limitação de taxa através de Upstash Redis ou similar. Tempo: 20 minutos.

5. Rotas Desprotegidas. Páginas de dashboard, painéis de administração e endpoints de dados de usuários carregam 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

Execute esta checklist para qualquer projeto construído com ferramentas de codificação com IA:

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

Verifique cada endpoint da API para validação de entrada. Abra cada arquivo de rota da 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 há 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 em seu app. Se qualquer página de dashboard ou específica do usuário carregar, essa rota está desprotegida.

Verifique limitação de taxa. Tente acertar seu endpoint da API 100 vezes em rápida sucessão usando um script simples. Se todos os 100 conseguirem, você não tem limitação de taxa.

Para uma checklist de segurança completa, veja nosso guia completo para proteger apps 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 é seguro. Essas são duas habilidades diferentes. Cada prompt para uma ferramenta de codificação com IA deve incluir requisitos de segurança junto com requisitos funcionais. "Adicionar autenticação de usuário com limitação de taxa, 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.

Isso é o que fazemos toda semana. Um mergulho profundo em ferramentas de IA, fluxos de trabalho e opiniões honestas — sem hype, sem preenchimento. Junte-se a nós →

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