L’open source peut-il peser sur le conflit russo-ukrainien ? Certains l’exploitent en tout cas à ces fins. Notamment en détournant des composants critiques. On a pu constater de telles initiatives sur des bibliothèques liées à CircleCI, Drupal, OCI, Qt, Redis, etc.
Le module node-ipc, qui gère la communication entre processus, a aussi fait l’objet d’un sabotage. Par son créateur Brandon Nozaki Millier, alias RIAEvangelist. La démarche s’est faite en plusieurs temps et sous plusieurs formes.
Le 7 mars, l’intéressé avait publié une nouvelle version de node-ipc (10.1.1). Dedans se cachait du code malveillant. Sa fonction, dans les grandes lignes : sur les machines dont l’IP est localisée en Russie ou en Biélorussie, effacer des fichiers et les remplacer par un emoji cœur.
Une dizaine d’heures plus tard, RIAEvangelist poussait encore une nouvelle version (10.1.2). Sans grand changement, mais potentiellement pour déclencher des mises à jour automatiques sur les systèmes utilisant node-ipc.
Le 8 mars, changement de tactique. RIAEvangelist publie node-ipc 10.1.3… sans le code malveillant. Quelques heures plus tard, il met en ligne le module peacenotwar. Il le présente* comme un « exemple non destructif de l’importance de contrôler vos modules ». Et aussi comme une « réaction non violente à l’agression [russe] ».
À l’origine, peacenotwar faisait appel à un fichier texte qui contenait un appel à la paix. C’est toujours le cas, mais ledit fichier contient une ligne supplémentaire. Brandon Nozaki Miller y exprime l’innocuité du module. « Je jure [qu’il] n’affectera les données de personne. Si vous ne l’appréciez pas, verrouillez vos dépendances. »
Pendant un temps, peacenotwar a effectivement repris la fonctionnalité d’effacement initialement intégrée à node-ipc. Cela n’est pas passé inaperçu, vu la popularité de quelques-uns des projets qui utilisent la bibliothèque.
RIAEvangelist n’avait pas tout de suite documenté la dépendance de node-ipc à peacenotwar. Il l’avait finalement fait avec la version 11.0.0 de la bibliothèque, publiée le 7 mars.
On trouve toujours, à l’heure actuelle, cette dépendance dans la dernière version stable de node-ipc (9.2.2). Il est déconseillé de la maintenir, même si le module est plus inoffensif qu’à l’origine. On surveillera les autres paquets npm que gère RIAEvangelist. Parmi eux, js-queue, easy-stack, js-message et event-pubsub, qui totalisent tous autour d’un million de téléchargements par semaine.
* Il le présente aussi explicitement comme du protestware. L’inspiration lui a été donnée par l’auteur d’un ticket réclamant le retrait du module peacenotwar.
Photo d’illustration © agsandrew – Shutterstock
Jean-Noël Barrot est nommé ministre délégué chargé de la Transition numérique et des Télécommunications du…
Microsoft concède de nouveaux reports dans la mise en place de la « nouvelle expérience…
Tensions géopolitiques, inflation et difficultés d'approvisionnement impactent à la baisse le marché des terminaux. En…
La spécification DID (Decentralized Identifiers) passera au stade de recommandation W3C début août, en dépit…
La 1ère édition des Silicon Data Awards est lancée ! Rejoignez le concours avant le…
L'entrée en phase commerciale de Copilot ne passe pas. La Software Freedom Conservancy (SFC) a…