Slopsquatting : quand l’IA invente des paquets et ouvre la voie aux pirates

Un pirate informatique utilisant une IA pour créer de faux paquets dans une attaque de slopsquatting

Les outils d’intelligence artificielle (IA) comme ChatGPT, GitHub Copilot ou Cursor sont devenus de véritables assistants pour les développeurs. Ils peuvent générer du code en quelques secondes, proposer des solutions à vos bugs, voire deviner ce que vous cherchez à faire. Pratique, n’est-ce pas ? Oui, mais pas sans risques…

Une récente étude a révélé un problème pour le moins inquiétant : ces IA ont tendance à halluciner. Et pas seulement des réponses floues. Non, elles peuvent littéralement inventer des noms de paquets Python ou JavaScript. Des bibliothèques qui n’existent pas, mais qui ont l’air tout à fait plausibles. Résultat ? Certains pirates flairent le bon filon et commencent à exploiter ces erreurs en créant de faux paquets malveillants. Ce nouveau type d’attaque porte un nom : slopsquatting.

On vous explique tout ça tranquillement dans cet article et surtout comment vous en protéger.

C’est quoi le slopsquatting ?

Le slopsquatting, c’est un petit cousin du typosquatting. Mais là où le typosquatting repose sur une faute de frappe humaine (du genre installer reqeusts au lieu de requests), le slopsquatting exploite directement les erreurs générées par l’IA.

En clair, lorsqu’un assistant IA génère du code, il peut vous proposer d’importer un paquet qui n’existe même pas. Et si ce nom est suffisamment crédible, un pirate peut anticiper le coup, publier un paquet malveillant avec ce nom sur PyPI ou npm, et attendre tranquillement que quelqu’un, quelque part, suive aveuglément les recommandations de son IA préférée.

C’est simple, sournois et potentiellement redoutable.

Schéma d'une attaque de slopsquatting exploitant une hallucination de paquet générée par une IA
Fonctionnement d’une attaque de slopsquatting – Source : étude « We Have a Package for You! », arXiv, 2025.

Les hallucinations des IA sont loin d’être rares

Une équipe de chercheurs s’est penchée sérieusement sur la question. Ils ont généré 576 000 extraits de code en Python et JavaScript à l’aide de 16 modèles d’IA, allant des stars commerciales comme ChatGPT 4.0 aux modèles open source comme CodeLlama ou DeepSeek.

Ainsi, près de 20 % des paquets suggérés n’existaient pas. Et dans certains cas, le taux d’hallucination dépassait un tiers des réponses. Oui, un tiers ! À ce niveau-là, ce n’est plus une hallucination, c’est un délire collectif.

Même les modèles réputés plus fiables, comme GPT-4 Turbo, ne sont pas irréprochables. Leur taux d’hallucination reste autour de 3,6 %, ce qui, à grande échelle, représente tout de même un sacré paquet de fausses bibliothèques.

Comparatif du taux d’hallucination des IA selon le modèle et le langage (Python et JavaScript)
Taux d’hallucination par modèle d’IA en Python (en bleu) et JavaScript (en orange). Source : étude « We Have a Package for You! », arXiv, 2025.

Si vous voulez aller plus loin, voici les données complètes extraites de l’étude, avec le détail des taux d’hallucination selon le modèle, le langage (Python ou JavaScript) et le type de prompt utilisé (généré, Stack Overflow ou pip/npm install)

Des noms plausibles… donc piégeux

Ce qui rend le slopsquatting particulièrement dangereux, c’est que les noms de paquets halluciné par l’IA sonnent juste. Dans l’étude, 38 % de ces faux paquets ressemblaient beaucoup à de vrais – même structure, même logique de nommage. 13 % étaient des variantes issues de simples fautes de frappe. Le reste ? Des inventions totales, mais suffisamment bien pensées pour ne pas éveiller les soupçons.

En gros, l’IA peut vous proposer un truc comme fastparser, authlib2 ou httpxhelper. Ça a l’air crédible, ça passe tout seul dans un code bien présenté… et pourtant, c’est totalement fictif.

Et c’est exactement ce que recherchent les pirates : des noms inventés, mais cohérents. Parce que dans un workflow automatisé ou un tuto copié-collé, il suffit d’un pip install trop rapide pour que l’attaque fonctionne.

Le problème, c’est que c’est répétable

On pourrait se dire qu’une hallucination, c’est un accident isolé, un petit bug sans lendemain. Eh bien non. L’étude montre que les modèles IA génèrent souvent les mêmes faux paquets, encore et encore.

Les chercheurs ont repris 500 prompts qui avaient déjà causé des hallucinations, et les ont relancés 10 fois chacun. Résultat :

  • 43 % des faux paquets sont réapparus à chaque fois,
  • 58 % sont revenus au moins deux fois,
  • et seulement 39 % n’ont jamais refait surface.

Autrement dit, ces hallucinations ne sont pas si aléatoires que ça. Ce sont des réponses prévisibles que les modèles produisent dans certaines situations. Et pour un attaquant, il suffit de lancer quelques tests pour repérer les noms les plus récurrents, puis de les enregistrer sur PyPI ou npm. Facile, propre, dangereux.

