Understanding the Impact of AI Code Assistants on Security API Usage: An Empirical Study
Este estudio empírico de 44 desarrolladores profesionales revela que, si bien GitHub Copilot mejora la corrección funcional y reduce marginalmente algunos patrones inseguros, no logra mejorar significativamente el uso de APIs de seguridad, dejando a menudo a los desarrolladores inconscientes de las vulnerabilidades restantes.
Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo
Imagina que estás construyendo un club secreto y necesitas instalar cerraduras de alta tecnología, alarmas y túneles secretos para mantener fuera a los intrusos. Estas cerraduras son como las APIs de Seguridad —herramientas especiales que los desarrolladores usan para proteger el software—. Pero aquí está el giro: estas cerraduras son complicadas. Si las instalas mal, el túnel "secreto" podría ser simplemente una puerta abierta de par en par para los hackers.
Ahora, imagina que tienes un asistente robot superinteligente llamado Copilot que puede escribir código por ti. Podrías pensar: "¡Genial, el robot conoce todas las reglas, así que mi club será la Fortaleza de la Soledad!". Pero un nuevo estudio realizado por Zahra Mousavi y su equipo en universidades y laboratorios de investigación en Australia decidió poner esta idea a prueba. No solo le pidieron al robot que construyera una cerradura; observaron a 44 desarrolladores profesionales reales intentando construir estas cerraduras, tanto con la ayuda del robot como sin ella.
Aquí está lo que encontraron, servido con una dosis de realidad.
El robot es un gran ayudante, pero un mal guardia de seguridad
Primero, la buena noticia: Copilot es un fantástico velocista. Cuando los desarrolladores tuvieron que construir una cerradura compleja (específicamente, un sistema Google OAuth para acceder a datos de usuario), el robot les ayudó a terminar el trabajo mucho más rápido.
- Sin el robot, solo el 45% de los desarrolladores (10 de 22) lograron que la cerradura funcionara.
- Con el robot, el 91% de los desarrolladores (20 de 22) lograron que funcionara.
- El robot también redujo el tiempo para completar la tarea compleja en un 63%, bajando el promedio de 62 minutos a 23 minutos.
Así que, si tu objetivo es solo construir la puerta y hacer que se mueva, el robot es una gran victoria.
Pero aquí está la trampa: Que la puerta esté construida no significa que esté cerrada con llave. De hecho, ninguno de los desarrolladores, ya fuera usando el robot o no, logró construir una cerradura totalmente segura para las tareas que se les dieron. Cada intento en las tareas evaluadas tenía al menos un fallo importante.
La trampa del "Confía en mí"
El estudio analizó dos tipos específicos de cerraduras: JSSE (para conexiones de internet seguras) y Google OAuth (para iniciar sesión en aplicaciones). Encontraron que el robot no solucionaba los problemas de seguridad; en muchos casos, simplemente ayudaba a construir las cerraduras rotas más rápido.
- El error de "Confiar en todos": Imagina a un guardia que deja pasar a cualquiera porque parece agradable. En el estudio, algunos desarrolladores (y el robot) configuraron el sistema para "confiar en todos los certificados". Esto es como decirle a tu guardia: "Si alguien muestra una identificación, déjalo pasar, incluso si es falsa". Este es un enorme agujero de seguridad.
- El error del "Código secreto": Algunos desarrolladores escribieron sus contraseñas secretas directamente en el código, como escribir la llave de tu casa debajo del felpudo. ¡El robot también sugirió esto a veces!
- El error de "No verificar": Al conectarse a un servidor, necesitas verificar si realmente estás hablando con la persona correcta. Muchas implementaciones omitieron este paso, dejando la puerta abierta para un atacante de "Hombre en el medio" (alguien que finge ser tu amigo para robarte tus cosas).
Los investigadores descubrieron que, aunque el robot ayudó a corregir algunos errores pequeños, no detuvo los grandes fallos de seguridad. De hecho, el 100% de las tareas evaluadas resultaron en código con problemas de seguridad. El robot no hizo que el código fuera más seguro que el de los humanos trabajando solos; simplemente hizo que el código inseguro apareciera más rápido.
El punto ciego humano
Esta es la parte más sorprendente de la historia. Los investigadores preguntaron a los desarrolladores: "¿Creen que su código es seguro?".
- A pesar de que ninguno del código era realmente seguro, la mayoría de los desarrolladores dijeron: "¡Sí, creo que resolví esto de forma segura!".
- Solo un puñado de personas se dio cuenta de que habían cometido un error.
- Al hablar con el robot, casi nadie preguntó: "Oye, ¿esto es seguro?". Solo preguntaron: "Haz que funcione".
Es como un grupo de personas construyendo un puente y pidiendo ayuda a un robot. El robot les ayuda a colocar los ladrillos rápidamente, pero nadie comprueba si el puente puede soportar peso. Cuando se les pregunta: "¿Creen que este puente aguantará?", la mayoría dice: "¡Claro!", aunque esté a punto de colapsar.
¿Podemos enseñar mejor al robot?
Los investigadores intentaron una cosa más. Pidieron a los desarrolladores que le dijeran específicamente al robot: "¡Oye, revisa esto por seguridad!" o "¡Eres un experto en seguridad, arregla esto!".
- Cuando lo hicieron, el robot sí corrigió algunos de los errores en la cerradura más simple (JSSE).
- Sin embargo, para la cerradura más compleja (OAuth), el robot seguía pasando por alto muchos agujeros de seguridad críticos, incluso cuando se le pedía que tuviera cuidado.
La conclusión
Este estudio sugiere que, si bien los asistentes de IA como Copilot son increíbles para ayudarnos a escribir código rápido y correctamente, no son un escudo mágico contra los hackers.
- El Robot: Excelente en velocidad y función, pero no es un experto en seguridad.
- Los Humanos: A menudo demasiado confiados en el robot y no verifican la seguridad por sí mismos.
- El Resultado: Estamos construyendo sistemas que parecen seguros pero que en realidad están llenos de agujeros.
Los investigadores concluyen que no podemos confiar solo en el robot para mantenernos seguros. Necesitamos ser nosotros quienes hagamos las preguntas difíciles de seguridad, verifiquemos el trabajo y nos aseguremos de que las "cerraduras" que construimos estén realmente cerradas. El robot es una herramienta poderosa, pero no es un reemplazo para una mente consciente de la seguridad.
¿Ahogado en artículos de tu campo?
Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.