En bref

  • OX Security a découvert le 27 mai 2026 un package npm malveillant baptisé mouse5212-super-formatter, conçu pour exfiltrer les fichiers du répertoire /mnt/user-data utilisé par Claude Code d'Anthropic vers un dépôt GitHub contrôlé par l'attaquant.
  • L'auteur du malware s'est trahi en intégrant son propre token GitHub en dur dans le code, permettant aux chercheurs de retracer l'opération et de documenter les mécanismes d'exfiltration.
  • Le package a été téléchargé 676 fois avant sa suppression ; les développeurs qui l'ont installé doivent inspecter leurs dépôts GitHub pour des commits non autorisés et révoquer leurs tokens d'accès.

mouse5212-super-formatter : exfiltration de fichiers Claude Code, l'attaquant trahi par son propre token

Les chercheurs en sécurité de la chaîne d'approvisionnement logicielle d'OX Security ont publié le 27 mai 2026 l'analyse d'un package npm malveillant particulièrement ciblé : mouse5212-super-formatter. Ce package, présenté en apparence comme un utilitaire de formatage générique, contenait en réalité un infostealer conçu pour une cible très spécifique : le répertoire /mnt/user-data, le dossier utilisé par Claude Code, l'outil de développement assisté par IA d'Anthropic, pour stocker les fichiers uploads et outputs lors des sessions de travail. L'affaire a pris une tournure inhabituelle lorsque les chercheurs ont découvert que l'auteur avait intégré son propre token d'accès GitHub en dur dans le code du malware — une erreur OPSEC qui a permis de retracer et documenter toute l'opération.

D'un point de vue technique, le package se déguisait en outil d'archivage et de synchronisation de déploiement. Lors de son exécution, le script se présentait comme un utilitaire d'initialisation de dépôt ("archive deployment sync utility"), capturait un instantané de l'état réseau, puis effectuait une synchronisation structurée des fichiers locaux vers un dépôt de suivi distant. En pratique, il authentifiait auprès de l'API GitHub via un token — soit récupéré depuis une variable d'environnement, soit issu d'un fallback codé en dur — vérifiait si un dépôt cible existait, le créait si nécessaire, puis parcourait récursivement le répertoire /mnt/user-data en uploadant chaque fichier découvert via l'API Contents de GitHub. L'exfiltration se déguisait ainsi en activité de versioning légitime, difficile à distinguer d'un usage normal de l'API GitHub depuis un outil de monitoring réseau standard.

Le choix de cibler /mnt/user-data est stratégique. Ce répertoire, spécifique à l'environnement d'exécution de Claude Code, accumule les fichiers partagés avec l'assistant IA au cours des sessions de développement : fichiers de configuration, extraits de code en cours de travail, fichiers téléchargés pour analyse, sorties de commandes, et potentiellement des credentials ou clés d'API si un développeur les a transmis à l'assistant pour des tâches de configuration ou de débogage. Pour un attaquant cherchant à compromettre des développeurs travaillant sur des projets sensibles, ce répertoire représente une cible de haute valeur : il agrège exactement les informations qu'un développeur partage avec son assistant IA au quotidien, dans un contexte de travail potentiellement moins surveillé que les secrets stockés dans un vault dédié.

L'erreur OPSEC de l'auteur est à la fois classique et spectaculaire dans ses conséquences pour l'opération. Le token GitHub intégré en dur dans le code du package comme mécanisme de fallback a immédiatement alerté les chercheurs d'OX Security lors de l'analyse statique du package. En utilisant ce token pour interroger l'API GitHub, ils ont pu identifier le compte associé, créé le 26 mai 2026 — soit quelques heures seulement avant le premier upload du package malveillant sur npm. L'analyse du dépôt GitHub lié a révélé l'architecture complète du mécanisme d'exfiltration et confirmé les hypothèses des chercheurs sur les intentions malveillantes du package.

Cette erreur technique a amené The Register à qualifier le malware de "malware slop" — un néologisme de la cybersécurité désignant du code malveillant de qualité médiocre généré à l'aide d'outils d'IA générative. En effet, certains patterns dans le code et la structure des commentaires suggèrent l'utilisation d'un LLM pour rédiger une partie du script malveillant. C'est un paradoxe documenté : un attaquant qui délègue la rédaction de son code malveillant à une IA peut bénéficier d'une implémentation techniquement fonctionnelle, tout en omettant des précautions opérationnelles élémentaires — comme la suppression des tokens d'authentification réels du code source — que l'IA ne pense pas spontanément à signaler ou corriger.

Le volume d'impact reste limité mais significatif : 676 téléchargements ont été enregistrés avant la suppression du package par npm. Le chiffre exact d'installations réelles dans des environnements actifs est incertain — une partie des téléchargements peut correspondre à des scanners automatisés ou des outils de mirroring de sécurité. Néanmoins, même une fraction de ces téléchargements dans des environnements de développement professionnel représente un risque concret, notamment si ces environnements contiennent des projets avec des credentials d'accès à des systèmes de production ou des données confidentielles de clients. OX Security a publié les indicateurs de compromission (IOC) associés au compte GitHub malveillant pour permettre la détection dans les outils SIEM et XDR.

