Estudo sobre vulnerabilidades no uso de código de escrita de IA

AI

Este trabalho é considerado importante, pois permite uma melhor compreensão de como as ferramentas assistentes de IA eventualmente levam os usuários a escrever códigos inseguros.

Recentemente, a notícia de que um grupo de pesquisadores da Universidade de Stanfordd estudou o impacto do uso de assistentes inteligentes ao escrever código em surgimento de vulnerabilidades No código.

É mencionado que eles foram considerados soluções baseadas na plataforma de aprendizado de máquina OpenAI Codex, como GitHub Copilot, que permitem ao usuário formar blocos de código bastante complexos, até funções prontas para uso.

Vale ressaltar que até hoje ainda há preocupações que estão relacionados com o fato de que, já que o código real dos repositórios GitHub públicos foi usado, incluindo aqueles que contêm vulnerabilidades, para treinar o modelo de aprendizado de máquina, o código sintetizado pode repetir erros e sugerir código que contém vulnerabilidades, e também não leva em consideração a necessidade de verificações adicionais ao processar dados externos.

O estudo envolveu 47 voluntários com diferentes experiências em programação, de estudantes a profissionais com dez anos de experiência. Os participantesEles foram divididos em dois grupos: experimental (33 pessoas) E controle (14 pessoas). Ambos os grupos tiveram acesso a quaisquer bibliotecas e recursos na Internet, incluindo o uso de exemplos prontos para uso do Stack Overflow. O grupo experimental teve a oportunidade de usar o assistente de IA.

Cada participante recebeu 5 tarefas relacionadas com a escrita de código onde é potencialmente fácil cometer erros que levam a vulnerabilidades. Por exemplo, havia tarefas escrevendo funções de criptografia e descriptografia, usando assinaturas digitais, processando dados envolvidos na formação de caminhos de arquivos ou consultas SQL, manipulando grandes números em código C, processando entradas exibidas em páginas da web.

Essas ferramentas são baseadas em modelos como OpenAI's Codex e Facebook's InCoder que são pré-treinados em grandes conjuntos de dados de código disponível publicamente (por exemplo, do GitHub), levantando uma variedade de preocupações de uso que vão desde autor de direitos autorais até implicações para vulnerabilidades de segurança. Embora trabalhos recentes tenham estudado esses riscos em cenários sintéticos menores, os riscos de segurança do código assistente de IA no contexto de como os desenvolvedores optam por usá-los não foram estudados extensivamente.

Para considerar o impacto das linguagens de programação na segurança do código obtido por meio de assistentes de IA, as tarefas abrangeram Python, C e JavaScript.

Como resultado, sime descobriu que os participantes que usaram um assistente de IA baseado em modelo inteligente codex-davinci-002 produziu código significativamente menos seguro do que os participantes que não usaram um assistente de IA. No geral, apenas 67% dos participantes do grupo que usou o assistente de IA conseguiram fornecer um código correto e seguro, enquanto no outro grupo esse número foi de 79%.

Ao mesmo tempo, os indicadores de segurança (autoestima) se inverteram: o os participantes que usaram o assistente de IA acreditaram que seu código seria mais seguro do que os participantes do outro grupo. Além disso, observou-se que os participantes que confiaram menos no assistente de IA e passaram mais tempo analisando e fazendo alterações nas dicas fornecidas geraram menos vulnerabilidades de código.

Por exemplo, o código copiado de bibliotecas criptográficas continham valores de parâmetro padrão mais seguro do que o código sugerido pelo assistente AI. Além disso, ao usar o assistente de IA, foi corrigida a escolha de algoritmos de criptografia menos confiáveis ​​e a falta de autenticação dos valores retornados. Na tarefa de manipulação de números C, o código escrito com o AI wizard teve mais erros que resultaram em um estouro inteiro.

Além disso, um estudo semelhante pode ser apontado por um grupo da New York University, realizado em novembro com a participação de 58 alunos, que foram solicitados a implementar uma estrutura para processar uma lista de compras em C. Os resultados mostraram pouco impacto do AI helper na segurança do código: os usuários que usaram o AI helper cometeram, em média, cerca de 10% a mais de erros relacionados à segurança.

Enfim sim você está interessado em saber mais sobre isso, você pode verificar os detalhes no link a seguir.