Le protestware devient un leitmotiv du conflit russo-ukrainien

Faudrait-il mettre en place une liste noire des individus qui détournent l’open source pour diffuser des malwares ? On en a récemment débattu sur les forums Hacker News. En toile de fond, une tendance montante avec le conflit russo-ukrainien : le protestware.

Les pratiques que ce terme englobe peuvent consister en l’introduction d’appels à la paix et d’autres messages de même teneur. Mais certains vont plus loin et injectent du code malveillant. On en a eu des exemples ces dernières semaines. Avec, en première ligne, la bibliothèque node-ipc, que son créateur a sabotée en plusieurs temps. Il y a intégré une fonction destructrice… conçue pour ne s’enclencher que sur les machines dont l’IP publique était située en Russie ou en Biélorussie.

L’IP publique est un critère ; la localisation linguistique en est une autre. C’est celui qu’a choisi l’un des contributeurs de styled-components. Cette bibliothèque permet d’intégrer du CSS dans le code JavaScript. Quelque 16 000 projets y font appel, pour un volume de 4 millions de téléchargements par semaine.

Un protestware Tor

Deux versions de la bibliothèque, publiées le 24 mars, ont ajouté un script. Sur toute machine réglée sur une locale russophone (de type ru_RU), ce script déclenchait l’affichage d’un message de protestation. Faute de référence à un fichier, l’une de ces deux versions a posé des problèmes d’installation… et d’usage, perturbant notamment les systèmes de build.

Autre bibliothèque détournée : es5-ext (extensions ECMAScript 5). C’était début mars. Avec là aussi un appel à la paix. Mais sur la base d’un autre critère : le fuseau horaire des machines.

Le débat sur Hacker News émane d’un autre détournement de même acabit : celui d’event-source-polyfill. Cette bibliothèque permet d’implémenter l’API EventSource de Mozilla dans des navigateurs qui ne la prennent pas en charge. Le 17 mars, une nouvelle version est parue. Les applications qui l’embarquaient ont affiché, 15 secondes après leur lancement, un message pro-ukrainien. Accompagné d’un appel à télécharger le navigateur Tor et d’un lien vers une pétition. Là aussi, uniquement sur les systèmes réglés à un fuseau horaire russe.

Cette version problématique est toujours sur GitHub et npm. Il semble qu’elle a perturbé le fonctionnement de certaines applications, en particulier en périphérie du réseau.