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é 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 appliqué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 construire.
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 du même domaine : celui d’event-source-polyfill. Cette bibliothèque permet d’implémenter l’API EventSource de Mozilla dans des navigateurs qui ne prennent pas en charge. Le 17 mars, une nouvelle version est parue. Les applications qui l’embarquaient ont été affichées, 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.