MENU

Les LLM utilisés pour coder peuvent introduire de graves erreurs

Les LLM utilisés pour coder peuvent introduire de graves erreurs

Technologies |
Par Jean-Pierre Joosting, A Delapalisse



Dans l’une des études les plus complètes, les chercheurs de l’UTSA ont démontré comment une erreur particulière pouvait causer de graves problèmes aux programmeurs qui utilisent l’IA, en particulier les LLM, pour les aider à écrire leur code.

Les hallucinations dans les LLM se produisent lorsque le modèle produit un contenu qui est factuellement incorrect, absurde ou complètement sans rapport avec la tâche d’entrée. La plupart des recherches actuelles se sont principalement concentrées sur les hallucinations dans les tâches classiques de génération et de prédiction du langage naturel, telles que la traduction automatique, le résumé et l’intelligence artificielle conversationnelle. Cependant, l’équipe de recherche s’est concentrée sur les hallucinations de paquets, qui se produisent lorsqu’un LLM génère ou recommande l’utilisation d’une bibliothèque logicielle tierce qui n’existe pas. Ce qui fait des hallucinations de paquets un domaine de recherche fascinant, c’est la façon dont quelque chose d’aussi simple – une simple commande de tous les jours – peut entraîner de graves risques de sécurité.

Joe Spracklen, doctorant en informatique à l’UTSA, a dirigé l’étude sur la manière dont les grands modèles de langage (LLM) génèrent fréquemment des codes non sécurisés. « Il n’y a pas besoin d’un ensemble de circonstances alambiquées ou d’une chose obscure pour que cela se produise », a déclaré M. Spracklen. « Il suffit de taper une commande que la plupart des personnes travaillant dans ces langages de programmation tapent quotidiennement. C’est tout ce qu’il faut. C’est très direct et très simple ».

« Il est également omniprésent », a-t-il ajouté. « Vous pouvez faire très peu de choses avec votre langage de codage Python de base. Il vous faudrait beaucoup de temps pour écrire le code vous-même, il est donc universel de s’appuyer sur des logiciels libres pour étendre les capacités de votre langage de programmation afin d’accomplir des tâches spécifiques ».

Les LLM sont de plus en plus populaires auprès des développeurs pour les aider à assembler des programmes. Selon l’étude, jusqu’à 97 % des développeurs de logiciels intègrent l’IA générative dans leur flux de travail, et 30 % du code écrit aujourd’hui est généré par l’IA. En outre, de nombreux langages de programmation populaires, comme PyPI pour Python et npm pour JavaScript, s’appuient sur un dépôt de paquets centralisé. Ces référentiels étant souvent ouverts, des acteurs malveillants peuvent télécharger des codes malveillants déguisés en paquets légitimes.

Depuis des années, les pirates utilisent diverses astuces pour inciter les utilisateurs à installer leurs logiciels malveillants. Les hallucinations de colis sont la dernière tactique en date.

Selon l’un des chercheurs, le professeur associé Murtuza Jadliwala, directeur du SPriTELab (Security, Privacy, Trust, and Ethics in Computing Research Lab) : « Supposons que je demande à ChatGPT de m’aider à écrire un code et qu’il le fasse. Maintenant, disons que le code généré inclut un lien vers un paquetage, que je lui fais confiance et que j’exécute le code, mais que le paquetage n’existe pas, qu’il s’agit d’un paquetage halluciné. Un adversaire/hacker astucieux pourrait voir ce comportement (du LLM) et réaliser que le LLM dit aux gens d’utiliser ce paquet inexistant, ce paquet halluciné. L’adversaire peut alors créer trivialement un nouveau paquet avec le même nom que le paquet halluciné (recommandé par le LLM) et y injecter du mauvais code. La prochaine fois que le LLM recommande le même paquet dans le code généré et qu’un utilisateur peu méfiant exécute le code, ce paquet malveillant est téléchargé et exécuté sur la machine de l’utilisateur », a expliqué M. Jadliwala.

Les chercheurs de l’UTSA ont évalué l’occurrence des hallucinations de paquets dans différents langages de programmation, réglages et paramètres, en explorant la probabilité de recommandations erronées de paquets et en identifiant les causes profondes.

Les chercheurs de l’UTSA ont effectué 30 tests différents et ont découvert que 440 445 des 2,23 millions d’échantillons de code générés en Python et en JavaScript à l’aide de modèles LLM faisaient référence à des paquets hallucinés. Parmi les LLM testés, l’étude note que « les modèles de la série GPT sont quatre fois moins susceptibles de générer des paquets hallucinés que les modèles open-source, avec un taux d’hallucination de 5,2 % contre 21,7 % ». Les chercheurs ont également constaté que le code Python était moins sujet aux hallucinations que le code JavaScript.

Bien que le recoupement des paquets générés avec une liste maîtresse puisse contribuer à atténuer les hallucinations, les chercheurs de l’UTSA affirment que la meilleure solution consiste à s’attaquer aux fondements des LLM au cours de leur propre développement. L’équipe a partagé ses conclusions avec des fournisseurs de modèles, notamment OpenAI, Meta, DeepSeek et Mistral AI.

Trois autres chercheurs de l’UTSA ont participé à cette collaboration multi-institutionnelle : le doctorant A.H.M. Nazmus Sakib, le chercheur postdoctoral Raveen Wijewickrama et le professeur associé Murtuza Jadliwala, directeur du SPriTELab (laboratoire de recherche sur la sécurité, la vie privée, la confiance et l’éthique en informatique). Les autres collaborateurs étaient Anindya Maita de l’université d’Oklahoma (ancien chercheur postdoctoral de l’UTSA) et Bimal Viswanath de Virginia Tech.

DOI: https://doi.org/10.48550/arXiv.2406.10279

Si vous avez apprécié cet article, vous aimerez les suivants : ne les manquez pas en vous abonnant à :    ECI sur Google News

Partager:

Articles liés
10s