01
Você descreve o resultado, não a implementação
Em vez de escrever a função, você diz o que o app deve fazer: “tela de login com e-mail e senha, salvando no banco”. O agente escolhe bibliotecas, arquivos e estrutura.
guia · vibe coding · fundamentos
Vibe coding é construir software descrevendo o resultado em linguagem natural e deixando um agente de IA escrever o código — avaliando o que foi entregue pelo que funciona na tela, e não lendo linha a linha. O termo nasceu em 2025 e virou o fluxo padrão de ferramentas como Cursor, Claude Code, Lovable, Bolt, v0, Windsurf e Replit AI.
O ganho é real: o que levava semanas sai em uma tarde. O custo também é real e chega depois — o modelo otimiza para código que funciona, não para código seguro. Este guia explica como o fluxo funciona, o que ele costuma deixar de fora e como checar isso antes de colocar usuários dentro.
01
Em vez de escrever a função, você diz o que o app deve fazer: “tela de login com e-mail e senha, salvando no banco”. O agente escolhe bibliotecas, arquivos e estrutura.
02
Ferramentas como Cursor, Claude Code, Lovable, Bolt, v0, Windsurf e Replit AI editam vários arquivos, instalam dependências e sobem o preview sozinhas.
03
O critério de aceite vira o comportamento visível: funcionou, aprovado. É aqui que mora o risco — o que não aparece na tela também não é revisado.
04
Cada ajuste é um novo pedido. Em poucas horas existe um produto rodando, com dezenas de decisões técnicas que ninguém leu.
Elas se dividem em dois grupos. Agentes de IDE e terminal — Cursor, Claude Code, Windsurf, GitHub Copilot — trabalham dentro do seu repositório, com acesso a arquivos e shell. Plataformas de app completo — Lovable, Bolt, v0, Replit AI — cuidam de front-end, banco e deploy num único fluxo.
A escolha muda a autonomia do agente e para onde vai o seu código-fonte. Não muda a qualidade de segurança do app gerado: as falhas abaixo aparecem em todas.
acesso a dados
No Supabase, uma tabela criada sem Row Level Security (ou com uma policy `using (true)`) fica legível pela API pública. Na tela nada muda: o app continua funcionando igual.
segredos
Service role keys e tokens de terceiros colados no front-end porque “assim funcionou mais rápido”. Qualquer visitante abre o DevTools e copia.
autorização
A rota aceita um ID e retorna o dado. Trocando o número na URL, o usuário A lê o pedido do usuário B — o tipo de falha que nenhum scanner automático entende sozinho.
ia
Input do usuário concatenado direto no system prompt permite sobrescrever instruções, vazar o prompt ou acionar ferramentas indevidas.
abuso e custo
Login, envio de e-mail e chamadas de LLM abertos a abuso. O prejuízo aparece primeiro na fatura, depois no incidente.
entrada
A regra existe no cliente e é ignorada no servidor. Um `curl` passa por cima de tudo que o formulário protegia.
O padrão é sempre o mesmo: o app funciona perfeitamente para quem usa direito. A falha só aparece para quem tenta quebrar.
Esse checklist é o mínimo. O aprofundamento — com exemplos de código vulnerável e corrigido — está no ebook Vibe Coding Seguro, e a versão específica de banco de dados no checklist de Supabase RLS.
Vibe coding é programar descrevendo o resultado desejado em linguagem natural e deixando um agente de IA escrever o código, avaliando o resultado pelo que funciona na tela em vez de revisar linha a linha. O termo foi popularizado em 2025 e hoje descreve o fluxo padrão de ferramentas como Cursor, Claude Code, Lovable, Bolt e Replit AI.
Funciona para chegar rápido a um produto real — muitos apps com usuários pagantes nasceram assim. O que não escala sem revisão é a parte invisível: autorização, RLS, validação no servidor e limites de uso, que o modelo só implementa se alguém pedir.
Não para construir algo que funcione. Mas sem alguém que leia o código, você não tem como saber o que não foi implementado — e falhas de segurança não aparecem na tela.
Nenhuma é intrinsecamente mais segura no código que gera; elas diferem em privacidade de dados e autonomia do agente. Comparamos Claude Code, Cursor e Windsurf sob essas óticas em um guia dedicado.
Comece pelo checklist deste guia (RLS, segredos, autorização por endpoint, validação no servidor, isolamento de prompt, rate limiting). Se o app já tem usuários reais, dados pessoais ou pagamentos, uma revisão externa paga por si mesma.
Envie o repositório e receba um relatório de findings priorizado em 24–48h.
Solicitar revisãoLeia também: Conheça a revisão de segurança · Ver todos os posts · Claude Code vs Cursor vs Windsurf: comparativo de segurança · Security code review para apps de IA · Ebook Vibe Coding Seguro