Por qué las plataformas reales no deberían programarse con IA

La nota anterior planteaba el caso general. Esta es concreta: aquí hay plataformas construidas así, lo que les pasó y qué tenían en común sus fallos.

He dejado fuera el incidente que todo el mundo cita. La brecha de la aplicación Tea de julio de 2025 expuso unas 72.000 imágenes, entre ellas unos 13.000 documentos de identidad y selfies, desde un bucket de Firebase sin proteger. Se usa constantemente como el desastre emblemático del vibe coding. El comunicado de la propia Tea dice que ese código es anterior a febrero de 2024, antes de que esta forma de trabajar fuese viable para un sistema así. Fue un fallo de configuración, y grave, pero no es prueba de este argumento y no voy a fingir lo contrario.

Los cuatro siguientes sí lo son.

EnrichLead: muerto una semana después de la vuelta de honor

En marzo de 2025, el fundador de EnrichLead anunció públicamente que su producto SaaS se había construido con «cero código escrito a mano», íntegramente con un editor de IA. La publicación se hizo viral.

En dos días la aplicación estaba bajo ataque. Las claves de API estaban en el frontend. No había autorización en los endpoints, ni limitación de peticiones, ni validación de entrada, y la base de datos era accesible. Los atacantes saltaron la suscripción, manipularon datos y agotaron las cuotas de API de pago. El producto se cerró definitivamente en una semana.

Fíjate en lo que no pasó: nadie necesitó un exploit ingenioso. Cada uno de esos puntos es un control que un ingeniero que revisa añade sin que se lo pidan, porque sabe que el endpoint es accesible desde internet. Nadie preguntó, así que nadie los añadió.

Lovable: CVE-2025-48757 y 170 aplicaciones en producción

Lovable es un constructor de aplicaciones con IA de uso masivo. En 2025 se le asignó el CVE-2025-48757 por generar aplicaciones con Row Level Security ausente o insuficiente en sus bases de datos Supabase.

La consecuencia: la clave pública de cliente enviada al navegador permitía consultar las tablas directamente. Listas completas de usuarios, registros de pago y credenciales almacenadas podían leerse sin iniciar sesión. Un escaneo de 1.645 aplicaciones Lovable encontró 170 con bases de datos expuestas —más del diez por ciento— en 303 endpoints vulnerables.

Este es el caso importante, porque ninguno de esos 170 constructores cometió un error individual. Recibieron el valor por defecto de la plataforma. El código generado parecía terminado y se comportaba bien en cualquier prueba que a su autor se le ocurriera hacer. Lo que faltaba era una política de base de datos en la que nadie le invitó a pensar, en una capa que nunca vio.

Base44: autenticación que podía saltarse sin más

Base44 es una plataforma de creación de aplicaciones con IA, adquirida por Wix en 2025. En julio de 2025, Wiz Research reveló un fallo: dos endpoints de API —el registro y la verificación del código de un solo uso— no exigían autenticación alguna, y el identificador de aplicación necesario para llegar a ellos estaba publicado en la propia URL y en el manifiesto de la app.

Con eso bastaba para crearse una cuenta verificada en la aplicación privada de otro. Wiz confirmó que el salto funcionaba contra aplicaciones empresariales con chatbots internos, bases de conocimiento, operaciones de recursos humanos y datos personales: aplicaciones cuyos dueños creían restringidas al SSO corporativo.

Wix lo parcheó en 24 horas y no halló indicios de explotación, lo cual es una respuesta genuinamente buena. La lección está en otro sitio: los clientes no tenían forma de saberlo. Habían configurado el SSO. La plataforma les decía que la app era privada. No lo era, y nada de su propio código estaba mal.

SaaStr y Replit: la base de datos que no había que tocar

En julio de 2025, Jason Lemkin, de SaaStr, pasó nueve días construyendo en público sobre el agente de IA de Replit. Durante un congelamiento de código explícito, con instrucciones repetidas en lenguaje natural de no alterar producción, el agente borró la base de datos de producción: registros de más de 2.400 directivos y empresas.

Después generó datos inventados en lugar de lo que había destruido e informó de que la restauración era imposible. Era falso; los datos eran recuperables. Replit lanzó en pocos días la separación dev/producción, un modo solo de planificación y la restauración con un clic.

El borrado es la mitad menor de la historia. La mitad mayor es que el agente afirmó con seguridad algo falso sobre el estado del sistema y no había manera independiente de comprobarlo. Si tu único modelo de tu propia plataforma es el que te narra el agente, no puedes auditar esa afirmación.

El patrón

Tres de los cuatro son fallos de autorización, y el cuarto es una operación destructiva sin ninguna barrera. No son errores exóticos. Son la categoría más básica que existe.

Comparten forma. La aplicación funcionaba. Pasaba todas las pruebas que su autor ejecutaba, porque su autor probaba el camino que había descrito. Lo ausente era la capa que hay debajo de la descripción —quién puede leer esta fila, qué es accesible sin sesión, qué no debe ejecutarse jamás contra producción— y esa capa es invisible precisamente porque nadie la especificó.

Un modelo no sabe que tu endpoint está expuesto a internet, que tu lista de clientes es tu activo más valioso o que esta tabla está sujeta al RGPD. No se lo han dicho. Y no lo va a preguntar.

Dónde está la línea

Nada de esto es un argumento contra la IA en desarrollo. Uso estas herramientas a diario y me han hecho bastante más rápido.

La línea es la propiedad. En algún sitio tiene que haber una persona capaz de responder, de memoria, quién puede leer cada tabla, qué pasa cuando falla cada integración y qué se ejecuta cuando llegan dos peticiones a la vez. Esa persona puede perfectamente haber generado la mayor parte del código. Lo que no puede es no saber las respuestas.

Si tu plataforma guarda datos de clientes, cobra pagos o te avergonzaría el día en que se filtrase, esa persona tiene que existir y tiene que tener nombre. Pregúntale a cualquier proveedor quién es. Si la respuesta es la herramienta, tienes el mismo montaje que tenía EnrichLead el día de la publicación triunfal.