Pour gérer vos consentements :

Ukraine-Russie : la tendance « protestware » gagne l’open source

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.

Une protestation par quatre chemins

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

Recent Posts

Jean-Noël Barrot, nouveau ministre délégué chargé du numérique

Jean-Noël Barrot est nommé ministre délégué chargé de la Transition numérique et des Télécommunications du…

5 heures ago

Microsoft peine à convertir à sa « nouvelle expérience commerciale »

Microsoft concède de nouveaux reports dans la mise en place de la « nouvelle expérience…

5 heures ago

PC, tablettes et smartphones : la dégringolade qui s’annonce

Tensions géopolitiques, inflation et difficultés d'approvisionnement impactent à la baisse le marché des terminaux. En…

6 heures ago

Le W3C dit non à Google et Mozilla sur l’identité décentralisée

La spécification DID (Decentralized Identifiers) passera au stade de recommandation W3C début août, en dépit…

7 heures ago

Silicon Data Awards 2022 – A vos candidatures !

La 1ère édition des Silicon Data Awards est lancée ! Rejoignez le concours avant le…

8 heures ago

Open Source : entre la SFC et GitHub, le torchon brûle

L'entrée en phase commerciale de Copilot ne passe pas. La Software Freedom Conservancy (SFC) a…

11 heures ago