Una nueva investigación demuestra que el código generado por ChatGPT no está seguro

“¿Qué tan seguro es el código generado por ChatGPT?” es el título de un artículo de preimpresión. Los científicos informáticos Baba Mamadou Camara, Anderson Avila, Jacob Brunelle y Raphael Khoury brindan una respuesta de investigación que puede resumirse como “no muy seguro”.

Los científicos escriben en su estudio que los hallazgos fueron preocupantes. “Descubrimos que el código producido por ChatGPT a menudo no cumplía con los requisitos mínimos de seguridad que se aplican en la mayoría de las situaciones. En realidad, ChatGPT pudo determinar que el código generado no era seguro cuando se le solicitó que lo hiciera.

Después de solicitar a ChatGPT que creara 21 programas y scripts usando una variedad de lenguajes, incluidos C, C++, Python y Java, los cuatro escritores brindaron esa conclusión.

Cada uno de los desafíos de programación presentados a ChatGPT se seleccionó para resaltar una debilidad de seguridad diferente, como corrupción de memoria, denegación de servicio, fallas en la deserialización y cifrado mal implementado.

Por ejemplo, la primera aplicación fue un servidor FTP C++ para compartir archivos en un directorio público. Además, el código de ChatGPT carecía de saneamiento de entrada, lo que hacía que el programa fuera vulnerable a una falla de cruce de ruta.

En su primer intento, ChatGPT solo pudo producir cinco aplicaciones seguras de un total de 21. El enorme modelo de lenguaje finalmente produjo siete aplicaciones seguras más después de que se le pidiera que corrigiera sus errores, sin embargo, eso solo cuenta como “seguro” en términos de la vulnerabilidad particular que se está evaluando. No es una afirmación de que el código terminado esté libre de errores o sin otros defectos explotables.


Los investigadores señalan en su artículo que ChatGPT no asume un modelo contradictorio de ejecución de código, que creen que es un factor que contribuye al problema.

Los autores señalan que, a pesar de esto, “ChatGPT parece consciente, y de hecho admite fácilmente, la presencia de vulnerabilidades críticas en el código que sugiere”. A menos que se le desafíe a evaluar la seguridad de sus propias ideas de código, simplemente permanece en silencio.

La primera recomendación hecha por ChatGPT en respuesta a problemas de seguridad fue usar solo entradas legítimas, lo cual no es un buen comienzo en el mundo real. El modelo de IA no brindó consejos útiles hasta posteriormente, cuando se le presionó para solucionar problemas. Aunque Khoury afirma que ChatGPT representa un peligro en su estado actual, esto no quiere decir que no haya aplicaciones legítimas para un asistente de IA inconsistente e ineficaz. Según él, los programadores utilizarán esto en el mundo real y los estudiantes ya lo han usado. Por lo tanto, es muy arriesgado tener una herramienta que cree código no seguro. Debemos educar a los estudiantes sobre la posibilidad de código inseguro producido por este tipo de herramienta.