Température, verbosité… les réglages qui font vriller l’IA

Si vous jouez un peu avec les paramètres des IA génératives, vous avez peut-être croisé ce fameux réglage appelé « température ». Plus la température est élevée, plus les réponses sont créatives… et imprévisibles. Et sans surprise, c’est aussi là que les hallucinations explosent.

Dans certains cas, les modèles testés généraient plus de paquets inventés que de paquets valides dès que la température montait trop. C’est un peu comme passer l’IA en mode brainstorming sous acide : elle invente des bibliothèques à tour de bras, même si elles n’ont jamais existé.

Autre point important : les modèles bavards – ceux qui proposent plein d’alternatives ou de dépendances – ont tendance à halluciner plus souvent. À l’inverse, les modèles plus sobres, qui se concentrent sur une poignée de bibliothèques connues, s’en sortent généralement mieux.

Confusion entre langages et auto-détection des hallucinations

Autre découverte surprenante : certains paquets halluciné en Python… existent bel et bien sur npm. Oui, l’IA mélange parfois les écosystèmes. Ainsi, vous vous retrouvez avec un paquet valide, mais dans le mauvais langage. Pas super pratique pour un projet Python qui se retrouve avec une dépendance JavaScript dans les pattes.

Heureusement, tout n’est pas noir. Certains modèles, comme GPT-4 Turbo ou DeepSeek, sont capables de reconnaître leurs propres hallucinations. Lorsqu’on leur demande de vérifier les paquets qu’ils viennent de recommander, ils atteignent jusqu’à 75 % de réussite pour repérer les noms bidons. Un bon point et peut-être une piste pour intégrer une vérification automatique dans les outils d’aide à la programmation.

Le « vibe coding » rend le problème encore plus sournois

Ces dernières années, une nouvelle manière de coder s’est popularisée : le vibe coding. L’idée, popularisée par Andrej Karpathy, c’est de décrire ce que l’on veut et de laisser l’IA générer le code. Un peu comme si vous disiez à un assistant : « Fais-moi un script qui scrape un site et envoie les données par mail », et hop, le code tombe tout seul.

C’est pratique, rapide et parfois même bluffant. Mais c’est aussi là que les ennuis commencent. Car dans ce genre de workflow, vous ne tapez plus les noms de paquets à la main, vous ne les cherchez même plus sur Google ou sur PyPI. Si l’IA vous sort un pip install autofastmail, il y a de fortes chances que vous installiez ça sans vous poser trop de questions.

Et c’est exactement ce que cherchent les pirates : profiter de ce relâchement pour injecter leurs faux paquets au bon moment. Quand l’utilisateur est dans le flow, qu’il fait confiance à son IA et qu’il installe sans vérifier.

Comment se protéger contre le slopsquatting ?

Même si le risque est bien réel, il existe plusieurs façons simples de se protéger. Voici les réflexes à adopter :

  • Ne jamais installer un paquet IA les yeux fermés : si vous voyez une commande pip install ou npm install générée par l’IA, prenez 10 secondes pour vérifier que le paquet existe vraiment. Un petit tour sur pypi.org ou npmjs.com suffit.
  • Utilisez des fichiers de dépendances verrouillés : les fameux requirements.txt, package-lock.json ou poetry.lock permettent de figer des versions précises de chaque bibliothèque. C’est un bon moyen de réduire les risques de surprise.
  • Passez par des outils de sécurité comme Socket, Snyk ou Dependabot : ces solutions analysent vos dépendances, repèrent les paquets suspects ou récemment publiés et peuvent vous alerter avant qu’un paquet piégé ne fasse son entrée dans votre projet.
  • Faites vos tests dans un environnement isolé : une VM, un conteneur Docker ou un simple environnement virtuel Python peut faire la différence. Mieux vaut faire planter un test que tout un serveur.
  • Et si vous codez avec une IA, baissez la température ! Un modèle moins créatif, c’est aussi un modèle moins halluciné.

Conclusion

Les IA sont de plus en plus douées pour écrire du code… mais elles ont aussi tendance à en inventer un peu trop. Le slopsquatting en est la preuve : un risque discret, mais bien réel, qui repose uniquement sur la confiance excessive dans ce que nous propose une machine.

Alors, la prochaine fois qu’un assistant IA vous suggère une commande pip install un peu trop parfaite, demandez-vous : « Ce paquet existe-t-il vraiment ? » Parce qu’en matière de cybersécurité, ce qui sonne bien n’est pas forcément bon.


Cet article vous a plu ? N'hésitez pas à le partager sur les réseaux sociaux et abonnez-vous à JustGeek sur Google News pour ne manquer aucun article !

Et si vous souhaitez aller plus loin dans votre soutien, vous pouvez nous offrir un petit café virtuel ☕️. Merci pour votre soutien ❤️ !

Offrez-nous un café
Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Article précédent
Poignée de main entre OpenAI et Google Chrome, illustrant un potentiel rachat du navigateur

OpenAI prêt à racheter Chrome si Google est contraint de le vendre

Article suivant
Protéger la vie privée sur un compte Google

Compte Google : 8 réglages pour protéger votre vie privée

À découvrir également