Saltar al contenido

Introducción al vibecoding · Lección 4 de 5 · 13 min

Seguridad y datos

Contenido de la lección

Los disgustos del vibecoding casi nunca son aplicaciones que no funcionan. Son aplicaciones que funcionan y, a la vez, dejan algo a la vista: una clave con la que otro usa tu cuenta, una base de datos que cualquiera puede leer o los datos de tus clientes donde no deberían estar.

No hace falta ser experto en seguridad para evitar lo más común. Hacen falta cuatro comprobaciones, siempre las mismas: dónde están las claves, quién puede leer la base de datos, de quién son los datos que guardas y qué piezas de otros usa tu código.

Esta lección las recorre una a una y termina con una lista de ocho puntos que puedes pasar a cualquier cosa que hagas. Si tu herramienta es solo para ti, varios no te afectarán. Si la va a usar otra gente, todos.

Ninguna de estas comprobaciones exige leer código. Todas se hacen probando la aplicación como lo haría otra persona o preguntando al asistente lo que debe contarte.

Claves a la vista

Una clave de API es una contraseña para usar un servicio a tu nombre. Si alguien la encuentra, lo usará y la factura será tuya, o llegará a los datos que esa clave abre.

Se escapan por sitios previsibles:

  • escrita en el código de la página, que cualquiera puede leer en su navegador;
  • en un proyecto que se publica en internet, como un repositorio público;
  • en una captura de pantalla o pegada en una conversación.

Si se te escapa una, lo primero es anularla en el servicio y crear otra. Borrarla del código no basta: puede seguir en el historial de versiones, y puede que alguien ya la haya copiado. Es lo que recomienda la propia documentación de GitHub.

Y en cada servicio que cobre por uso, pon un límite de gasto. Si algo sale mal, el límite pone el techo.

Bases de datos abiertas

Muchas plataformas crean la base de datos en un minuto. Lo que no siempre dejan resuelto es quién puede leerla y escribir en ella. Si nadie lo ha decidido, puede pasar que cualquiera que sepa la dirección vea todos los registros, los de todos tus usuarios.

Se comprueba de una forma sencilla: abre tu aplicación desde otro navegador o en una ventana privada, sin iniciar sesión, e intenta ver o cambiar datos que no son tuyos. Lo que veas así lo puede ver cualquiera.

Pregunta a tu asistente: «¿Quién puede leer y escribir en esta base de datos? Explícame las reglas de acceso que hay ahora». Si la respuesta es «cualquiera», pídele que las cierre para que cada persona vea solo lo suyo, y vuelve a probar sin iniciar sesión.

Datos de otras personas

En cuanto tu herramienta guarda nombres, correos, teléfonos o datos de salud de otras personas, quien la pone en marcha responde de esos datos. En la Unión Europea lo regula el Reglamento General de Protección de Datos, y la Agencia Española de Protección de Datos tiene guías para quien los trata.

Lo básico, que se aplica también aunque seas pequeño:

  • Guarda solo lo que necesitas. Si no vas a llamar a nadie, no pidas el teléfono.
  • Di qué guardas y para qué, en un texto claro junto al formulario.
  • Para probar, datos inventados. Nunca la lista real de tus clientes, ni en las pruebas ni pegada en la conversación con el asistente.
  • Borra lo que ya no necesites.

Si lo que haces va a tratar datos sensibles o de mucha gente, consulta con alguien que sepa de protección de datos antes de abrirlo.

Piezas de terceros

Casi todo el código usa piezas hechas por otros, llamadas paquetes o bibliotecas: una para enviar correos, otra para los pagos, otra para las fechas. Es normal y ahorra trabajo. El riesgo está en que el asistente proponga una que no conoces.

Un estudio presentado en USENIX Security 2025 analizó 576.000 fragmentos de código de 16 modelos: de media, al menos un 5,2 % de los paquetes que recomendaban los modelos comerciales y un 21,7 % de los de los modelos abiertos no existían. Un nombre inventado es una puerta: alguien puede registrarlo y llenarlo de código malicioso.

Antes de aceptar un paquete nuevo, comprueba tres cosas: que existe en su repositorio oficial, que lo usa más gente y que alguien lo mantiene. Y pide al asistente la lista de piezas que usa tu proyecto y para qué sirve cada una.

Práctica · Lo que no dejarías pasarMarca las frases que no te creerías sin comprobar: pulsa en ellas.

El resumen que hace un asistente de lo que acaba de construir, en ocho frases. Se marcan las que no dejarías pasar sin revisarlas y se comprueba.

