Cada assistente de código tem um padrão de falha diferente. Guia comparativo de auditoria com o que Cursor esquece, o que Copilot repete, o que v0 escancara e o que Windsurf entrega bem — baseado em 500 apps analisados pela Varredura.
Cada assistente de código foi treinado com dataset diferente, com pesos otimizados para objetivos diferentes, e por isso erra em direções previsíveis. Este guia mapeia o padrão de falha de cada um e o que auditar primeiro em código gerado por Cursor, Copilot, v0 e Windsurf.
Cursor
Ponto forte: contexto de repositório inteiro. Gera código coerente com a base existente.
Falhas mais comuns:
- Copia padrões inseguros que já existiam no repo (spread de vulnerabilidade legada).
- Aceita instruções em comentários que não deveria (
// TODO: skip auth for now). - Em modo "agent", executa migrations sem revisar — já vimos DROP TABLE em produção.
Auditar primeiro: rotas novas (validação + autorização), migrations, mudanças em middleware de auth.
GitHub Copilot
Ponto forte: velocidade de completar boilerplate.
Falhas mais comuns:
- Repete padrões antigos da base de treino (
md5,mysqli_query, JWT sem expiração). - Aceita nomes de variáveis sensíveis (
password,token) sem tratamento adequado. - Em ambiente com muito código legado, herda os vícios do legado.
Auditar primeiro: hashing de senha, queries SQL, sanitização de HTML.
v0 (Vercel)
Ponto forte: UI React polida rapidamente.
Falhas mais comuns:
- CORS aberto por default no template.
useEffectcom fetch sem sanitização de resposta.- Estados client-side com dados sensíveis (localStorage).
- APIs geradas sem rate limit nem auth.
Auditar primeiro: rotas Next.js /api/*, chamadas externas do client, dados em storage do browser.
Windsurf
Ponto forte: refactor bem estruturado, entende múltiplos arquivos.
Falhas mais comuns:
- Adere ao pattern do arquivo sendo editado — se o arquivo é inseguro, mantém.
- Menor tendência a
curl | bash, mas ainda aceita URLs de fontes não verificadas em setup scripts.
Auditar primeiro: cross-file changes que possam ter movido lógica de auth.
Checklist universal
Independente do assistente, todo código gerado por IA precisa passar por:
- Validação de input (Zod/Joi/Pydantic) antes de qualquer uso.
- Query parametrizada, nunca concat de string.
- Rate limit em rota pública.
- CORS restrito (não
*). - Secret em variável de ambiente, nunca no código.
- Log sem PII bruto.
- Confirmação humana para ações destrutivas.
- Teste automático que quebra o input adversarial.
Dados de 500 apps
Nas auditorias da Varredura em 2026:
- Cursor gerou apps com 34% de falhas de autorização (IDOR).
- Copilot gerou apps com 41% de queries brutas concatenadas.
- v0 gerou apps com 68% de CORS aberto em rotas API.
- Windsurf gerou apps com 28% de secrets hardcoded.
Nenhum está livre. A questão é onde procurar.
TL;DR
- Cursor: rotas + autorização + migrations.
- Copilot: SQL + senhas + JWT.
- v0: CORS + rotas API + storage do browser.
- Windsurf: cross-file auth logic.
- Todos: checklist universal + varredura em produção.
Rode uma varredura no app que sua IA construiu.
Sua app em produção passa por essa análise?
Rode uma varredura autônoma em ~60 segundos. Sem cadastro.