Um estudo recente descobriu que os engenheiros de software que usam sistemas de IA geradores de código têm maior probabilidade de causar vulnerabilidades de segurança nos aplicativos que desenvolvem. O artigo, de coautoria de uma equipe de pesquisadores afiliados a Stanford, destaca as possíveis armadilhas dos sistemas de geração de código, à medida que fornecedores como o GitHub começam a comercializá-los a sério.

“Atualmente, os sistemas de geração de código não substituem os desenvolvedores humanos”, disse Neil Perry, candidato a PhD em Stanford e coautor principal do estudo, ao TechCrunch em uma entrevista por e-mail. “Os desenvolvedores que os usam para concluir tarefas fora de suas próprias áreas de especialização devem se preocupar, e aqueles que os usam para acelerar tarefas nas quais já são qualificados devem verificar cuidadosamente as saídas e o contexto em que são usados ​​no geral. projeto.”

O estudo de Stanford analisou especificamente o Codex, o sistema de geração de código de IA desenvolvido pelo laboratório de pesquisa OpenAI, com sede em San Francisco. (O Codex capacita o Copilot.) Os pesquisadores recrutaram 47 desenvolvedores – desde estudantes de graduação até profissionais do setor com décadas de experiência em programação – para usar o Codex para resolver problemas relacionados à segurança em linguagens de programação, incluindo Python, JavaScript e C.

O Codex foi treinado em bilhões de linhas de código público para sugerir linhas adicionais de código e funções, dado o contexto do código existente. O sistema apresenta uma abordagem ou solução de programação em resposta a uma descrição do que um desenvolvedor deseja realizar (por exemplo, “Diga olá, mundo”), baseando-se em sua base de conhecimento e no contexto atual.

De acordo com os pesquisadores, os participantes do estudo que tiveram acesso ao Codex eram mais propensos a escrever soluções incorretas e “inseguras” (no sentido de segurança cibernética) para problemas de programação em comparação com um grupo de controle. Ainda mais preocupante, eles eram mais propensos a dizer que suas respostas inseguras eram seguras em comparação com as pessoas no controle.

Megha Srivastava, estudante de pós-graduação em Stanford e segunda coautora do estudo, enfatizou que as descobertas não são uma condenação completa do Codex e de outros sistemas geradores de código. Os participantes do estudo não tinham experiência em segurança que lhes permitisse identificar melhor as vulnerabilidades de código, por exemplo. Além disso, Srivastava acredita que os sistemas de geração de código são úteis de forma confiável para tarefas que não são de alto risco, como código de pesquisa exploratória, e podem, com um ajuste fino, melhorar suas sugestões de codificação.

“As empresas que desenvolvem seus próprios [sistemas], talvez mais treinadas em seu código-fonte interno, podem se sair melhor, pois o modelo pode ser incentivado a gerar saídas mais alinhadas com suas práticas de codificação e segurança”, disse Srivastava.

Então, como fornecedores como o GitHub podem impedir que falhas de segurança sejam introduzidas por desenvolvedores usando seus sistemas de IA geradores de código? Os coautores têm algumas ideias, incluindo um mecanismo para “refinar” os prompts dos usuários para torná-los mais seguros – semelhante a um supervisor examinando e revisando rascunhos de código. Eles também sugerem que os desenvolvedores de bibliotecas de criptografia garantam que suas configurações padrão sejam seguras, já que os sistemas de geração de código tendem a seguir valores padrão que nem sempre estão livres de exploits.

“As ferramentas de geração de código de assistente de IA são um desenvolvimento realmente empolgante e é compreensível que tantas pessoas estejam ansiosas para usá-las. No entanto, essas ferramentas trazem problemas a serem considerados no futuro… Nosso objetivo é fazer uma declaração mais ampla sobre o uso de modelos de geração de código”, disse Perry. “Mais trabalho precisa ser feito para explorar esses problemas e desenvolver técnicas para resolvê-los.”

Para Perry, a introdução de vulnerabilidades de segurança não é a única falha dos sistemas de IA geradores de código. Pelo menos uma parte do código no qual o Codex foi treinado está sob uma licença restritiva; os usuários puderam solicitar que o Copilot gerasse código do Quake, trechos de código em bases de código pessoais e códigos de exemplo de livros como “Mastering JavaScript” e “Think JavaScript”. Alguns especialistas jurídicos argumentaram que o Copilot poderia colocar empresas e desenvolvedores em risco se involuntariamente incorporassem sugestões com direitos autorais da ferramenta em seu software de produção.

A tentativa do GitHub de corrigir isso é um filtro, introduzido pela primeira vez na plataforma Copilot em junho, que verifica as sugestões de código com o código circundante de cerca de 150 caracteres em relação ao código público do GitHub e oculta as sugestões se houver uma correspondência ou “quase correspondência”. Mas é uma medida imperfeita. Tim Davis, professor de ciência da computação na Texas A&M University, descobriu que ativar o filtro fazia com que o Copilot emitisse grandes blocos de seu código protegido por direitos autorais, incluindo todos os textos de atribuição e licença.

“Por essas razões expressamos cautela em relação ao uso dessas ferramentas para substituir a educação de desenvolvedores iniciantes sobre práticas de codificação fortes”, acrescentou Srivastava.

Fonte Leia mais: https://techcrunch.com/2022/12/28/code-generating-ai-can-introduce-security-vulnerabilities-study-finds/

Deixe um comentário