La investigación centrada en la evaluación de las capacidades de generación de código en grandes modelos de lenguaje (LLMs) ha revelado una serie de vulnerabilidades de seguridad cuando se utilizan para desarrollar aplicaciones web. Los detalles salieron a la luz luego de que se determinara que el 32,8% del código Python generado y el 24,5% del código JavaScript, cuando se genera automáticamente, contiene brechas de seguridad.
Se identificaron vulnerabilidades críticas en mecanismos de autenticación, gestión de sesiones, validación de entrada y cabeceras de seguridad HTTP en código generado por modelos como ChatGPT, DeepSeek, Claude, Gemini y Grok. Inquietantemente, el 92% de los desarrolladores en EE.UU. afirmaron que utilizan estos modelos de generación de contenidos a diario, según un estudio. Sin embargo, dichos modelos no cumplen plenamente con las mejores prácticas de la industria, lo que subraya la necesidad de una intervención humana para garantizar el despliegue seguro de aplicaciones.
A pesar de su capacidad para mejorar la productividad del desarrollador al solucionar problemas a través de interfaces conversacionales, los LLMs han demostrado ser insuficientes para detectar y corregir sus propios errores de seguridad en entornos de prueba controlados. Se menciona que si los programadores confían ciegamente en el código generado por estos modelos, podrían inadvertidamente introducir vulnerabilidades en aplicaciones del mundo real.
El año 2024 documentó más de 34.000 vulnerabilidades a través del Programa CVE, volviendo más apremiante la necesidad de evaluar las capacidades de seguridad al usar LLMs para generar código web seguro. La investigación resalta, además, que el uso habitual de LLMs por parte de desarrolladores instaura dudas sustanciales sobre los niveles de seguridad en el software.
Un análisis comparativo de las capacidades de diversos LLMs, utilizando una lista de verificación integral, determinó las fortalezas y debilidades en autenticación, gestión de sesiones y protección contra ataques de inyección. Además, se propuso la creación de marcos de evaluación de seguridad robustos que podrían reforzar la fiabilidad del código generado en aplicaciones del mundo real.
Las conclusiones del análisis son claras: aunque los LLMs revolucionan la generación de código y mejora la productividad, el reto de producir código seguro sigue siendo significativo. Ante este panorama, surge la necesidad acuciante de mejorar los modelos existentes y de implementar evaluaciones de seguridad automatizadas y continuas para reducir el riesgo de explotación.