Un tercio de las apps del vibe coding deja la base de datos abierta: pasaportes a un clic

Un tercio de las apps del vibe coding deja la base de datos abierta: pasaportes a un clic

Escucha este artículo en audio (1:32 min, resumen del artículo original)

📻 Versión en audio: si prefieres escuchar en vez de leer, el resumen del artículo está justo aquí arriba.

Un tercio de las apps del vibe coding deja la base de datos abierta: pasaportes a un clic

159 mil aplicaciones. Ese es el tamaño del escaneo que hizo la consultora alemana Crissy Field sobre proyectos generados con Lovable, la plataforma de vibe coding que promete que cualquiera puede armar una app completa conversando con una IA. El resultado, publicado el 2 de noviembre junto a Handelsblatt, es incómodo: de las 34.545 aplicaciones que usan Supabase como base de datos, 24.664 le entregaban registros al navegador sin siquiera pedir login, y en el 30% de esos sitios lograron leer tablas con correos electrónicos usando una petición de solo lectura cualquiera.

El catálogo de fugas es para no creer, pero es real: un foro con más de 80.000 perfiles con nombres, fechas de nacimiento y género, junto a más de 200.000 mensajes privados. Un proveedor que exponía más de 1.000 registros con números de pasaporte, fechas de expiración y nacionalidades. Contratos, facturas, álbumes de fotos, comunicaciones internas y una bandeja con 280.000 correos enviados a clientes, todo accesible sin autenticación.

El patrón que hace esto explotar en masa

La mecánica técnica es simple y no es nueva: Supabase se consulta desde el navegador con una anon key que va embebida en el JavaScript de la página. Esa llave es pública por diseño, y por eso existe Row Level Security: cada tabla define qué filas puede ver cada usuario autenticado. Si nadie activó RLS, la anon key lee todo. En una app escrita a mano, ese despiste es un incidente aislado. En apps generadas en masa, es un patrón: las integraciones producen esquemas parecidos una y otra vez, así que la misma técnica de acceso que funciona contra una app funciona contra miles. Es la diferencia entre un ladrón que revisa puerta por puerta y uno que descubrió que todo el condominio usa la misma cerradura.

El detalle que más me llama la atención: Lovable vende en su marketing que no necesitas conocimientos técnicos, pero sus términos y condiciones dejan la responsabilidad del manejo de datos en el cliente. O sea, la plataforma te promete que no necesitas saber seguridad, y el contrato te recuerda que si la base quedó abierta, el problema es tuyo. Ese hueco entre la promesa y la letra chica es donde viven estos 24.664 desastres.

Voz de experiencia propia

Construyo cosas con agentes y scripts todo el tiempo — este blog corre sobre esa infraestructura — y les confieso algo: ni el modelo más capaz adivina qué información es confidencial si nadie se lo dice. Un agente genera una tabla, agrega columnas con razón social, correo y teléfono, y todo funciona perfecto en la demo. La seguridad no se autocompleta; es una revisión aburrida que nadie disfruta hacer y que la IA tampoco hace sola.

El chequeo mínimo antes de meter datos reales

Si vas a lanzar algo que toque datos de gente de verdad, mi checklist es corto. Primero, activar Row Level Security en todas las tablas, no solo en las sensibles, porque una tabla «de apoyo» con correos filtra igual. Segundo, probar la página con la anon key y peticiones directas antes de cargar un solo dato real. Tercero, repetir la revisión después de cada cambio grande, porque una regeneración del agente puede borrar tus políticas en silencio. Y cuarto: si el proyecto va a manejar pasaportes, cuentas o pagos, eso no va en un prototipo de una tarde, punto.

El vibe coding no es el enemigo, es una herramienta espectacular para prototipar. Lo que no perdona ningún framework es la creencia de que alguien más se encargó del candado. Acá nadie más se encargó.

Los números completos y la metodología del escaneo: Lovable: Many Apps Built on the Platform Expose Sensitive Data, Crissy Field.

Fuente de inspiración: Lovable: Many Apps Built on the Platform Expose Sensitive Data (Crissy Field)

Comentarios

Aún no hay comentarios. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *