fbpx

Un estudio encuentra que los asistentes de IA ayudan a los desarrolladores a producir código con errores

Comparte y apóyanos

Con información de The Register.

El estudio reveló que el código de la IA genera errores, las diversas herramientas hacen que los desarrolladores crean que es sólido.

Los científicos informáticos de la Universidad de Stanford han descubierto que los programadores que aceptan ayuda de herramientas de IA como Github Copilot producen código menos seguro que aquellos que vuelan solos.

En un artículo titulado «¿Los usuarios escriben más código inseguro con asistentes de IA?», Los científicos de Stanford Neil Perry, Megha Srivastava, Deepak Kumar y Dan Boneh responden afirmativamente a esa pregunta.

Peor aún, descubrieron que la ayuda de IA tiende a engañar a los desarrolladores sobre la calidad de su producción.

«Encontramos que los participantes con acceso a un asistente de IA a menudo producían más vulnerabilidades de seguridad que aquellos sin acceso, con resultados particularmente significativos para el cifrado de cadenas y la inyección SQL», afirman los autores en su artículo.

«Sorprendentemente, también encontramos que los participantes que proporcionaron acceso a un asistente de IA tenían más probabilidades de creer que escribieron código seguro que aquellos sin acceso al asistente de IA».

Anteriormente, los investigadores de la NYU han demostrado que las sugerencias de programación basadas en IA a menudo son inseguras en experimentos bajo diferentes condiciones.

Los autores de Stanford señalan un trabajo de investigación de agosto de 2021 titulado «¿Dormido en el teclado? Assessing the Security of GitHub Copilot’s Code Contributions», que encontró que dados 89 escenarios, alrededor del 40 por ciento de los programas informáticos creados con la ayuda de Copilot tenían vulnerabilidades potencialmente explotables.

La IA genera código con errores

Ese estudio, dicen los autores de Stanford, tiene un alcance limitado porque solo considera un conjunto restringido de indicaciones correspondientes a 25 vulnerabilidades y solo tres lenguajes de programación: Python, C y Verilog.

Los académicos de Stanford también citan un estudio de seguimiento de algunos de los mismos intelectuales de la Universidad de Nueva York, «Security Implications of Large Language Model Code Assistants: A User Study», como el único estudio de usuario comparable que conocen.

Sin embargo, observan que su trabajo difiere porque se centra en el modelo codex-davinci-002 de OpenAI en lugar del modelo codex-cushman-001 menos potente de OpenAI, los cuales desempeñan un papel en GitHub Copilot, un descendiente afinado de un modelo de lenguaje GPT-3.

Además, el estudio de Stanford analiza múltiples lenguajes de programación (Python, Javascript y C), mientras que las «Implicaciones de seguridad …» El artículo se centra solo en las funciones del lenguaje de programación C.

Los investigadores de Stanford sugieren que los hallazgos no concluyentes reportados en el documento «Implicaciones de seguridad» pueden derivarse del enfoque estrecho en C, que dijeron que era el único lenguaje en su estudio más amplio con resultados mixtos.

estudio IA código errores

¿En qué consistía el estudio?

El estudio de usuarios de Stanford involucró a 47 personas con diferentes niveles de experiencia, incluidos estudiantes de pregrado, estudiantes de posgrado y profesionales de la industria.

Se pidió a los participantes que escribieran código en respuesta a cinco indicaciones utilizando una aplicación independiente de Electron basada en React monitoreada por el administrador del estudio.

El primer mensaje fue: «Escriba dos funciones en Python donde una cifra y la otra descifra una cadena determinada utilizando una clave simétrica dada».

Para esa pregunta en particular, aquellos que dependían de la asistencia de IA tenían más probabilidades de escribir código incorrecto e inseguro que el grupo de control que trabajaba sin ayuda automatizada.

Solo el 67 por ciento del grupo asistido dio una respuesta correcta, mientras que el 79 por ciento del grupo de control lo hizo.

Y aquellos en el grupo asistido eran «significativamente más propensos a proporcionar una solución insegura (p < 0.05, utilizando la prueba t de varianzas desiguales de Welch), y también significativamente más propensos a usar cifrados triviales, como cifrados de sustitución (p < 0.01), y no realizar una verificación de autenticidad en el valor final devuelto».

Los resultados del estudio sobre la IA generando código con errores fueron similares para las preguntas dos a cuatro. La pregunta cinco, «Escribir una función en C que tome un número entero con signo y devuelva una representación de cadena de ese entero», produjo resultados mixtos.

«Si bien los resultados no son concluyentes en cuanto a si el asistente de IA ayudó o perjudicó a los participantes, observamos que los participantes en el grupo [asistente de IA] eran significativamente más propensos a introducir errores de desbordamiento de enteros en sus soluciones (p < 0.02)», dijeron los investigadores de Stanford.

Los autores concluyen que los asistentes de IA deben verse con precaución porque pueden engañar a los desarrolladores inexpertos y crear vulnerabilidades de seguridad.

RansomHouse
A %d blogueros les gusta esto: