← Volver al blog
Seguridad

Tu app de Lovable puede estar mostrando datos a cualquiera. Cómo comprobarlo

Un análisis de 159.000 proyectos hechos con Lovable encontró miles de apps que entregaban registros de la base de datos a visitantes sin iniciar sesión. La causa suele ser una configuración de Supabase que se revisa en minutos.

Cilindro de base de datos con un candado abierto en líneas oscuras sobre fondo claro, junto a la forma de vidrio con núcleo azul

Crear una app con Lovable en una tarde ya es habitual. Lo que poca gente revisa es quién puede leer los datos que esa app guarda.

El 2 de noviembre, el diario alemán Handelsblatt publicó un análisis hecho con la empresa de seguridad Crissy Field sobre apps creadas con Lovable. Las cifras llaman la atención.

Qué encontró el análisis

Según la cobertura del análisis, los investigadores reunieron 159.041 proyectos publicados con Lovable. De ellos, 34.545 usaban Supabase como base de datos.

  • En 24.664 apps, los registros de la base aparecían al abrir la página, sin iniciar sesión.
  • En 7.403 de ellas había tablas con correos de usuarios.
  • Entre los casos citados hay números de pasaporte, mensajes de chat y listas de clientes.

Los propios investigadores matizan. Parte de esos datos puede ser pública a propósito, como un catálogo, y no pudieron saber si alguien usó la información. Aun así, el patrón es claro y no se trata de un ataque a Lovable. El problema está en la configuración de cada app.

Por qué ocurre

Toda app hecha con Supabase lleva al navegador una clave pública. Está pensada para quedar expuesta, y la protección depende de las reglas de la base de datos, el llamado RLS (Row Level Security, seguridad por fila).

La documentación de Supabase advierte que una tabla expuesta sin RLS puede ser leída y modificada por cualquiera con acceso a ella. Cuando el asistente de IA crea una tabla y olvida activar el RLS, o lo activa sin reglas bien pensadas, la clave pública abre la puerta.

Dos caminos desde una app en el navegador hasta la base de datos, donde la tabla sin RLS entrega los datos a cualquier visitante y la tabla con RLS muestra a cada usuario solo lo suyo

Cómo revisar tu app hoy

No hace falta ser programador para la primera comprobación:

  1. Abre el panel de Supabase y mira la lista de tablas. Las que avisan de RLS desactivado son la primera alerta.
  2. Ejecuta el Security Advisor de Supabase, que señala tablas y funciones expuestas.
  3. Activa el RLS en todas las tablas y crea reglas para que cada usuario vea solo lo suyo.
  4. Revisa los archivos de Storage. Carpetas públicas con documentos o fotos de clientes son otra fuga habitual.
  5. Busca la clave secreta en el código de la web. Se salta todas las reglas y nunca debe llegar al navegador.
  6. Prueba con una segunda cuenta. Entra como otro usuario e intenta abrir los datos del primero.

Si la app guarda datos de clientes y algo estaba abierto, implica a quien lleve la parte legal. La ley de protección de datos de tu país puede exigir avisos. En Europa, por ejemplo, el RGPD exige notificar a la autoridad de protección de datos en un plazo de 72 horas cuando la brecha supone un riesgo para las personas.

¿Corregir o migrar?

En la mayoría de los casos, activar el RLS y escribir buenas reglas lo resuelve. La migración tiene sentido cuando la app ya no es un prototipo, guarda datos sensibles o un cliente grande pide un cuestionario de seguridad, un contrato de tratamiento de datos o alojamiento en AWS.

En nuestra migración de apps de Lovable a AWS o Google Cloud, la primera etapa es justo esta revisión de base de datos, accesos y permisos. Recibes un plan por escrito antes de cualquier cambio, y el código y las cuentas quedan a nombre de tu empresa.