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

Pour son premier LLM codeur ouvert, Mistral AI choisit une architecture alternative

Pour développer une version 7B de son modèle Codestral, Mistral AI n'a pas utilisé de…

10 heures ago

Microsoft x Inflection AI : l’autorité de la concurrence britannique lance son enquête

L’Autorité de la concurrence et des marchés (CMA) britannique ouvre une enquête sur les conditions…

13 heures ago

Thomas Gourand, nouveau Directeur Général de Snowflake en France

Thomas Gourand est nommé Directeur Général pour la France. Il est chargé du développement de…

15 heures ago

Accord Microsoft-CISPE : comment Google a tenté la dissuasion

Pour dissuader le CISPE d'un accord avec Microsoft, Google aurait mis près de 500 M€…

15 heures ago

Vers des mises à jour cumulatives intermédiaires pour Windows

Pour réduire la taille des mises à jour de Windows, Microsoft va mettre en place…

15 heures ago

RH, finances, stratégie… Les complexités de la Dinum

De l'organisation administrative à la construction budgétaire, la Cour des comptes pointe le fonctionnement complexe…

1 jour ago