Un papel (se abre en una pestaña nueva) por investigadores de la Universidad de Stanford descubrió que los codificadores que emplearon asistentes de inteligencia artificial como GitHub Copilot y Facebook InCoder en realidad terminaron escribiendo código menos seguro.
Además, estas herramientas también inducen a los desarrolladores a una falsa sensación de seguridad, y muchos creen que producen un mejor código utilizando la ayuda.
Casi 50 sujetos, cada uno con diferentes niveles de experiencia, recibieron cinco tareas de codificación, utilizando varios idiomas, algunos con la ayuda de una herramienta de inteligencia artificial y otros sin ninguna ayuda.
juegos de lenguaje
Los autores del artículo, Neil Perry, Megha Srivastava, Deepak Kumar y Dan Boneh, afirmaron que hubo «resultados particularmente significativos para el cifrado de cadenas y la inyección SQL».
También hicieron referencia a investigaciones anteriores que encontraron que alrededor del 40 % de los programas creados con la ayuda de GitHub Copilot contenían código vulnerable, aunque un estudio de seguimiento encontró que los codificadores que usan modelos de lenguaje grande (LLM), como el códice code-cushman-001 de OpenAI: en el que se basa GitHub Copilot, solo resultó en un 10 % más de errores de seguridad críticos.
Sin embargo, los investigadores de Stanford explicaron que su propio estudio analizó el modelo codex-davinci-002 de OpenAI, un modelo más reciente que cushman, que también utiliza GitHub Copilot.
También analizaron múltiples lenguajes de programación, incluidos Python, Javascript y C, mientras que el otro artículo solo se centró en este último, que los autores atribuyen a sus hallazgos no concluyentes. De hecho, en el artículo de Stanford, aquellos que usaban IA para codificar en C tampoco dieron como resultado un número significativamente mayor de errores.
Una de las cinco tareas involucraba escribir un código en Python, y aquí era más probable que el código fuera erróneo e inseguro cuando se usaba un asistente de IA. Además, también eran «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 autores esperan que su estudio conduzca a más mejoras en la IA en lugar de descartar la tecnología por completo, debido a las posibles mejoras de productividad que pueden ofrecer tales herramientas. Simplemente sostienen que deben usarse con cautela, ya que pueden inducir a error a los programadores haciéndoles pensar que son infalibles.
También creen que los asistentes de IA pueden alentar a más personas a involucrarse en la codificación independientemente de su experiencia, quienes también pueden sentirse desanimados por el aire de vigilancia en torno a la disciplina.
A través del registro (se abre en una pestaña nueva)