Modifications malveillantes détectées dans les dépendances du package npm avec le programme d'installation PureScript

Selon le package npm avec le programme d'installation PureScript identifié code malveillant qui apparaît lorsque vous essayez d'installer un package pur script. Le code malveillant est intégré via des dépendances charger depuis cwd ou npm и carte des tarifs. Il est à noter que la maintenance des packages avec ces dépendances est effectuée par l'auteur original du package npm avec le programme d'installation PureScript, qui jusqu'à récemment maintenait ce package npm, mais il y a environ un mois, le package a été transféré à d'autres responsables.

Le problème a été découvert par l'un des nouveaux responsables du package, à qui les droits de maintenance ont été transférés après de nombreux désaccords et discussions désagréables avec l'auteur original du package purescript npm. Les nouveaux responsables sont responsables du compilateur PureScript et ont insisté pour que le package NPM et son programme d'installation soient maintenus par les mêmes responsables et non par un tiers. L'auteur du package npm avec le programme d'installation PureScript n'a pas été d'accord pendant longtemps, mais a ensuite cédé et transféré l'accès au référentiel. Certaines dépendances restent cependant sous son contrôle.

La semaine dernière, le compilateur PureScript 0.13.2 a été publié et
les nouveaux responsables ont préparé une mise à jour correspondante du package npm avec un installateur, dans les dépendances duquel un code malveillant a été identifié. L'auteur du package npm avec l'installateur PureScript, qui a été démis de ses fonctions de responsable, a déclaré que son compte avait été compromis par des attaquants inconnus. Cependant, dans sa forme actuelle, les actions du code malveillant se limitaient à saboter l'installation du paquet, qui était la première version des nouveaux responsables. Les actions malveillantes équivalaient à une boucle avec un message d'erreur lors de la tentative d'installation d'un package avec la commande « npm i -g purescript » sans effectuer aucune activité malveillante évidente.

Deux attaques ont été détectées. Quelques heures après la sortie officielle de la nouvelle version du package purescript npm, quelqu'un a créé une nouvelle version de la dépendance load-from-cwd-or-npm 3.0.2, modifications qui ont conduit à l'appel à loadFromCwdOrNpm() à la place. de la liste des fichiers binaires requis pour l'installation flux renvoyé Traverser, reflétant les requêtes d'entrée en tant que valeurs de sortie.

4 jours plus tard, après que les développeurs ont découvert la source des échecs et se préparaient à publier une mise à jour pour exclure Load-from-cwd-or-npm des dépendances, les attaquants ont publié une autre mise à jour, Load-from-cwd-or-npm. 3.0.4, dans lequel le code malveillant a été supprimé. Cependant, presque immédiatement, une mise à jour d'une autre dépendance, rate-map 1.0.3, a été publiée, qui a ajouté un correctif bloquant l'appel de rappel pour le chargement. Ceux. dans les deux cas, les modifications apportées aux nouvelles versions de load-from-cwd-or-npm et rate-map étaient de la nature d'un sabotage évident. De plus, le code malveillant comportait une vérification qui déclenchait des actions défectueuses uniquement lors de l'installation d'une version de nouveaux responsables et n'apparaissait en aucun cas lors de l'installation d'anciennes versions.

Les développeurs ont résolu le problème en publiant une mise à jour dans laquelle les dépendances problématiques ont été supprimées. Afin d'éviter que du code compromis ne s'installe sur les systèmes des utilisateurs après avoir tenté d'installer une version problématique de PureScript, il est recommandé de supprimer le contenu des répertoires node_modules et des fichiers package-lock.json, puis de définir la version 0.13.2 de purescript comme limite inférieure.

Source: opennet.ru

Ajouter un commentaire