El v0 de Vercel produce de las salidas más limpias entre las herramientas de vibe coding, Next.js idiomático, buenos componentes. Pero Next.js tiene un par de trampas de seguridad específicas, y "código limpio" igual puede publicarlas.

Riesgo 1: Fugas de secretos por NEXT_PUBLIC_

En Next.js, toda variable de entorno con prefijo NEXT_PUBLIC_ se inyecta en el bundle del navegador. Es la forma más común de filtrar un secreto: la clave recibe ese prefijo "para que el componente la use", y queda pública.

    // RED FLAG: esto manda el secreto al navegador
const key = process.env.NEXT_PUBLIC_STRIPE_SECRET

// Correcto: leé secretos en el servidor, sin NEXT_PUBLIC_
const key = process.env.STRIPE_SECRET

Solo valores públicos van con NEXT_PUBLIC_. Rotá cualquier secreto que haya tenido ese prefijo.

Riesgo 2: Route handlers y server actions sin auth

v0 arma handlers app/api/.../route.ts y server actions que funcionan, pero "funcionar" no incluye verificar auth. Un route que devuelve datos debe verificar la sesión y limitar la query al usuario (ver el checklist de seguridad de APIs).

Verificá la app desplegada

Subí tu app a GitHub y Nurbak escanea el repo de Next.js: secretos expuestos, route handlers sin auth y dependencias vulnerables, con informe priorizado y un PR con el fix si lo pedís. El primer scan es gratis.

Artículos relacionados