Ciência e tecnologia

As alucinações de código de IA aumentam o risco de ataques de ‘confusão do pacote’

Código do computador gerado pela AI está repleto de referências a bibliotecas de terceiros inexistentes, criando uma oportunidade de ouro para ataques de cadeia de suprimentos que envenenam programas legítimos com pacotes maliciosos que podem roubar dados, plantar backdoors e realizar outras ações nefastas, mostram pesquisas recém-publicadas.

O estudo, que utilizou 16 dos modelos de linguagem grandes mais utilizados para gerar 576.000 amostras de código, descobriu que 440.000 das dependências do pacote que eles continham eram “alucinadas”, o que significa que eram inexistentes. Os modelos de código aberto alucinaram mais, com 21 % das dependências vinculadas a bibliotecas inexistentes. Uma dependência é um componente de código essencial que uma peça separada de código exige para funcionar corretamente. As dependências salvam desenvolvedores o aborrecimento de reescrever o código e são uma parte essencial da moderna cadeia de suprimentos de software.

Flashbacks de alucinação de pacote

Essas dependências inexistentes representam uma ameaça à cadeia de suprimentos de software, exacerbando os chamados ataques de confusão de dependência. Esses ataques funcionam causando um pacote de software para acessar a dependência de componentes errados, por exemplo, publicando um pacote malicioso e dando o mesmo nome que o legítimo, mas com um carimbo posterior. O software que depende do pacote, em alguns casos, escolherá a versão maliciosa e não a legítima, porque o primeiro parece ser mais recente.

Também conhecido como confusão de pacotes, essa forma de ataque era demonstrado pela primeira vez Em 2021, em uma exploração de prova de conceito que executou o código falsificado em redes pertencentes a algumas das maiores empresas do planeta, Apple, Microsoft e Tesla incluídas. É um tipo de técnica usada em ataques de cadeia de suprimentos de software, que visam envenenar o software em sua própria fonte, na tentativa de infectar todos os usuários a jusante.

“Depois que o atacante publica um pacote sob o nome alucinado, contendo algum código malicioso, eles confiam no modelo sugerindo esse nome para usuários desavisados”, Joseph Spracklen, Universidade do Texas no San Antonio Ph.D. estudante e pesquisador líder, disse à ARS por e -mail. “Se um usuário confiar na saída do LLM e instalar o pacote sem verificar cuidadosamente, a carga útil do invasor, oculta no pacote malicioso, seria executado no sistema do usuário”.

Na IA, as alucinações ocorrem quando um LLM produz saídas que são factualmente incorretas, sem sentido ou completamente não relacionadas à tarefa em que foi atribuída. As alucinações há muito tempo perseguem LLMs porque degradam sua utilidade e confiabilidade e se mostraram irritantemente difíceis de prever e remediar. Em um papel Programados para serem apresentados no Simpósio de Segurança Usenix 2025, eles apelidaram de fenômeno de “alucinação de pacote”.

Para o estudo, os pesquisadores fizeram 30 testes, 16 na linguagem de programação Python e 14 em JavaScript, que geraram 19.200 amostras de código por teste, para um total de 576.000 amostras de código. Dos 2,23 milhões de referências de pacotes contidas nessas amostras, 440.445, ou 19,7 %, apontaram para pacotes que não existiam. Entre essas 440.445 alucinações de pacotes, 205.474 tinham nomes de pacotes exclusivos.

Uma das coisas que torna as alucinações de pacotes potencialmente úteis nos ataques da cadeia de suprimentos é que 43 % das alucinações de pacotes foram repetidas em mais de 10 consultas. Além disso “, escreveram os pesquisadores,” 58 % das vezes, um pacote alucinado é repetido mais de uma vez em 10 iterações, o que mostra que a maioria das alucinações não é simplesmente erros aleatórios, mas um fenômeno repetível que os atores mais vulleres e que se parecem com mais valores que parecem mais valiosos.

Fonte

Artigos Relacionados

Botão Voltar ao Topo