El asistente te cuenta lo que ha hecho en tu página de reservas. ¿Qué no dejarías pasar?

  1. He creado un formulario para que tus clientes dejen su nombre y su teléfono. Se sostiene. Es lo que pediste. Lo que importa es dónde se guardan esos datos y quién puede verlos.
  2. He puesto tu clave del servicio de mensajes en el archivo de la página para que funcione ya. Hay que comprobarla. Lo que llega al navegador lo puede leer cualquiera. La clave tiene que ir fuera del código, en el servidor.
  3. Los datos se guardan en una base de datos en la nube. Se sostiene. Es normal. La pregunta siguiente es quién puede leerla.
  4. He dejado la base de datos sin contraseña para que la puedas ver desde cualquier sitio. Hay que comprobarla. Si tú la ves desde cualquier sitio, cualquiera también. Tiene que tener reglas de acceso.
  5. He añadido un paquete que encontré para enviar los correos. Hay que comprobarla. Antes de usarlo, comprueba que existe de verdad, quién lo mantiene y que lo usa más gente.
  6. He hecho que la página se vea bien también en el móvil. Se sostiene. Es una mejora sin riesgo.
  7. Para probar, he cargado la lista de clientes que me pasaste. Hay que comprobarla. Para probar, datos inventados. Los de clientes reales no deberían estar en las pruebas ni en la conversación.
  8. Cada cambio queda guardado como una versión nueva. Se sostiene. Es justo lo que viste en la lección 3.

La lista de ocho puntos

  1. Ninguna clave en el código ni en nada que llegue al navegador.
  2. Límite de gasto en cada servicio que cobra por uso.
  3. La base de datos solo deja leer y escribir a quien debe, probado sin iniciar sesión.
  4. Para probar, solo datos inventados.
  5. Solo los datos de otras personas que de verdad necesitas, y les dices cuáles.
  6. Sabes qué piezas de terceros usa, y existen de verdad.
  7. Hay una versión guardada de cuando funcionaba.
  8. Sabes qué hacer si una clave se escapa: anularla y crear otra.

Pásala antes de enseñar lo que hayas hecho y cada vez que cambies algo importante.

Hazlo: revisa lo que has hecho con la lista

  1. Si ya has empezado tu herramienta, pásale la lista de ocho puntos, uno a uno.
  2. Si todavía no, pide a tu asistente que te haga una página mínima que guarde un nombre y un correo, y revísala con la lista.
  3. Pide al asistente: «Revisa todo el proyecto y dime si hay alguna clave, contraseña o token escrito en el código».
  4. Abre tu herramienta sin iniciar sesión, desde otro navegador, y apunta qué ves.

Lo que no cumpla no es un fracaso: es tu lista de tareas antes de que lo use nadie más.

Repite la revisión cada vez que añadas algo importante: un formulario nuevo, una clave nueva o una pieza de terceros. Lo que estaba bien ayer puede dejar de estarlo con un cambio.

Tu cuadernoApunta lo que has visto en «Revisa lo que has hecho con la lista».

Comprueba lo que has aprendido · 3 preguntas

1Has subido por error tu clave a un proyecto público. ¿Qué haces primero?

No es esa. La correcta es «Anularla en el servicio y crear otra». Borrarla no basta: sigue en el historial y puede que alguien ya la haya copiado. Lo primero es anularla en el servicio; así deja de servir para nada.

2¿Cómo compruebas si tu base de datos está abierta?

No es esa. La correcta es «Abriendo la aplicación sin iniciar sesión, desde otro navegador, a ver qué datos ves». Lo que ves sin iniciar sesión lo ve cualquiera. El asistente puede ayudarte a poner las reglas, pero la prueba la haces tú.

3El asistente propone usar un paquete de código que no conoces. ¿Qué compruebas?

No es esa. La correcta es «Que exista de verdad, que lo use más gente y que alguien lo mantenga». Los asistentes a veces proponen paquetes que no existen, y alguien podría registrar ese nombre con código malicioso. Un estudio con 16 modelos lo midió en miles de casos.

La idea de esta lección
Ninguna clave a la vista, la base de datos cerrada, solo datos inventados para probar y las piezas de terceros, comprobadas.
Compartir en LinkedIn
SiguienteLección 5 · Lo que promete y lo que no esSeguir
Volver al curso

Fuentes

Los datos y las fechas de la lección se comprobaron en estas fuentes el 15 de octubre de 2026. Las que están en inglés son los textos originales.

Sigue con el curso

Ver todas las lecciones
  1. Dos maquetas de la misma casa, una al lado de la otra: a la izquierda, de cartón gris sin terminar; a la derecha, acabada en blanco sobre una base de hormigón y con la puerta naranja.Lección 2 · 12 minPara qué sirve y para qué noPrototipos y herramientas propias, frente a un producto con usuarios, datos y pagos.ClasificarCuadernoEmpezar
  2. Una maqueta de una casa de cartón gris sobre una mesa clara y, delante, cuatro herramientas en fila: una regla, un cúter, un rollo de cinta y un nivel naranja.Lección 3 · 13 minLo que conviene saber antesLeer código lo justo, guardar versiones, dónde se ejecuta, bases de datos y claves.EmparejarCuadernoEmpezar
  3. Una maqueta de casa de cartón gris, hecha deprisa, con una etiqueta de precio naranja en blanco colgada del tejado.Lección 5 · 15 minLo que promete y lo que no es«Tu app en dos minutos», lo que hace falta para vender software y tu propio proyecto.Guía por pasosCuadernoEmpezar
  4. La maqueta acabada de una casa blanca sobre su base de hormigón, con una banderita naranja clavada en el tejado, a la luz de la tarde.Al terminar el cursoTu cuaderno y tu constanciaDescargas tu cuaderno, con todas tus respuestas, y una constancia que cualquiera puede verificar.CuadernoConstanciaAbrir