Desde hace un tiempo, herramientas como GitHub Copilot y ChatGPT se han convertido en asistentes cotidianos para muchos desarrolladores. Basta con pedir un fragmento de código para recibirlo en segundos, bien indentado y comentado. Pero hay un problema silencioso: el código que ves puede estar “correcto” a simple vista… y estar completamente roto por dentro.

Y si no sabes leer código —no me refiero a leerlo como quien mira una receta, sino leerlo como quien desarma un motor para entenderlo—, corres el riesgo de meter vulnerabilidades invisibles, abrir puertas traseras y confiar en instrucciones que no sabes realmente a dónde llevan.


El copiloto puede estrellarte si no sabes pilotar

Una de las cosas más peligrosas del código generado por IA es que suele “compilar” o “correr”, y por tanto se asume correcto. Pero muchas veces, debajo de esa funcionalidad aparente, se esconden errores graves.

Una vez vi cómo un desarrollador junior usó ChatGPT para generar un login con JWT en Node.js. Todo parecía correcto: conexión a base de datos, comparación de usuario, generación del token. Pero el detalle que pasó por alto era simple: la clave secreta estaba hardcodeada y la validación del token se hacía sin verificar el algoritmo usado. Eso es como tener una cerradura sin puerta.

He visto también casos de código que:

  • Construye queries SQL con interpolación directa, permitiendo inyecciones.
  • Omite la sanitización de inputs en formularios.
  • Ignora cabeceras de seguridad como X-Frame-Options o Content-Security-Policy.
Y todo esto con la típica firma del copiloto: sintaxis perfecta, indentación limpia, e incluso comentarios amigables.


El verdadero problema no es la IA, somos nosotros

Usar Claude o ChatGPT sin saber leer código es como conducir un Tesla sin saber que es peligroso quedarse sin batería en la mitad del desierto. La IA te entrega un vehículo, pero tú debes saber cómo se comporta. Antes de delegarle el teclado a una IA, necesitas algo más importante que saber escribir código: saber leerlo críticamente.

  • Identificar patrones de diseño sospechosos.
  • Distinguir buenas prácticas de parches rápidos.
  • Pensar en términos de seguridad, no solo funcionalidad.
  • Preguntarte qué pasa si alguien abusa de este fragmento.
No se trata de ser experto en todo, sino de no confiar ciegamente en nada.


¿Te animas a detectar el bug?

Veamos este código generado por una IA:
image.png 226 KB
Parece funcional,  pero si prestas atención, verás un problema de seguridad grave.
¿Lo encontraste? Déjalo en los comentarios del post —quiero leer tus hipótesis.


La IA no va a salvarte del error humano

Podríamos pensar que estos problemas se solucionan ajustando el prompt. Y sí, en parte. Pero la IA no es mágica. No conoce tu arquitectura, no sabe qué librerías usas, ni entiende tus reglas de negocio. Solo predice texto que “parece” código útil.

Por eso, más importante que saber pedirle a la IA, es saber revisarle. Entender lo que propone, ponerlo a prueba, y sí: reescribir si es necesario. Porque no se trata de ahorrar tiempo hoy para pagar en bugs mañana.


En fin... algunas recomendaciones para quienes programan con IA

  • Toma cada respuesta de la IA como un borrador, no como la verdad.
  • Usa tests, no solo para validar que “funciona”, sino que “funciona bien”.
  • Aprende los principios básicos de seguridad: inyección, XSS, validación de inputs.
  • Si el código que te entrega no lo entiendes, no lo uses. Punto.
  • Y si dudas, coméntalo, compártelo y aprende a leerlo en comunidad.
La IA puede ayudarte a programar más rápido, pero solo si sabes cuándo frenar. Porque si no sabes leer código, cada línea generada es una caja negra que puede estar a punto de estallar.

¿Ya te ha pasado algo así? Deja un comentario. Me encantaría leer tu experiencia.