Prompts para a IA corrigir falhas de segurança sem quebrar o app
Pedir "deixe seguro" não funciona. Prompts prontos para o Lovable, o Cursor ou o Bolt corrigirem RLS, chave exposta, rota sem login e IDOR — e como conferir.
A IA corrige bem uma falha de segurança quando recebe três coisas: o que exatamente está errado, o que ela NÃO pode mudar e como provar que ficou certo. Sem isso, ela costuma responder "pronto, está seguro" — ou corrigir de um jeito que quebra o app e, na próxima rodada, desfazer a correção.
Tabela aberta no Supabase (RLS)
A tabela public.pedidos está sem RLS: qualquer visitante lê e altera os pedidos de todos.
Ligue a RLS nela e crie políticas separadas de select, insert, update e delete
que só liberem as linhas em que auth.uid() = user_id.
Não use using (true). Não mude colunas nem telas.
No fim, mostre o SQL aplicado.Chave secreta no front-end
A chave da OpenAI está no código do navegador (src/lib/ia.ts).
Mova a chamada para uma Edge Function que:
- lê a chave de um segredo (nunca do código);
- confere que o usuário está logado antes de chamar a OpenAI;
- limita o tamanho do texto enviado.
O front passa a chamar essa função. Remova a chave de todos os arquivos do front.Depois de mover, TROQUE a chave no painel da OpenAI. A antiga já foi publicada — tirar do código não a desfaz.
Rota que não pede login
A rota POST /api/pedidos grava no banco sem conferir quem chamou.
No início da rota, confira a sessão do usuário; sem sessão, responda 401 e não faça nada.
Use o id do usuário da SESSÃO para gravar — nunca um user_id que venha no corpo do pedido.Dados de outro usuário trocando o id (IDOR)
GET /api/pedidos/[id] devolve o pedido de qualquer usuário: basta trocar o id.
Busque o pedido filtrando pelo id E pelo user_id da sessão.
Se não achar, responda 404 (não 403), para não confirmar que o pedido existe.Como conferir a correção
- 1Teste com duas contas: a conta B não pode ver nem mudar nada da conta A.
- 2Abra o site em aba anônima e tente as páginas de dentro: devem pedir login.
- 3Rode
npx vibedefenderde novo: o item corrigido sai da lista. Se algo novo aparecer, a correção abriu outra porta.
O VibeDefender entrega um prompt assim para cada problema que encontra, já com o arquivo e a linha — no plano Pro. No gratuito, você vê o que foi encontrado e quantas vezes.
Dicas curtas de segurança para quem cria com IA: siga @npx_vibedefender no Instagram.