• Home /

  • Ciberseguridad /

  • Por qué el código generado por IA podría ser un desastre para la cadena de suministro de software

Ciberseguridad

Por qué el código generado por IA podría ser un desastre para la cadena de suministro de software

Herramientas basadas en modelos de lenguaje grandes (LLM) generan millones de líneas de código que acortan tiempos de desarrollo y facilitan tareas complejas.

Periodista especializado en tecnología, ciberseguridad e innovación.

4 minutos

Por qué el código generado por IA podría ser un desastre para la cadena de suministro de software

Sin embargo, esta aceleración también ha encendido alarmas sobre su impacto negativo en la seguridad.

Uno de los principales riesgos identificados es que el código generado por IA está plagado de referencias a dependencias inexistentes. Estas alucinaciones, como se les conoce técnicamente, representan una amenaza creciente para la cadena de suministro de software y pueden ser aprovechadas por actores maliciosos para introducir código dañino en proyectos aparentemente seguros.

El auge de las alucinaciones de paquetes en código generado por IA

Los LLM pueden producir referencias a bibliotecas o paquetes que no existen. A simple vista, esto podría parecer solo un error técnico menor, pero la realidad es mucho más preocupante.

Cuando estas referencias son utilizadas por desarrolladores sin verificar su existencia o validez, se abre la puerta a uno de los ataques más peligrosos en la actualidad: la confusión de dependencias.

Cómo funcionan las alucinaciones de paquetes

Una dependencia es un componente esencial del software moderno. Reutilizar librerías permite reducir tiempos de desarrollo, pero también hace que el software sea vulnerable si esas librerías son comprometidas. Las alucinaciones se producen cuando el modelo IA sugiere bibliotecas con nombres plausibles pero que no existen. Si un atacante crea una biblioteca real con ese nombre y contiene código malicioso, el resultado puede ser devastador.

Una vez publicado un paquete falso, el modelo puede sugerirlo de forma repetida a otros usuarios que, sin saberlo, incorporarán ese código dañino en su sistema. Esto no solo representa una amenaza para el desarrollador, sino para toda la cadena de suministro que depende de ese software.

Una investigación revela la magnitud del problema

Una reciente investigación ha demostrado que este fenómeno no es un caso aislado ni aleatorio. Utilizando 16 modelos LLM, los investigadores generaron 576.000 muestras de código y encontraron que el 19,7 % de las referencias a paquetes apuntaban a dependencias inexistentes.

En total, se detectaron más de 440.000 alucinaciones, muchas de las cuales se repetían en múltiples consultas.

Un problema persistente y explotable

El hecho de que estas referencias se repitan convierte a las alucinaciones de paquetes en una amenaza persistente. No se trata simplemente de errores aleatorios, sino de patrones reconocibles que pueden ser explotados. Un atacante solo necesita identificar uno de estos patrones, crear un paquete malicioso con el mismo nombre y esperar a que la IA vuelva a sugerirlo.

Una vez instalado, el código malicioso puede robar datos, plantar puertas traseras o comprometer sistemas enteros.

Modelos de código abierto: los más vulnerables

Según el estudio, los modelos de código abierto como CodeLlama y DeepSeek presentan tasas de alucinación cercanas al 22 %, mucho más elevadas que las de modelos comerciales como ChatGPT, cuya tasa se mantiene en torno al 5 %.

Esto puede deberse a la menor cantidad de parámetros y a diferencias en la calidad del entrenamiento, lo que reduce la capacidad del modelo para recordar nombres válidos de paquetes.

JavaScript, el lenguaje más afectado

Otra de las conclusiones relevantes es que JavaScript, debido a su ecosistema masivo y complejo, tiene una mayor propensión a sufrir este tipo de alucinaciones. La tasa promedio de referencias erróneas en código JavaScript fue del 21 %, en comparación con el 16 % en Python.

Esto se explica, entre otras razones, por el elevado número de paquetes disponibles y la dificultad de los modelos para navegar en un espacio de nombres tan amplio.

Implicaciones para la cadena de suministro de software

El código generado por IA está cambiando la manera en que se desarrolla software, pero también está generando nuevas amenazas para la seguridad de la cadena de suministro. Un solo paquete malicioso puede poner en riesgo a empresas enteras, clientes y sistemas críticos, como ya se vio en ataques anteriores que afectaron a gigantes como Microsoft, Apple y Tesla.

El riesgo de confiar ciegamente en la IA

Uno de los errores más comunes es asumir que la salida de un modelo de lenguaje es siempre correcta. Sin embargo, como demuestra esta investigación, las alucinaciones no solo son frecuentes, sino que pueden repetirse y ser utilizadas de manera sistemática por ciberdelincuentes.

Si no se implementan mecanismos de verificación y auditoría, se incrementa el riesgo de introducir vulnerabilidades graves sin ser conscientes.

Recomendaciones para un uso responsable de la IA en desarrollo de software

Para evitar caer en estas trampas, los desarrolladores deben adoptar una actitud crítica ante el código generado por IA. Verificar manualmente las dependencias, utilizar herramientas de auditoría y seguir buenas prácticas de seguridad puede marcar la diferencia entre una cadena de suministro segura y una expuesta a ataques.

Asimismo, es crucial que las organizaciones inviertan en formación y en herramientas capaces de detectar posibles amenazas antes de que se integren en el entorno de producción. La prevención sigue siendo la estrategia más efectiva ante riesgos como éste.

La seguridad no puede delegarse por completo en la IA. Aunque estas herramientas ofrecen un gran potencial, su uso debe ir siempre acompañado de supervisión humana, análisis crítico y protocolos de validación robustos.