En bref
Que s'est-il passé ?
L'auteur des bibliothèques npm node-ipc (1 M de téléchargements) sabote volontairement son propre paquet en protestation (protestware), via le module peacenotwar.
Les versions corrompues exécutent du code obfusqué qui dépose un fichier sur le bureau et, selon l'origine géographique de l'adresse IP, réécrit des fichiers de la machine.
L'incident touche de gros projets en aval comme @vue/cli (CVE-2022-23812) et pose la question de la réputation des mainteneurs : les autres paquets de l'auteur cumulent 4 M de téléchargements.
Épingler les versions de dépendances, revue des mises à jour de paquets sensibles, diversification et veille sur la confiance accordée à un mainteneur unique, et builds reproductibles.
Comment l'attaquant a procédé
Cet incident met en jeu les vecteurs d'attaque suivants du catalogue SOCLE ; chacun renvoie à sa fiche, où l'on trouve les exigences qui le neutralisent :
La leçon à en tirer
Pin des versions, revue des dépendances, surveillance runtime des effets de bord.
Les exigences SOCLE qui auraient limité cet incident
Cet incident se rattache à 42 exigences du référentiel, par domaine. Les satisfaire n'aurait pas forcément tout empêché, mais aurait réduit la probabilité de l'attaque, limité son impact ou accéléré sa détection :