123% de CVE signalées en plus par jour en 2026 par rapport à l'an dernier.

Chaîne d'approvisionnement

Qu'est-ce que le slopsquatting ?

Le slopsquatting est une attaque qui consiste à enregistrer des noms de paquets inventés par les assistants de code IA. Lorsqu'un modèle suggère un paquet qui n'existe pas, un attaquant peut publier un malware sous ce nom, et le prochain développeur ou agent qui suit la suggestion l'installe. C'est du typosquatting sans la faute de frappe.

Mis à jour le

D'où vient le nom

Le terme est un jeu de mots sur typosquatting, « slop » désignant les productions d'IA de mauvaise qualité. Il est attribué à Seth Larson, security developer-in-residence de la Python Software Foundation, en 2025.

Comment naît l'hallucination de paquets

Un modèle de langage écrit ce qui semble probable. Un nom plausible, comme celui d'une bibliothèque pour une tâche courante, peut sembler tout aussi probable qu'un vrai : le modèle écrit donc parfois un import ou une commande d'installation pour un paquet que personne n'a jamais publié.

Une étude présentée à USENIX Security 2025 a testé 16 modèles populaires sur 576 000 échantillons de code. La part de paquets hallucinés atteignait au moins 5,2 % pour les modèles commerciaux et 21,7 % pour les modèles open source, avec 205 474 noms inventés uniques. Les chercheurs ont décrit le problème comme persistant et systémique.

Comment fonctionne une attaque de slopsquatting

  1. Collecter les noms. L'attaquant pose aux modèles des questions de code courantes et note quels paquets n'existent pas.
  2. Les publier. Il enregistre ces noms sur npm ou PyPI, avec un paquet fonctionnel qui dissimule une charge utile.
  3. Attendre. Un développeur colle la suggestion, ou un agent de code lance l'installation de lui-même.
  4. S'exécuter. Un script d'installation s'exécute sur la machine du développeur ou en CI, avec accès aux tokens et aux secrets.

Slopsquatting vs typosquatting

Typosquatting Slopsquatting
Origine de l'erreur Une personne saisit mal un nom Un modèle invente un nom
Le nom Proche de celui d'un vrai paquet Plausible, sans vrai paquet derrière
Qui l'installe Un développeur Un développeur, ou un agent sans qu'un humain lise le nom
Pourquoi la détection est plus difficile Les contrôles de ressemblance peuvent le comparer aux noms populaires Il n'y a parfois aucun nom populaire auquel le comparer

Pourquoi les agents de code font monter les enjeux

Avec un assistant de chat, une personne lit la suggestion avant de l'exécuter. Un agent de code peut écrire le code, ajouter la dépendance et lancer l'installation en une seule étape. Le contrôle humain qui arrête de nombreux mauvais noms disparaît, et l'installation a lieu là où l'agent s'exécute, souvent avec les identifiants du développeur ou en CI. Pour une vue d'ensemble, consultez la sécurité du développement assisté par IA.

Comment se protéger du slopsquatting

  • Vérifiez avant d'installer. Assurez-vous qu'un paquet suggéré existe, possède un vrai dépôt et a un historique. Un paquet créé la semaine dernière mérite la méfiance.
  • Relisez les changements du lockfile. Les nouvelles dépendances doivent être visibles dans les pull requests, quelle que soit la personne ou la machine qui a écrit le code. Voir ce qu'un lockfile enregistre.
  • Limitez ce que les agents peuvent faire. Exigez une approbation avant qu'un agent installe des paquets, et exécutez les agents dans un bac à sable sans identifiants de production.
  • Retardez l'adoption des nouveaux paquets. Une règle contre les paquets publiés ces derniers jours est utile.
  • Désactivez les scripts d'installation quand votre build le permet.
  • Restreignez le trafic sortant des builds. Un paquet qui ne peut pas joindre l'attaquant ne peut envoyer vos secrets nulle part. Voir la politique de trafic sortant GitHub Actions.

Un nouveau paquet de slopsquatting n'a aucun avis de sécurité : un scan SCA ou npm audit ne le signalera donc pas. Pour la liste complète des contrôles, consultez les bonnes pratiques de sécurité de la chaîne d'approvisionnement logicielle.

Comment CRACI limite les dégâts

CRACI ne détecte pas les nouveaux paquets malveillants : contrôlez-les donc avec d'autres outils. Ce qu'il fait, c'est limiter les dommages lorsqu'un paquet atteint votre build. En tant que runner GitHub Actions, il applique une politique de trafic sortant qui bloque les connexions dont le build n'a pas besoin, ce qui vous protège même quand personne n'a encore vu l'attaque. Il enregistre aussi chaque paquet récupéré par chaque job : une fois un mauvais paquet connu, vous pouvez donc voir quels builds l'ont récupéré.

Slopsquatting : questions fréquentes

Qu'est-ce que le slopsquatting ?

Une attaque dans laquelle quelqu'un enregistre des noms de paquets inventés par les assistants de code IA, de sorte que quiconque suit la suggestion installe le code de l'attaquant.

Qui a inventé le terme slopsquatting ?

Il est attribué à Seth Larson, security developer-in-residence de la Python Software Foundation, en 2025.

Qu'est-ce qu'un paquet halluciné ?

Un nom de paquet qu'un modèle d'IA suggère alors qu'aucun paquet de ce nom n'existe. La recherche en a trouvé dans une part importante des échantillons de code générés.

Quelle est la différence entre slopsquatting et typosquatting ?

Le typosquatting repose sur une personne qui saisit mal le nom d'un vrai paquet. Le slopsquatting repose sur un modèle qui invente un nom qui n'a jamais existé : il n'y a donc aucun vrai paquet auquel le comparer.

Comment prévenir le slopsquatting ?

Vérifiez que les paquets suggérés sont réels, relisez les nouvelles dépendances dans les pull requests, exigez une approbation avant toute installation par un agent et restreignez le trafic sortant des builds.

Contenez le paquet que personne ne voulait installer

Bloquez les connexions sortantes dont vos builds n'ont pas besoin, et gardez un enregistrement de chaque paquet qu'ils ont récupéré.

Réserver une démo