// Comparação de decisão
v0 vs Cursor: onde o código gerado quebra
Resposta rápida
v0 e Cursor geram código bom, mas o risco nasce em camadas diferentes. O v0 é UI-first: o furo aparece na integração, no dangerouslySetInnerHTML colado sem sanitizar, na chave em client component, na falta de CSP. O Cursor gera a lógica que você pede e para na função: o furo é de acesso, IDOR (checa login, não checa dono), JWT sem validar assinatura, validação de servidor pulada.
Ou seja: revisar app v0 é olhar a costura (input, segredo, header); revisar código Cursor é testar ownership (o usuário A alcança o dado do B?). Saber a origem já direciona metade da revisão.
Camadas de risco diferentes
O mesmo objetivo (app seguro) exige olhar pontos distintos em cada ferramenta:
| Camada | v0 | Cursor |
|---|---|---|
| Risco dominante | Integração / costura | Lógica de acesso |
| Furo típico | dangerouslySetInnerHTML, chave no client | IDOR/BOLA, JWT sem validar |
| XSS | Comum (HTML sem sanitizar) | Possível (input sem escape) |
| Autorização | Server action sem checar dono | Endpoint sem ownership check |
| Segurança da própria ferramenta | Baixa (gera UI) | CVE-2026-50548 (RCE no Cursor) |
Como revisar cada um
No v0, audite a costura: cada server action e onde entra input/segredo, e ligue CSP. No Cursor, teste ownership endpoint a endpoint e valide JWT e sessão, além de revisar a config do agente por causa das CVEs de RCE. Como o furo do Cursor é lógica de acesso, o Risk Review (leitura humana) é o caminho; o do v0 muitas vezes o Promptbook já pega.
Perguntas frequentes
Qual gera código mais seguro?
Nenhum gera seguro sozinho. O v0 tende a te dar UI limpa com risco na integração; o Cursor tende a te dar lógica funcional com furo de acesso. O que importa é revisar a camada certa de cada um.
Scanner acha os furos dos dois?
Acha melhor os do v0 (XSS, header, segredo) do que os do Cursor (IDOR/BOLA), porque IDOR é lógica de negócio e scanner não entende quem deveria ser o dono. Por isso Cursor pede mais revisão humana.
Quem faz a revisão na RET?
Gabriel Lima Ferreira, founder e lead pentester, com autorização e escopo fechado.