Explorando el impacto de los asistentes de IA como GitHub Copilot en Code Security

Un grupo de investigadores de la Universidad de Stanford estudió el impacto del uso de asistentes inteligentes al escribir código sobre la aparición de vulnerabilidades en el código. Consideramos soluciones basadas en la plataforma de aprendizaje automático OpenAI Codex, como GitHub Copilot, que le permiten generar bloques de código bastante complejos, hasta funciones listas para usar. Las preocupaciones están relacionadas con el hecho de que, dado que se usó código real de los repositorios públicos de GitHub, incluidos los que contienen vulnerabilidades, para entrenar el modelo de aprendizaje automático, el código sintetizado puede repetir errores y sugerir código que contiene vulnerabilidades, y tampoco tiene en cuenta la necesidad de realizar comprobaciones adicionales al procesar datos externos.

El estudio involucró a 47 voluntarios con diferente experiencia en programación, desde estudiantes hasta profesionales con diez años de experiencia. Los participantes se dividieron en dos grupos: experimental (33 personas) y control (14 personas). Ambos grupos tenían acceso a cualquier biblioteca y recurso de Internet, incluido el uso de ejemplos listos para usar de Stack Overflow. Al grupo experimental se le dio la oportunidad de utilizar el asistente de IA.

Cada participante recibió 5 tareas relacionadas con la escritura de código en las que es potencialmente fácil cometer errores que conducen a vulnerabilidades. Por ejemplo, había tareas de escritura de funciones de cifrado y descifrado, uso de firmas digitales, procesamiento de datos involucrados en la formación de rutas de archivos o consultas SQL, manipulación de grandes números en código C, procesamiento de entradas mostradas en páginas web. Para considerar el impacto de los lenguajes de programación en la seguridad del código obtenido al usar asistentes de IA, las tareas cubrieron Python, C y JavaScript.

Como resultado, se encontró que los participantes que usaron un asistente de IA inteligente basado en el modelo codex-davinci-002 produjeron un código significativamente menos seguro que los participantes que no usaron un asistente de IA. En general, solo el 67 % de los participantes del grupo que utilizó el asistente de IA pudo proporcionar un código correcto y seguro, mientras que en el otro grupo esta cifra fue del 79 %.

Al mismo tiempo, los indicadores de autoestima se revirtieron: los participantes que usaron el asistente de IA creían que su código sería más seguro que el de los participantes del otro grupo. Además, se observó que los participantes que confiaban menos en el asistente de IA y pasaban más tiempo analizando y haciendo cambios en las sugerencias dadas, generaron menos vulnerabilidades en el código.

Por ejemplo, el código copiado de las bibliotecas criptográficas contenía valores de parámetros predeterminados más seguros que el código sugerido por el asistente de IA. Además, al usar el asistente de IA, se corrigieron la elección de algoritmos de cifrado menos confiables y la ausencia de autenticación de los valores devueltos. En la tarea de manipulación del número C, el código escrito con el asistente de IA tuvo más errores que resultaron en un desbordamiento de enteros.

Además, se puede señalar un estudio similar realizado por un grupo de la Universidad de Nueva York, realizado en noviembre con la participación de 58 estudiantes, a quienes se les pidió implementar una estructura para procesar una lista de compras en C. Los resultados mostraron un impacto insignificante del asistente de IA en la seguridad del código: los usuarios que usaron el asistente de IA cometieron, en promedio, aproximadamente un 10 % más de errores relacionados con la seguridad.

Explorando el impacto de los asistentes de IA como GitHub Copilot en Code Security


Fuente: opennet.ru

Añadir un comentario