Deux modules JavaScript sabotés par leur créateur

Deux modules JavaScript sabotés par leur créateur

Le créateur de deux modules JavaScript disponibles sur npm et Github a volontairement publié deux mises à jour rendant ces deux modules inopérants. Les mises à jour contenaient un mécanisme provoquant une boucle infinie dans les programmes qui chargeaient l’un des deux projets, provoquant un affichage de caractères inutiles dans la console du projet. Dans les fichiers readme attachés au projet, le développeur a publié un message faisant référence à la mort d’Aaron Swartz. Le hashtag #AaronSwartz a également été repris sur le compte Twitter du développeur, dans un message qui semble revendiquer les mises à jour malveillantes.

Faker.js est une libraire permettant de générer de fausses données à la volées pour des besoins de test d’application. Ce programme était utilisé par un peu plus de 2500 projets et comptait pas moins de 2,8 millions de téléchargement hebdomadaires. Colors.js était de son coté utilisé dans moins de 19 000 projets et comptait 23 millions de téléchargement hebdomadaires. Ce module était de son coté utilisé pour mettre en forme du texte au sein de l’application, notamment en appliquant certaines couleurs au texte.

Si dans un premier temps, de nombreux utilisateurs ont soupçonné un piratage étrange, il semblerait en réalité que l’auteur des deux projets ait volontairement saboté son propre code. Dans le cas de Faker et Colors, le créateur des deux projets avait déjà évoqué par le passé le fait qu’il ne souhaitait plus que son code soit utilisé par des grandes entreprises sans compensation, comme le rapporte Bleeping Computer. Mais la personnalité et les motifs exacts du développeur à l’origine de cette mise à jour sont difficiles à cerner, celui ci invoquant à la fois le souvenir d’Aaron Swartz, mais faisant aussi référence à plusieurs thèses conspirationnistes liées au procès Ghislaine Maxwell et au Gamergate sur son compte Twitter. Depuis la semaine dernière et la publication de plusieurs messages apparemment ironique sur la situation, le compte Twitter de l’auteur des deux projets reste muet et n’offre pas d’explication plus précises sur les raisons de son geste.

publicité

Plutôt Leftpad ou Log4shell ?

Selon le compte Twitter du développeur, Github a suspendu son compte en réaction à la publication de la mise à jour malveillante, et npm a rétabli les versions fonctionnelles des deux projets publiés sur sa plateforme. La décision a fait réagir de nombreux développeurs, surpris de voir que des plateformes comme Github et npm s’arrogent le droit de rétablir un contenu supprimé par un utilisateur. Mais ce n’est pas exactement une première : en 2016, dans une affaire similaire impliquant cette fois le module JavaScript Leftpad, npm avait choisi de faire exactement la même chose en rétablissant un module supprimé par son auteur et sur lequel reposaient de nombreux projets. Bien avant le rachat de npm par Github et Microsoft, le gestionnaire de paquet avait donc déjà choisi de privilégier le bon fonctionnement des projets dépendants des modules impactés, plutôt que la volonté du créateur du projet initial.

L’affaire vient également remettre en lumière l’épineuse question de la gestion de l’open source, déjà remise sur le devant de la scène par les failles découvertes dans Log4j. Les projets open source deviennent des briques élémentaires de nombreux projets commerciaux, mais les mainteneurs et les développeurs qui travaillent sur ces projets essentiels sont rarement rémunérés et travaillent parfois en tant que quasi bénévoles. Outre la question de l’argent, de nombreux projets open source n’existent que grâce aux bon vouloir des mainteneurs et des développeurs, et le retrait d’un projet peut en affecter des milliers d’autres par effet domino.

Leave a Reply

Discover more from Ultimatepocket

Subscribe now to keep reading and get access to the full archive.

Continue reading