Sécurité informatique Les hallucinations de l'IA constituent une nouvelle...

Les hallucinations de l'IA constituent une nouvelle menace pour la chaîne d'approvisionnement des logiciels

Dans une nouvelle avancée inquiétante pour les développeurs et les organisations qui s'appuient sur l'intelligence artificielle pour coder, des chercheurs ont découvert une nouvelle menace pour la chaîne d'approvisionnement, créée par des hallucinations de l'IA dans les modèles de génération de code. Ce nouveau vecteur d'attaque, baptisé « slopsquatting » , pourrait permettre à des acteurs malveillants d'infiltrer les écosystèmes logiciels en exploitant des packages fictifs hallucinés par les grands modèles de langage (LLM).

Le danger réside dans le fait que les LLM « hallucinent » souvent les packages, suggérant ou insérant des références à des dépendances logicielles qui n'existent tout simplement pas. Une étude menée conjointement par l'Université du Texas à San Antonio, l'Université d'Oklahoma et Virginia Tech a révélé qu'aucun des 16 LLM populaires testés n'était à l'abri de ce phénomène.

Qu'est-ce que le Slopsquatting et comment fonctionne-t-il ?

Le slopsquatting exploite cette faille hallucinatoire et la transforme en arme. Lorsqu'un LLM suggère un package inexistant lors de la génération de code, les cybercriminels peuvent rapidement enregistrer un package malveillant sous ce nom. Une fois publié, tout développeur acceptant le code généré par l'IA peut importer et exécuter le package malveillant sans le savoir. Cela compromet non seulement le projet lui-même, mais peut également se propager à l'ensemble de la chaîne d'approvisionnement logicielle si le code infecté est réutilisé ou partagé.

L'étude a révélé que sur 2,23 millions de packages générés dans le cadre de scénarios de test Python et JavaScript, près de 440 000, soit environ 19,7 %, étaient des hallucinations. Parmi eux, 205 474 étaient des noms de packages fictifs uniques. La plupart des packages hallucinés (81 %) étaient spécifiques au modèle qui les avait générés, ce qui témoigne de comportements incohérents entre les différents LLM.

Les modèles d'IA commerciaux ont généré des paquets hallucinés dans au moins 5,2 % des cas, tandis que les modèles open source ont obtenu des résultats bien pires, avec des taux d'hallucinations atteignant 21,7 %. Il est alarmant de constater que ces erreurs n'étaient pas de simples hasards. Plus de la moitié des paquets hallucinés (58 %) sont apparus à plusieurs reprises en seulement 10 itérations, ce qui montre une nette tendance à la persistance.

Le risque croissant du code généré par l'IA dans le développement de logiciels

Si des études antérieures ont reconnu la menace du typosquatting (où les attaquants exploitent des noms de paquets erronés ou trompeurs), cette nouvelle attaque de slopsquatting représente une variante négligée et potentiellement bien plus dangereuse. Contrairement au typosquatting, qui exploite l'erreur humaine, le slopsquatting exploite l'autorité et la fiabilité perçues du code généré par l'IA.

Le plus fascinant, et tout aussi inquiétant, est peut-être la découverte par les chercheurs que les LLM étaient capables de reconnaître nombre de leurs propres hallucinations. Cela suggère un potentiel d'autorégulation inexploité qui pourrait être utilisé dans les futurs mécanismes de sécurité. Cela laisse également entrevoir la possibilité de déployer des outils de détection intégrés au modèle pour empêcher la diffusion de code défectueux ou dangereux.

Comment les développeurs peuvent se protéger contre les hallucinations des packages d'IA

Pour contrer cette menace, les chercheurs proposent une série de mesures d'atténuation. Celles-ci incluent des techniques avancées d'ingénierie des invites, telles que la génération augmentée de récupération (RAG), le réglage des invites et l'auto-affinage. Côté développement de modèles, des stratégies comme le réglage fin supervisé et l'amélioration des algorithmes de décodage pourraient contribuer à réduire les taux d'hallucinations.

Alors que l'IA générative continue de transformer le développement logiciel, cette étude nous rappelle brutalement que la commodité peut avoir un prix. Les développeurs doivent rester vigilants et critiques à l'égard du code généré par l'IA, notamment en matière de gestion des dépendances. L'intégration d'outils d'analyse statique et de vérifications manuelles avant l'installation des packages recommandés est désormais plus importante que jamais.

Le paysage des menaces évolue rapidement, et comme le montre cette étude, nos défenses doivent évoluer aussi. Ce qui semblait autrefois relever de la science-fiction – une IA imaginant des logiciels inexistants – est devenu un problème de cybersécurité bien réel, aux implications considérables.

Chargement...