
Ferramentas de desenvolvimento baseadas em inteligência artificial, cada vez mais populares entre programadores, estão gerando código inseguro em aproximadamente 45% dos casos, segundo um novo estudo publicado por pesquisadores especializados em segurança cibernética e engenharia de software. A pesquisa analisou o comportamento de modelos de IA amplamente utilizados na geração de código, como assistentes de programação baseados em grandes modelos de linguagem, quando confrontados com tarefas que envolviam vulnerabilidades conhecidas.
O estudo foi conduzido com 80 tarefas de programação específicas, abrangendo quatro linguagens populares — Python, Java, JavaScript e C — e envolveu a criação de códigos que deveriam evitar falhas comuns, como SQL injection, cross-site scripting (XSS), log injection e uso de criptografia insegura.
Os resultados chamam atenção pela disparidade entre linguagens. O Python, frequentemente citado como mais amigável para aprendizado de máquina e segurança, apresentou a maior taxa média de segurança, com 61,7% das respostas geradas consideradas seguras. Por outro lado, o Java teve o pior desempenho: apenas 28,5% das sugestões de código foram consideradas seguras, evidenciando dificuldades dos modelos ao lidar com certas estruturas e APIs da linguagem.
Quando analisadas as falhas por tipo, a taxa de acerto também variou bastante. As ferramentas baseadas em IA se saíram relativamente bem ao evitar vulnerabilidades relacionadas à criptografia insegura, com 85,6% de taxa de segurança, e SQL injection, com 80,4% de sucesso. No entanto, o desempenho caiu drasticamente em tarefas envolvendo cross-site scripting (XSS), onde apenas 13,5% das soluções foram seguras, e log injection, com 12% de taxa de sucesso.
Os pesquisadores apontam que, embora os assistentes de programação com IA tenham potencial para acelerar o desenvolvimento e sugerir boas práticas, eles não devem ser tratados como fontes confiáveis de segurança de software. Em muitos casos, o código gerado parecia funcional e até elegante, mas continha vulnerabilidades graves que poderiam ser exploradas por atacantes.
Além disso, foi observado que os modelos têm tendência a gerar padrões de código inseguros, principalmente quando a descrição do problema não enfatiza diretamente aspectos de segurança. Isso sugere que o contexto fornecido pelo usuário influencia fortemente a qualidade e a segurança da resposta.
Outro ponto relevante é que, embora a maioria dos modelos possuam filtros ou advertências sobre segurança, esses mecanismos nem sempre são eficazes. Em alguns casos, o sistema chegou a incluir comentários no código reconhecendo possíveis riscos, mas ainda assim apresentou soluções vulneráveis.
Especialistas destacam que, à medida que essas ferramentas se tornam mais integradas ao fluxo de trabalho de desenvolvedores, há um risco crescente de proliferação de código inseguro em projetos corporativos e de código aberto. Eles recomendam o uso de validações manuais, análise estática e revisão por especialistas em segurança como etapas indispensáveis no uso dessas tecnologias.
O estudo reforça o alerta para empresas e desenvolvedores que desejam adotar IA em seus processos: embora úteis, essas ferramentas não substituem o conhecimento humano e práticas sólidas de engenharia de software, principalmente quando o tema é segurança.
Você já usou IA para gerar código? Acha que essas ferramentas ajudam ou atrapalham a segurança dos projetos? Compartilhe sua experiência!
Fontes utilizadas:
Relatório acadêmico de engenharia de software (2024), IEEE Security & Privacy, The Register, TechCrunch
Nota de transparência:
Esta matéria foi produzida com base em dados verificados de um estudo acadêmico publicado em 2024 sobre segurança em ferramentas de geração de código com IA. Os números apresentados foram confirmados com fontes técnicas e veículos especializados em cibersegurança e programação.