Recentemente, assistentes de programação de IA têm feito um enorme sucesso, alegando ajudar programadores a escrever código e aumentar a eficiência. Muitos programadores até os consideram "salvadores", desejando usá-los diariamente. No entanto, um estudo da Universidade de Stanford lançou uma água fria sobre esses "fãs fervorosos": assistentes de programação de IA podem ser um "pesadelo de segurança"!
Pesquisadores da Universidade de Stanford recrutaram 47 programadores para concluir cinco tarefas de programação relacionadas à segurança, abrangendo as linguagens Python, JavaScript e C. Os resultados revelaram que os programadores que usaram assistentes de IA escreveram códigos significativamente menos seguros!
Isso não é alarmismo. Um assistente de programação de IA é como um "estagiário não confiável", capaz de gerar códigos aparentemente corretos, mas completamente desprovido de conhecimento sobre segurança. Por exemplo, em tarefas de criptografia e descriptografia, o código gerado pelo assistente de IA poderia criptografar informações corretamente, mas não retornava as tags de autenticação necessárias. É como colocar uma fechadura em um cofre, mas não fornecer a chave, comprometendo significativamente a segurança.
Pior ainda, os programadores que usaram assistentes de IA tinham maior probabilidade de se sentirem seguros com seu código, como se estivessem sob o efeito de uma "droga", ignorando vulnerabilidades de segurança. Isso não é positivo, pois a superconfiança costuma levar a problemas de segurança ainda mais graves.
Os pesquisadores também descobriram que as instruções fornecidas pelos programadores aos assistentes de IA influenciam diretamente a segurança do código. Se os programadores descreverem as tarefas claramente e fornecerem funções auxiliares, o código gerado pelo assistente de IA será mais seguro. Mas, se os programadores dependerem excessivamente do assistente de IA, ou mesmo usarem o código gerado diretamente, estarão, na verdade, copiando e colando "vulnerabilidades de segurança" em seu próprio código, com consequências previsíveis.
Então, assistentes de programação de IA podem ser usados?
A resposta é: sim, mas com cautela! Os programadores não devem considerá-los uma "solução mágica" e não devem confiar cegamente neles. Ao usar assistentes de IA, os programadores devem manter a vigilância, inspecionar cuidadosamente o código e evitar vulnerabilidades de segurança.
Endereço do artigo: https://arxiv.org/pdf/2211.03622