Une campagne de spam à grande échelle récemment découverte dans l’écosystème npm a révélé d’importantes faiblesses dans la sécurité des registres de paquets, l’hygiène des dépendances et les mécanismes d’incitation de l’open source.
Le chercheur en sécurité Paul McCarty a révélé que plus de 43 000 paquets malveillants ou de spam — collectivement surnommés le ver IndonesianFoods — ont été publiés sur au moins onze comptes npm pendant deux ans sans être détectés.
Bien que ces paquets ne contiennent aucun logiciel malveillant actif, ils intègrent des charges dormantes et forment un réseau de dépendances autoréplicatif, représentant plus de 1 % de l’ensemble de l’écosystème npm.
Leur existence souligne la nécessité croissante de renforcer les défenses de la chaîne logistique, la détection automatisée et la gouvernance dans les écosystèmes open source.
- Pourquoi des milliers de paquets de spam semblaient légitimes
- Des paquets de spam qui se multiplient
- Monétiser le spam npm en manipulant les jetons TEA
- Pourquoi la campagne est passée inaperçue
- Vers une manipulation à l’échelle de l’écosystème
- Les défenses essentielles contre les abus de paquets à grande échelle
- Une nouvelle ère des abus de la chaîne logistique open source
Pourquoi des milliers de paquets de spam semblaient légitimes
Le ver IndonesianFoods tire son nom de son système de dénomination unique.
Chaque paquet génère un nom en combinant des prénoms indonésiens choisis aléatoirement (par exemple, andi, budi, zul) avec des termes désignant des plats indonésiens (par exemple, sate, rendang, tapai), auxquels s’ajoutent des variantes numériques et des suffixes.
Cette méthode a produit des dizaines de milliers de paquets apparemment sans lien, aux noms structurés mais plausibles.
Les chercheurs d’Endor Labs ont déterminé que la campagne était liée à une attaque identifiée pour la première fois en 2024, au cours de laquelle des adversaires ont tenté d’exploiter le protocole TEA — un système de récompense fondé sur la blockchain pour les contributions open source.
Des paquets de spam qui se multiplient
Bien que les paquets semblent légitimes en surface — contenant souvent des modèles fonctionnels Next.js avec de véritables dépendances — la charge utile reste dormante.
Chaque paquet contient un fichier JavaScript inutilisé, généralement nommé auto.js ou publishScript.js.
Lorsqu’il est exécuté manuellement, ce script supprime les protections de la vie privée, randomise les numéros de version, génère un nouveau nom de paquet aléatoire et publie à plusieurs reprises de nouveaux paquets sur npm dans une boucle infinie.
Une seule exécution peut publier plus de 17 000 paquets par jour, ce qui explique comment la campagne a atteint près de 44 000 entrées.
Pour aggraver le problème, chaque paquet de spam contient souvent entre huit et dix dépendances qui renvoient à d’autres paquets de spam, créant un mécanisme de propagation semblable à celui d’un ver.
Lorsqu’un développeur installe un tel paquet, npm en récupère automatiquement des dizaines d’autres, démultipliant l’empreinte de la campagne dans tout l’écosystème.
Monétiser le spam npm en manipulant les jetons TEA
Les chercheurs ont également découvert des fichiers tea.yaml intégrés à des paquets contrôlés par les attaquants, faisant référence à des comptes TEA spécifiques et à des adresses de portefeuilles de cryptomonnaies.
Ces fichiers semblent conçus pour gonfler artificiellement les scores d’impact TEA et réclamer des récompenses en jetons destinées à des contributions open source légitimes.
La documentation d’au moins un paquet fait ouvertement la promotion de ces gains en jetons. Cette couche de monétisation révèle un effort coordonné visant à générer des profits financiers en détournant le modèle de récompense TEA, et non un usage abusif isolé ou accidentel.
Pourquoi la campagne est passée inaperçue
La campagne a échappé à la détection pendant près de deux ans en raison des faiblesses des méthodes actuelles d’analyse de sécurité.
La plupart des scanners automatisés se concentrent sur le code malveillant qui s’exécute pendant l’installation, comme les hooks postinstall ou les opérations suspectes sur le système de fichiers.
Ces paquets ne contenaient aucun logiciel malveillant actif et ne déclenchaient aucune activité au moment de l’installation, ce qui les faisait paraître inoffensifs.
En outre, les fichiers contenant les charges dormantes n’étaient référencés par aucun chemin d’exécution, ce qui poussait les scanners à les considérer comme des artefacts inutilisés.
L’absence de limitation du débit sur npm, l’analyse insuffisante des métadonnées et l’absence de détection des schémas propres aux paquets publiés en masse ont également contribué à la longévité de la campagne.
Vers une manipulation à l’échelle de l’écosystème
Le ver IndonesianFoods met en lumière plusieurs problèmes systémiques des écosystèmes open source.
Un spam à grande échelle et à faible signal peut dégrader la qualité des registres, gonfler les arbres de dépendances et éroder la confiance des développeurs.
L’attaque montre également que les adversaires sont de plus en plus disposés à exploiter d’autres sources de revenus — comme le minage de jetons TEA — plutôt qu’à déployer des logiciels malveillants directs.
Associée à de nombreux comptes coordonnés, à des variantes évolutives et à une propagation entre dépendances, la campagne témoigne d’un basculement vers une manipulation stratégique à l’échelle de l’écosystème, plutôt que vers la compromission traditionnelle de paquets à forte valeur.
Les défenses essentielles contre les abus de paquets à grande échelle
Les organisations qui évaluent leur exposition à la campagne de spam npm IndonesianFoods doivent adopter une approche proactive et méthodique pour protéger leurs chaînes logistiques logicielles.
Comme ces paquets ont fonctionné à une échelle massive tout en restant dormants et indétectés pendant près de deux ans, les scanners traditionnels intervenant au moment de l’installation ne suffisent pas.
Renforcer les contrôles d’accès, améliorer la visibilité sur les dépendances et durcir les défenses au niveau du registre sont des mesures essentielles pour prévenir des abus similaires à l’avenir.
- Vérifier les dépendances par rapport à la liste connue des comptes compromis et supprimer les paquets suspects.
- Restreindre les droits denpm publish aux systèmes CI/CD et aux mainteneurs autorisés, afin d’empêcher l’exécution accidentelle de scripts malveillants.
- Imposer une analyse de la composition logicielle (SCA) capable de détecter les fichiers dormants, les schémas de dénomination inhabituels ou les structures de dépendances circulaires.
- Surveiller les comportements de publication anormaux et instaurer une limitation du débit ou un CAPTCHA pour les soumissions de paquets en grand volume.
- Exiger une vérification d’identité plus stricte pour les comptes npm participant à des activités de publication à grande échelle.
En renforçant les contrôles d’accès, en améliorant la visibilité sur les dépendances et en consolidant les protections des registres, les organisations et les responsables des écosystèmes peuvent réduire les risques liés à la chaîne logistique et renforcer leur cyberrésilience.
Une nouvelle ère des abus de la chaîne logistique open source
La campagne IndonesianFoods montre que le volume, la persistance et l’exploitation ingénieuse des mécanismes d’incitation de l’open source peuvent permettre aux attaquants d’opérer sans être détectés pendant des années.
Bien que les paquets ne contiennent pas de code malveillant immédiat, leur ampleur, leur structure de dépendances semblable à celle d’un ver et leur stratégie de monétisation révèlent la sophistication croissante du spam visant la chaîne logistique.
Ce type de manipulation silencieuse à grande échelle souligne pourquoi la sécurité de la chaîne logistique logicielle moderne doit évoluer aussi rapidement que les menaces qui la ciblent.





