Le problème des paquets spam à grande échelle sur npm
- L’équipe de recherche de Phylum a découvert une forte hausse des paquets spam liés au protocole Tea sur npm
- Le protocole Tea est un système qui récompense les contributions open source en cryptomonnaie, ce qui pousse les développeurs à exagérer leurs contributions
- Au deuxième trimestre 2024, environ 25 % des paquets publiés sur npm seraient des paquets spam liés au protocole Tea
Bref résumé
- Le protocole Tea utilise un algorithme qui incite les développeurs à exagérer leurs contributions
- npm subit une grave pollution à cause de ces paquets spam
- Les caractéristiques de ces paquets spam sont des noms de paquets générés aléatoirement, des listes de dépendances suspectes et un fichier
tea.yaml
Un nouveau point de vue
- Depuis le début de l’année 2024, le nombre de paquets publiés sur npm a fortement augmenté
- Le 8 avril 2024, plus de 48 000 paquets ont été publiés en une seule journée
- Pendant le T2, entre 21,25 % et 25,5 % des paquets npm publiés seraient des paquets spam
- Si l’on restreint l’analyse aux nouveaux paquets, la proportion de spam monte entre 68,66 % et 74,67 %
Y a-t-il une menace ?
- À ce jour, rien ne prouve que ces paquets spam contiennent des attaques malveillantes
- Cependant, ce spam pollue l’écosystème open source et peut fausser les données d’entraînement des modèles d’IA
- Il crée aussi un environnement dans lequel de vrais paquets malveillants peuvent se dissimuler
Penser du point de vue de l’adversaire
- En prenant le paquet
sournoise comme exemple, le site web de npm indique qu’il dépend de axios, alors qu’en réalité il dépend de paquets spam
- Il s’agit d’un effet secondaire de la manière dont npm traite les dépendances et les affiche aux utilisateurs
- À cause des dépendances transitives, des paquets non voulus ou inattendus peuvent être inclus côté développeur
Conclusion
- La pollution de l’écosystème des logiciels open source est un problème pour tout le monde
- Le projet Tea Protocol prend des mesures pour résoudre ce problème
- npm supprime également certains paquets spam, mais n’arrive pas à suivre le rythme des nouvelles publications
- Le problème ne se limite pas à npm : des paquets spam similaires ont aussi été trouvés sur Rubygems
- Phylum étudie activement ce domaine et cherchera de nouvelles méthodes pour détecter ce spam à mesure que ces acteurs adapteront leurs tactiques
Le résumé de GN⁺
- Le système de récompense du protocole Tea pousse les développeurs à exagérer leurs contributions
- L’intention du projet en faveur de la durabilité de l’open source était peut-être bonne, mais il semble avoir sous-estimé les effets secondaires et les cas d’abus qui en découlent. Une conception rigoureuse du mode de mesure des contributions et du système de récompense, ainsi qu’une surveillance continue, semblent nécessaires
- Cet afflux massif de paquets spam dépasse la simple question de la sécurité de paquets individuels et peut menacer la fiabilité et la santé de l’ensemble de l’écosystème open source. Une approche et une coopération à l’échelle de l’écosystème semblent nécessaires pour une solution de fond
- Le fait que cela puisse introduire des biais si ces données sont utilisées pour l’entraînement de modèles d’IA est particulièrement préoccupant. Il semble urgent d’établir des lignes directrices pour la gestion et la validation de la qualité des données
- La possibilité d’installer des paquets inattendus via les dépendances transitives est suffisante pour alerter les développeurs. Cela montre qu’au-delà du besoin d’outils automatisés de gestion des dépendances, la vigilance et la revue manuelle des développeurs restent essentielles dans le choix des paquets
- À plus long terme, il pourrait être nécessaire d’explorer des alternatives plus transparentes et vérifiables, comme des registres de paquets ou des systèmes de réputation fondés sur la blockchain
1 commentaires
Avis Hacker News
Le mode de gestion des dépendances des paquets par npm pose problème
package.json, cela est considéré comme une dépendance, sans rapport avec le paquet réelIl faut supprimer tous les paquets qui utilisent
tea.yamlLes comptes de spam doivent être bloqués et supprimés définitivement
Les modèles d'IA risquent d'être biaisés à cause des paquets de spam
Le modèle d'incitation du protocole Tea est problématique
Résumé :
package.jsonL'objectif du protocole Tea est de renforcer l'économie du logiciel open source
Il existe des cas où des projets populaires sont copiés puis publiés sur npm avec des noms latins aléatoires
Il y a déjà eu des projets similaires à Tea
Les gestionnaires de paquets disposent d'un système de notation