La suppression du package npm par les équipes de GitHub — qui gèrent le registre npm depuis l'acquisition de npm Inc. en 2020 — a été rapide après le signalement d'OX Security, conformément aux procédures habituelles de réponse aux incidents de sécurité supply chain. Cette réactivité est notable au regard de l'historique récent d'incidents npm de plus grande ampleur, comme les campagnes TeamPCP ayant compromis des centaines de packages et ciblé des organisations de renom dans le domaine tech et de l'IA. Dans le cas de mouse5212-super-formatter, l'impact reste circonscrit à un seul package et un volume de téléchargements limité, mais le ciblage précis d'un environnement d'outil IA de développement marque une évolution tactique notable dans les attaques supply chain.

L'incident s'inscrit dans une tendance documentée de multiplication des packages npm malveillants visant spécifiquement les outils et environnements de développement assisté par IA. Depuis 2025, plusieurs campagnes ont cherché à intercepter les interactions entre développeurs et LLMs, à exfiltrer les contextes de conversation, ou à compromettre les environnements dans lesquels les agents IA s'exécutent. La popularité croissante de Claude Code, GitHub Copilot, Cursor, et d'autres assistants IA dans les workflows de développement professionnel en fait des cibles de choix pour des attaquants cherchant à accéder à des informations sensibles partagées dans un contexte de travail quotidien.

Les outils IA de développement : nouvelles cibles des attaques supply chain npm

L'attaque mouse5212 illustre une évolution tactique importante dans les campagnes de compromission de la chaîne d'approvisionnement logicielle. Pendant des années, les attaques supply chain npm ciblaient principalement les packages eux-mêmes — en injectant du code malveillant dans des bibliothèques légitimes largement utilisées — ou les tokens d'accès npm des mainteneurs de packages populaires. La tendance émergente consiste désormais à cibler les environnements dans lesquels les développeurs travaillent, et plus particulièrement les répertoires gérés par les outils d'IA générative intégrés dans leurs IDEs. Cette évolution reflète la généralisation de ces outils : un développeur qui utilise Claude Code, GitHub Copilot, ou Cursor partage quotidiennement des fichiers potentiellement sensibles dans un contexte de travail accéléré où la vigilance sécurité peut être réduite.

Le paradoxe de cette affaire — un malware potentiellement généré par IA ciblant les utilisateurs d'un outil IA, trahi par une erreur que l'IA n'a pas corrigée — résume un aspect clé de l'évolution du paysage des menaces. L'IA générative abaisse la barrière d'entrée pour la création de malwares techniquement fonctionnels : un attaquant sans compétences approfondies peut produire un code d'exfiltration correct en quelques minutes. Mais cette même assistance peut induire un faux sentiment de confiance dans la qualité du code produit, amenant l'attaquant à négliger des précautions opérationnelles fondamentales. Le résultat est un paysage de menaces où des attaques de faible et de haute sophistication coexistent dans le registre npm sans distinction visuelle immédiate pour un développeur pressé qui installe un nouveau package.

Pour les équipes sécurité des organisations où des outils IA de développement sont utilisés, cet incident rappelle que la surface d'attaque de la chaîne d'approvisionnement npm n'est pas limitée aux dépendances directes des projets. Les outils de développement eux-mêmes créent des répertoires de travail qui peuvent devenir des cibles d'exfiltration. Les bonnes pratiques recommandées incluent : l'audit régulier des packages npm installés globalement, l'utilisation d'outils de détection de packages malveillants comme Socket.dev ou Snyk, la revue des permissions accordées aux scripts npm (notamment le hook postinstall), et la sensibilisation des équipes de développement aux risques des packages récemment créés ou à faible popularité.

Du point de vue réglementaire, une exfiltration de fichiers de projet via un package npm malveillant peut constituer une violation de données au sens du RGPD si les fichiers concernés contiennent des informations personnelles ou des données confidentielles de clients. Dans ce cas, les organisations disposent de 72 heures après la découverte pour notifier les autorités de contrôle compétentes — la CNIL en France, le BSI en Allemagne, l'ICO au Royaume-Uni. La documentation forensique est donc à démarrer immédiatement : identification des packages installés, inventaire des fichiers potentiellement exfiltrés depuis /mnt/user-data, et fenêtre temporelle d'exposition.

Ce qu'il faut retenir

  • Vérifier si mouse5212-super-formatter est présent avec npm list -g mouse5212-super-formatter et le désinstaller immédiatement s'il est détecté.
  • Examiner l'historique GitHub du compte développeur pour identifier d'éventuels commits non autorisés vers des dépôts inconnus après l'installation du package, et révoquer les tokens GitHub potentiellement compromis.
  • Mettre en place un processus de vérification systématique des packages npm avant installation, en particulier ceux récemment créés ou à faible popularité, via des outils comme Socket.dev, Snyk, ou l'audit de sécurité npm intégré.

Comment vérifier si mon environnement a été compromis par mouse5212-super-formatter ?

Exécutez npm list -g mouse5212-super-formatter pour vérifier une installation globale, et vérifiez également vos node_modules locaux. Consultez ensuite vos dépôts GitHub pour des commits récents vers des dépôts inconnus portant des noms aléatoires ou suspects — le malware créait un nouveau dépôt et y uploadait les fichiers via l'API GitHub Contents. Si vous trouvez des traces d'activité suspecte, révoquez immédiatement tous vos tokens GitHub dans les paramètres de sécurité de votre compte et auditez les fichiers de /mnt/user-data pour évaluer le périmètre des données potentiellement exfiltrées.

Besoin d'un accompagnement expert ?

Ayi NEDJIMI vous accompagne sur vos projets cybersécurité et IA.

Prendre contact