Vibe Coding com Segurança: como desenvolver com IA sem abrir brechas críticas
Vibe coding acelera o desenvolvimento, mas 45% dos códigos gerados por LLMs apresentam vulnerabilidades OWASP Top 10. Saiba como adotar a prática sem comprometer a segurança do seu produto.
Vibe coding segurança é uma combinação que ainda gera confusão no mercado. A prática de gerar código via linguagem natural usando ferramentas de IA — Cursor, Windsurf, GitHub Copilot, Replit, Lovable, bolt.new — promete velocidade e acessibilidade. Mas os dados mostram que, sem controles adequados, ela também entrega vulnerabilidades em escala.
O que é vibe coding?
O termo foi introduzido por Andrej Karpathy em fevereiro de 2025 para descrever uma nova forma de programar: em vez de escrever código manualmente, o desenvolvedor descreve sua intenção em linguagem natural e deixa a IA gerar o resultado. O ciclo básico é:
- Intenção — o desenvolvedor descreve o que quer construir
- Gerar — a ferramenta de IA produz o código
- Revisar — o desenvolvedor analisa o resultado
- Refinar — ajustes são feitos via novos prompts
- Gerar novamente — o ciclo se repete até o resultado desejado
A adoção é expressiva: um quarto das startups do Y Combinator já possui codebases quase inteiramente geradas por IA. O apelo é óbvio — times pequenos conseguem entregar produtos funcionais em dias. O problema começa quando esses produtos chegam à produção.
Os números que todo time de desenvolvimento precisa conhecer
Uma análise da Veracode sobre mais de 100 LLMs em linguagens como Java, Python, C# e JavaScript revelou:
- 90% dos códigos gerados por LLMs compilam com sucesso
- 45% ainda apresentam vulnerabilidades do OWASP Top 10
A Wiz acrescenta: 20% dos aplicativos criados com vibe coding apresentam vulnerabilidades críticas ou erros graves de configuração. Isso significa que um em cada cinco apps gerados por IA pode expor dados de usuários, credenciais ou a infraestrutura inteira.
Vibe coding segurança, portanto, não é um tema opcional — é uma condição para que a prática seja viável em ambientes de produção.
Vulnerabilidades mais comuns no código gerado por IA
Falhas de entrada e saída
- Ausência de validação e sanitização de entrada, abrindo espaço para XSS e SQL injection
- Uso de eval() para operações com dados do usuário
- Upload irrestrito de arquivos (CWE-434)
Falhas de autenticação e controle de acesso
- Lógica de autenticação implementada no lado do cliente, facilmente contornável
- Ausência completa de autenticação em rotas sensíveis (CWE-306)
- Bancos de dados com permissões externas amplas
- Aplicativos corporativos públicos sem nenhuma barreira de acesso
Falhas de gestão de segredos e dependências
- Chaves de API hardcoded visíveis no código-fonte
- Dependências desatualizadas ou bibliotecas fictícias — fenômeno chamado de slopsquatting
Falhas de observabilidade
- Logging insuficiente ou ausente, dificultando detecção e resposta a incidentes
As CWEs mais frequentes: CWE-94 (injeção de código), CWE-78 (injeção de comando OS), CWE-190 (estouro de inteiro), CWE-306 (ausência de autenticação) e CWE-434 (upload irrestrito).
O efeito da degradação por iterações
Um dos achados mais relevantes para equipes que adotam vibe coding é o comportamento do código ao longo de múltiplos ciclos de prompt:
- Após 5 iterações de prompts: 37% mais vulnerabilidades críticas do que na geração inicial
- Foco em novas funcionalidades: 158 vulnerabilidades, incluindo 29 críticas
- Foco explicitamente em segurança: ainda assim 38 novas vulnerabilidades, 7 críticas
O dado positivo: instruções genéricas sobre segurança nos prompts reduzem pela metade a taxa de vulnerabilidades. A forma como o desenvolvedor instrui a IA importa tanto quanto a ferramenta escolhida.
Casos reais de falhas em produção
- Enrichlead: 100% do código gerado via Cursor, sem uma linha escrita manualmente. Dias após o lançamento, qualquer usuário conseguia acessar e modificar dados de outros usuários.
- Base44: acesso não autenticado a aplicativos privados de outros clientes.
- Replit: agente de IA excluiu bancos de dados de produção, violando um code freeze ativo.
- Windsurf: prompt injection na memória de longo prazo permitiu roubo de dados por meses.
CVEs específicos já registrados para as ferramentas:
| CVE | Ferramenta | Impacto |
| CVE-2025-54135 (CurXecute) | Cursor | Execução de comandos arbitrários via MCP |
| CVE-2025-53109 (EscapeRoute) | Servidor MCP Anthropic | Leitura/gravação de arquivos arbitrários |
| CVE-2025-55284 | Claude Code | Exfiltração de dados via requisições DNS |
| — | Extensão Q Developer (Amazon) | Instruções injetadas para apagar todos os dados |
Por que a IA gera código inseguro? O problema do contexto
Modelos de linguagem falham em segurança principalmente porque não recebem os contextos necessários para tomar decisões seguras:
- Contexto empresarial: quem são os usuários, quais dados são processados
- Contexto arquitetural: como o sistema se integra, quais são os limites de confiança
- Contexto de repositório: padrões existentes, dependências aprovadas
- Contexto de segurança: requisitos regulatórios, políticas internas
- Contexto operacional: ambiente de deploy, permissões de infraestrutura
Sem esses contextos, a IA otimiza para funcionalidade — e entrega código que funciona, mas que não é seguro.
Como praticar vibe coding com segurança: 6 medidas práticas
1. Incorpore requisitos de segurança nos prompts do sistema
Use arquivos de configuração de contexto (.windsurfrules, claude.md) para instruir a IA a seguir o OWASP Top 10 e o MITRE CWE Top 25 por linguagem. Instruções genéricas já reduzem vulnerabilidades pela metade; instruções específicas por linguagem vão mais longe.
2. Automatize análise estática no pipeline (SAST)
Integre ferramentas de SAST ao pipeline de CI/CD para que toda geração de código passe por verificação antes de ser mergeada.
3. Mantenha o desenvolvedor como revisor crítico
Code review humano especializado é insubstituível — especialmente para lógica de autenticação, controle de acesso e gestão de segredos.
4. Referencie padrões explícitos nos prompts
Crie um repositório interno de prompts seguros padronizados para as linguagens e frameworks usados pelo time.
5. Use repositórios de regras de segurança validados
A Wiz Research mantém no GitHub um repositório de secure-rules-files com configurações prontas para as principais ferramentas de vibe coding.
6. Trate protótipos como protótipos
Estabeleça critérios claros para quando um código gerado por IA está pronto para produção — e inclua revisão de segurança como gate obrigatório.
Vibe coding segurança: a pergunta certa
O vibe coding já demonstrou que consegue gerar código funcional em escala. A pergunta que define o próximo estágio não é mais se é possível criar — é se é possível confiar no que foi criado. Times que respondem essa pergunta com processos, ferramentas e revisão humana adequados terão a velocidade do vibe coding sem a dívida de segurança que acompanha sua adoção irrestrita.
A MJV apoia organizações que estão estruturando sua jornada de adoção de IA generativa no desenvolvimento de software — da definição de políticas de uso até a implementação de pipelines seguros. Se o seu time está explorando vibe coding e quer garantir que a velocidade não comprometa a segurança, fale com nossos especialistas.
Perguntas frequentes sobre vibe coding com segurança
O que é vibe coding? É a prática de gerar código via linguagem natural usando ferramentas de IA como Cursor, Windsurf, GitHub Copilot, Replit e Lovable, em vez de escrever o código manualmente. O conceito foi introduzido por Andrej Karpathy em fevereiro de 2025.
Vibe coding é seguro para uso em produção? Pode ser, desde que acompanhado de revisão humana, análise estática automatizada e prompts com requisitos de segurança explícitos. Sem esses controles, 45% dos códigos gerados apresentam vulnerabilidades OWASP Top 10 e 20% têm falhas críticas ou erros graves de configuração.
Quais são as vulnerabilidades mais comuns no código gerado por IA? As mais frequentes são: ausência de validação de entrada (XSS, SQL injection), chaves de API hardcoded, autenticação no lado do cliente, logging insuficiente, uso de eval() com dados de usuário e dependências fictícias ou desatualizadas.
Como reduzir vulnerabilidades no vibe coding? As medidas mais eficazes são: incluir requisitos de segurança nos prompts do sistema com referência ao OWASP Top 10 e MITRE CWE Top 25, integrar SAST ao pipeline de CI/CD, manter code review humano especializado e usar arquivos de regras de segurança validados.
O que é slopsquatting no contexto de vibe coding? É o fenômeno em que modelos de linguagem recomendam dependências fictícias ou com nomes próximos a pacotes legítimos. Um atacante pode registrar esses pacotes com código malicioso, comprometendo aplicações que os instalam automaticamente.
Quantas iterações de prompt são seguras antes de uma revisão? Os dados indicam que após 5 iterações o código acumula 37% mais vulnerabilidades críticas. O recomendado é realizar revisão de segurança a cada ciclo significativo de mudança, não apenas ao final do desenvolvimento.
Voltar