
En juin 2023, le PDG de GitHub, Thomas Dohmke, a déclaré que son assistant d'IA de codage Copilot va écrire 80 % du code informatique « tôt ou tard ». Le mois dernier, le directeur technique de Microsoft, Kevin Scott, s'est montré encore plus optimiste. Kevin Scott a déclaré que 95 % du code informatique sera généré par l'IA d'ici à 5 ans, avant d'ajouter : « cela ne signifie pas que l'IA fera le travail des ingénieurs logiciels. L'humain restera aux commandes ».
Mais le code généré par l'IA introduit de nouveaux défis en matière de cybersécurité dans la chaîne d'approvisionnement en logiciels. Les assistants d'IA de codage ont l'habitude d'avoir des hallucinations. C'est-à-dire qu'ils suggèrent des codes qui intègrent des progiciels (ou paquets) qui n'existent pas.
Un groupe de chercheurs a publié en mars 2025 une étude sur les hallucinations de paquets. Ils ont examiné 576 000 échantillons de code Python et JavaScript générés par l'IA. Les chercheurs ont constaté qu'environ 5,2 % des suggestions de progiciels (ou paquets) provenant de modèles commerciaux comme ChatGPT-4 n'existaient pas, contre 21,7 % pour les modèles open source ou librement accessibles comme CodeLlama, DeepSeek, WizardCoder et Mistral.
L'exécution de ce code devrait entraîner une erreur lors de l'importation d'un paquet inexistant. Mais des acteurs de la menace ont compris qu'ils pouvaient détourner l'hallucination à leur profit. Le processus d'attaque le suivant : il leur suffit de créer un logiciel malveillant sous un nom de paquet halluciné par un modèle, puis de télécharger le mauvais paquet dans un registre ou un index de paquets comme PyPI ou npm pour le distribuer largement.
Par la suite, lorsqu'un assistant d'IA hallucine à nouveau le nom coopté, le processus d'installation des dépendances et d'exécution du code lancera le logiciel malveillant. Les chercheurs alertent sur ce phénomène et affirment qu'il s'agit d'une nouvelle menace pour la chaîne d'approvisionnement en logiciels.
Le slopsquatting : une menace pour la chaîne d'approvisionnement en logiciels
Seth Michael Larson, développeur en résidence à la Python Software Foundation, a baptisé ce phénomène « slopsquatting ». Un acteur de la menace crée un paquet malveillant sur des index tels que PyPI et npm en les nommant d'après des noms couramment inventés par l'IA. Il espère ensuite que quelqu'un, guidé par un assistant d'IA de codage, va copier-coller ce nom de paquet et tentera de l'installer sans se rendre compte qu'il s'agit d'un faux paquet.
Il s'agit d'une variante du typosquatting (typosquattage). La différence est que le typosquattage s'appuie sur les fautes d'orthographe des utilisateurs, tandis que le slopsquatting s'appuie sur les erreurs de l'IA. « Slop » est un terme péjoratif courant utilisé pour désigner les résultats d'un modèle d'IA.
Dans le cadre de l'étude susmentionnée, les chercheurs ont constaté que la récurrence semble suivre un modèle bimodal. Certains noms hallucinés apparaissent à plusieurs reprises lorsque les invites sont relancées, tandis que d'autres disparaissent complètement, ce qui suggère que certaines invites produisent de manière fiable les mêmes paquets fantômes. Les chercheurs affirment avoir examiné plus de 200 000 paquets dans le cadre de leur étude.
Les chercheurs ont constaté qu'en relançant dix fois la même invite déclenchant des hallucinations, 43 % des paquets hallucinés étaient répétés à chaque fois et 39 % ne réapparaissaient jamais. L'équipe de chercheurs a également constaté qu'environ 38 % des noms de paquets hallucinés semblaient inspirés de paquets réels, que 13 % étaient le résultat de fautes de frappe et que le reste de ces paquets, soit 51 %, était complètement fabriqué.
Bien qu'il n'y ait aucun signe que les attaquants ont commencé à tirer parti du slopsquatting, la société de cybersécurité Socket avertie que les noms de paquets hallucinés sont courants, répétables et sémantiquement plausibles, créant une surface d'attaque prévisible qui pourrait être facilement militarisée.

Selon Seth Larson, il existe de nombreuses raisons pour lesquelles un développeur peut tenter d'installer un paquet qui n'existe pas. Le développeur cite notamment des exemples tes qu'une erreur de frappe dans le nom du paquet, l'installation incorrecte de paquets internes sans vérifier si ces noms existent déjà dans un index public (confusion des dépendances), des différences entre le nom du paquet et le nom du module, et ainsi de suite.
Confusion interlinguistique et paquets supprimés
Dans le cadre de leur étude, les chercheurs ont également cherché à savoir si les paquets Python hallucinés correspondaient parfois à des paquets valides dans d'autres écosystèmes. Ils ont constaté que 8,7 % des paquets Python hallucinés par les modèles d'IA étaient en fait des paquets npm (JavaScript) valides, ce qui suggère que les modèles confondent parfois les langages de programmation lorsqu'ils suggèrent des dépendances aux utilisateurs.
Ils ont aussi examiné si les paquets hallucinés étaient auparavant réels, mais avaient été supprimés de dépôts tels que PyPI. La réponse est : pas vraiment. Seul 0,17 % des noms hallucinés correspondent à des paquets supprimés de PyPI entre 2020 et 2022. La grande majorité d'entre eux étaient entièrement fictifs.
Si un seul paquet halluciné est largement recommandé par les outils d'IA et qu'un attaquant a enregistré ce nom, le potentiel de compromission à grande échelle est réel. Et étant donné que de nombreux développeurs font confiance aux résultats des outils d'IA sans validation rigoureuse, la fenêtre d'opportunité est grande ouverte. L'hallucination est l'un des plus grands défis de l'IA et certains chercheurs pensent que le problème pourrait être insoluble.
« Nous assistons à un véritable changement dans la manière dont les développeurs écrivent le code », a déclaré Feross Aboukhadijeh, PDG de la société de sécurité Socket. Feross Aboukhadijeh précise que les faux paquets recommandés par les assistants d'IA de codage peuvent être très convaincants.

Dans le cadre de leur étude, les chercheurs ont constaté que l'abaissement des paramètres de « température » de l'IA (moins de hasard) réduit les hallucinations. Pour les adeptes du codage assisté par l'IA ou du vibe coding, il s'agit d'un facteur important à prendre en compte. Enfin, il est prudent de toujours tester le code généré par l'IA dans un environnement sûr et isolé avant de l'exécuter ou de le déployer dans des environnements de production.
L'essor du vibe coding rend cette pratique encore plus dangereuse
[URL="https:/...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.