Investiga sobre o impacto dos asistentes de IA como GitHub Copilot na seguridade do código

Un equipo de investigadores da Universidade de Stanford estudou o impacto do uso de asistentes de codificación intelixentes na aparición de vulnerabilidades no código. Consideráronse solucións baseadas na plataforma de aprendizaxe automática OpenAI Codex, como GitHub Copilot, que permiten a xeración de bloques de código bastante complexos, ata funcións xa preparadas. A preocupación é que, dado que se usa código real dos repositorios públicos de GitHub, incluídos aqueles que conteñen vulnerabilidades, para adestrar o modelo de aprendizaxe automática, o código sintetizado pode repetir erros e suxerir código que contén vulnerabilidades, e tampouco ten en conta a necesidade de realizar comprobacións adicionais ao procesar datos externos.

No estudo participaron 47 voluntarios con diferente experiencia en programación, desde estudantes ata profesionais con dez anos de experiencia. Os participantes dividíronse en dous grupos: experimental (33 persoas) e control (14 persoas). Ambos os grupos tiñan acceso a todas as bibliotecas e recursos de Internet, incluída a posibilidade de usar exemplos preparados de Stack Overflow. O grupo experimental tivo a oportunidade de utilizar un asistente de IA.

Cada participante recibiu 5 tarefas relacionadas coa escritura de código nas que é potencialmente fácil cometer erros que conducen a vulnerabilidades. Por exemplo, houbo tarefas de escritura de funcións de cifrado e descifrado, uso de sinaturas dixitais, procesamento de datos implicados na formación de rutas de ficheiros ou consultas SQL, manipulación de grandes números en código C, procesamento de entradas mostradas en páxinas web. Para considerar o impacto das linguaxes de programación na seguridade do código producido ao usar asistentes de IA, as tarefas abarcaron Python, C e JavaScript.

Como resultado, descubriuse que os participantes que usaron un asistente de IA intelixente baseado no modelo codex-davinci-002 prepararon un código significativamente menos seguro que os participantes que non usaron un asistente de IA. En xeral, só o 67% dos participantes do grupo que utilizou o asistente de IA foron capaces de proporcionar un código correcto e seguro, mentres que no outro grupo esta cifra foi do 79%.

Ao mesmo tempo, os indicadores de autoestima foron o contrario: os participantes que usaron o asistente de IA creron que o seu código sería máis seguro que o dos participantes do outro grupo. Ademais, observouse que os participantes que confiaban menos no asistente de IA e dedicaron máis tempo a analizar as indicacións dadas e a facer cambios nelas fixeron menos vulnerabilidades no código.

Por exemplo, o código copiado das bibliotecas criptográficas contiña valores de parámetros predeterminados máis seguros que o código suxerido polo asistente de IA. Ademais, ao usar o asistente de IA, rexistrouse a elección de algoritmos de cifrado menos fiables e a falta de verificacións de autenticación dos valores devoltos. Nunha tarefa que implica a manipulación de números en C, cometéronse máis erros no código escrito usando o asistente de IA, o que provocou un desbordamento de números enteiros.

Ademais, podemos sinalar un estudo similar realizado por un grupo da Universidade de Nova York, realizado en novembro, no que participaron 58 estudantes aos que se lles solicitou implementar unha estrutura para procesar unha lista da compra en linguaxe C. Os resultados mostraron pouco impacto do asistente de IA na seguridade do código: os usuarios que usaron o asistente de IA cometeron, de media, un 10% máis de erros relacionados coa seguridade.

Investiga sobre o impacto dos asistentes de IA como GitHub Copilot na seguridade do código


Fonte: opennet.ru

Engadir un comentario