À la suite d'un incident récent qui a fait des ravages dans le registre des paquets NPM, un nouveau groupe de mainteneurs a rétabli le projet Faker. Le responsable précédent avait tout simplement saboté le package Faker NPM avec du code malveillant, impactant plus de 2 500 autres packages NPM qui en dépendent. La librairie JavaScript Faker génère des données fictives pour les tests et le développement. Un groupe d'ingénieurs a créé un référentiel GitHub pour le récent package Faker et a publié les versions précédentes sur @faker-js/faker sur NPM.
Le 4 janvier, le responsable précédent a intégré un code malveillant dans les bibliothèques Faker et Colors, provoquant une boucle sans fin qui a eu un des conséquences sur des milliers de projets. En réponse, GitHub, qui supervise NPM, a supprimé les packages malveillants Faker et Colors et suspendu le compte utilisateur conformément à la politique de NPM sur les logiciels malveillants. Un avis de sécurité relatif à Colors a également été publié.
Une feuille de route pour apporter des améliorations
Faker a été implémenté pour la première fois en Perl en 2004. Dans un bulletin du 14 janvier, les nouveaux responsables ont annoncé un plan pour améliorer la librairie et ont publié une version 6.x alpha. Les éléments de la feuille de route comprennent :
- Prise en charge ESM (modules ECMAScript) ;
- Infrastructure de test améliorée ;
- Documents Typegen ;
- S'engager avec les mainteneurs existants de l'écosystème Faker ;
- Fournir un terrain de jeu interactif dans les documents ;
- Compatibilité Node.js 18.
L'incident Faker et Colors n'est pas le premier à démontrer que NPM était impacté par des dépendances entre packages. En 2016, la dépublication par un développeur d'un petit package JavaScript a rompu les dépendances de nombreux autres projets.