Une nouvelle menace de cybersécurité vient d’émerger dans l’écosystème du développement logiciel, et elle est directement liée à l’utilisation croissante des outils d’IA générative dans le processus de codage. Baptisée slopsquatting, cette technique d’attaque exploite la tendance des modèles d’IA à « halluciner » des noms de packages qui n’existent pas, créant ainsi une vulnérabilité potentielle dans la chaîne d’approvisionnement logicielle.
Qu’est-ce que le slopsquatting ?
Le terme « slopsquatting » a été inventé par le chercheur en sécurité Seth Larson comme une variante du « typosquatting », une méthode d’attaque bien connue qui consiste à créer des packages malveillants dont les noms ressemblent à s’y méprendre à ceux de bibliothèques populaires, en espérant que les développeurs les installent par erreur. La différence fondamentale ? Alors que le typosquatting repose sur des fautes d’orthographe délibérées, le slopsquatting exploite les « hallucinations » des modèles d’IA. Les chercheurs ont découvert que les modèles de langage génératifs recommandent régulièrement des packages qui n’existent tout simplement pas dans la réalité lorsqu’ils génèrent du code. Des attaquants pourraient donc anticiper ces hallucinations et créer des packages malveillants portant ces noms inventés sur des dépôts comme PyPI ou npm.
Une étude révèle l’ampleur du problème
Une étude approfondie publiée en mars dernier par des chercheurs de l’université Stanford montre que dans environ 20% des cas analysés (sur un échantillon de 576 000 extraits de code Python et JavaScript générés par IA), les packages recommandés n’existaient pas réellement. Les modèles open-source comme CodeLlama, DeepSeek, WizardCoder et Mistral sont particulièrement concernés, avec un taux d’hallucination moyen de 21,7%. Mais même les outils commerciaux comme ChatGPT-4, supposés plus fiables, présentent un taux d’hallucination d’environ 5%, ce qui reste significatif compte tenu de leur utilisation massive.
Des hallucinations prévisibles et répétables
Le plus inquiétant dans cette découverte est la prévisibilité des hallucinations. L’étude a identifié plus de 200 000 noms de packages hallucinés uniques, mais 43% d’entre eux étaient systématiquement répétés à travers des prompts similaires, et 58% réapparaissaient au moins une fois sur dix essais.
« Cette répétabilité augmente leur valeur pour les attaquants, rendant plus facile l’identification de cibles viables pour le slopsquatting en observant seulement un petit nombre de sorties du modèle, » expliquent les chercheurs de Socket, une entreprise de cybersécurité spécialisée dans l’open-source.
La typologie des noms hallucinés est également révélatrice :
- 38% semblent inspirés par des packages existants
- 13% sont le résultat de fautes de frappe
- 51% sont complètement inventés de toutes pièces
Un risque théorique mais crédible
Bien qu’aucune attaque par slopsquatting n’ait encore été détectée dans la nature, les experts en sécurité considèrent cette menace comme crédible et potentiellement dévastatrice. Les récentes attaques sur la chaîne d’approvisionnement logicielle, comme celles visant SolarWinds ou Log4j, ont démontré l’impact considérable que peuvent avoir de telles vulnérabilités.
Le « vibe coding », cette pratique de plus en plus répandue consistant à utiliser l’IA pour écrire du code sans vérifier méticuleusement chaque dépendance, pourrait considérablement amplifier le risque. Selon une enquête récente du Stack Overflow Developer Survey, près de 70% des développeurs utilisent désormais régulièrement des outils d’IA pour accélérer leur travail, souvent en copiant-collant directement les suggestions sans vérification approfondie.
Comment se protéger ?
Face à cette nouvelle menace, les experts recommandent plusieurs mesures préventives :
- Vérification manuelle : Ne jamais supposer qu’un package mentionné dans un snippet de code généré par IA existe réellement ou est sûr.
- Utilisation d’analyseurs de dépendances : Des outils comme Dependabot, Snyk ou Socket peuvent détecter les bibliothèques suspectes avant leur intégration.
- Fichiers de verrouillage et vérification des hachages : Fixer les packages à des versions connues et de confiance pour éviter les substitutions indésirables.
- Réduction de la « température » de l’IA : Les paramètres de température plus bas (moins d’aléatoire) dans les modèles d’IA réduisent significativement les hallucinations. Les chercheurs ont constaté qu’une température de 0.2 plutôt que 0.7 diminuait le taux d’hallucination de près de 40%.
- Environnements isolés : Toujours tester le code généré par IA dans un environnement isolé avant de l’exécuter ou de le déployer en production.
Contexte d’utilisation | Risque | Mesures recommandées |
---|---|---|
Développement rapide de prototype | Élevé | Vérification systématique via un outil automatisé |
Intégration continue | Moyen | Utilisation de lockfiles et scanners de dépendances |
Production critique | Très élevé | Revue manuelle + vérification des hachages + liste blanche de dépendances |
Environnement académique/apprentissage | Faible | Température IA basse + isolation |
À l’heure où les outils d’IA générative transforment profondément les méthodes de développement logiciel, cette découverte souligne l’importance de maintenir une vigilance accrue face aux risques de sécurité émergents. Le slopsquatting représente un parfait exemple de la façon dont des technologies innovantes peuvent créer de nouveaux vecteurs d’attaque insoupçonnés, nécessitant une adaptation constante des pratiques de sécurité.