IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

La bibliothèque npm populaire "coa" est détournée pour voler les mots de passe des utilisateurs,
Le paquet npm "rc" serait également compromis

Le , par Bill Fassinou

93PARTAGES

7  0 
Ces derniers mois, les bibliothèques npm semblent être frappées par une vague de détournement à des fins malveillantes. Après ua-parser-js, qui a été détourné le mois passé pour miner des cryptomonnaies, c'est au tour de coa et rc, deux paquets npm ayant fait l'objet de 23 millions de téléchargements hebdomadaires. Dans le cas de coa, le détournement de la bibliothèque impacte de manière éphémère les pipelines React dans le monde entier. Après analyse, l'équipe npm a déclaré que le logiciel malveillant identifié dans le détournement de rc était identique à celui distribué dans le détournement de coa.

Les paquets npm en proie à une vague de détournement

Le jeudi 4 novembre 2021, à peine plus d'une semaine après le détournement de ua-parser-js, une autre bibliothèque npm populaire appelée coa (Command-Option-Argument), utilisée dans les paquets React du monde entier, a été détournée pour distribuer un malware voleur d'informations d'identification. Les développeurs ont remarqué que quelque chose n'allait pas lorsque de nouvelles versions étranges de coa sont apparues sur npm, brisant les constructions de logiciels. Le paquet coa recevrait environ 9 millions de téléchargements hebdomadaires sur npm, et serait utilisé par près de 5 millions de dépôts open source sur GitHub.


Versions détournées du paquet npm coa

coa est un analyseur d'options en ligne de commande pour les projets Node.js. La dernière version stable 2.0.2 du projet a été publiée en décembre 2018. Cependant, plusieurs versions suspectes 2.0.3, 2.0.4, 2.1.1, 2.1.3 et 3.1.3 ont commencé à apparaître sur npm jeudi, brisant les constructions React qui dépendent de coa. « Je ne suis pas sûr de la raison ou de ce qui s'est passé, mais il y a 10 minutes, il y a eu une version (même si la dernière modification sur GitHub date de 2018). Quoi que cette version ait fait, elle a cassé Internet », a déclaré Roberto Wesley Overdijk, un développeur React.

Plusieurs développeurs ont rejoint la discussion, confirmant avoir rencontré des problèmes avec leurs constructions depuis que les nouvelles versions de coa ont fait leur apparition sur npm. Dans la même journée, il a été constaté qu'un autre composant npm couramment utilisé, rc, avait également été détourné. La bibliothèque rc est un chargeur de configuration et fait l'objet de 14 millions de téléchargements par semaine en moyenne. Selon les développeurs ayant signalé le détournement, les deux paquets auraient été compromis à peu près au même moment et résultent de l'accès des attaquants au compte d'un développeur de paquets.

« Le compte [de développeur] compromis a été temporairement désactivé et nous enquêtons activement sur l'incident et surveillons toute activité similaire », a déclaré l'équipe npm jeudi, peu après avoir détecté la compromission de coa suite à une vague de rapports sur des constructions ratées. Selon le média BleepingComputer - qui a analysé les versions comprises de coa et rc - une fois les comptes piratés, l'acteur de la menace a ajouté un script de post-installation à la base de code originale qui exécute un TypeScript obfusqué, vérifie les détails du système d'exploitation et télécharge un script batch Windows ou bash Linux.


Code JavaScript obfusqué présent dans le fichier compile.js

En outre, cet incident fait suite au piratage, le mois dernier, d'une autre bibliothèque npm populaire, ua-parser-js, utilisée par Facebook, Microsoft, Amazon, Reddit et d'autres grandes entreprises technologiques. Le logiciel malveillant contenu dans les versions piratées de coa, tel qu'analysé par BleepingComputer, serait pratiquement identique au code trouvé dans les versions détournées de ua-parser-js, établissant potentiellement un lien entre les acteurs de la menace derrière les deux incidents. Selon BleepingComputer, le logiciel malveillant est probablement le cheval de Troie voleur de mots de passe Danabot pour Windows.

Lorsqu'il est chargé, Danabot exécute les différentes activités malveillantes suivantes :

  • voler les mots de passe de divers navigateurs Web, notamment Chrome, Firefox, Opera, Internet Explorer et Safari ;
  • voler les mots de passe de diverses applications, notamment VNC, les applications de casino en ligne, les clients FTP et les comptes de messagerie ;
  • voler les cartes de crédit enregistrées ;
  • prendre des captures d'écran des écrans actifs ;
  • enregistrer les frappes au clavier.


Toutes ces données volées sont ensuite renvoyées aux acteurs de la menace pour leur permettre de violer les autres comptes des victimes. Après la découverte de la compromission des deux paquets, l'équipe npm a déclaré qu'elle a supprimé les versions compromises et a proposé des mesures d'atténuation. « Si j'ai bien compris, npm a supprimé les versions compromises et a bloqué temporairement la publication de nouvelles versions pendant la récupération de l'accès au paquet. Aucun correctif ne devrait être nécessaire puisque les versions compromises ont été supprimées », explique Overdijk.

Quelles sont les mesures d'atténuation recommandées ?

En raison de l'impact étendu de cette attaque de la chaîne d'approvisionnement, il est fortement conseillé à tous les utilisateurs des bibliothèques coa et rc de vérifier l'absence de logiciels malveillants dans leurs projets. Cela inclut la vérification de l'existence de compile.js, compile.bat, sdd.dll et la suppression des fichiers s'ils sont trouvés. Étant donné que cette variante de "sdd.dll" a également été identifiée comme un cheval de Troie sur VirusTotal, et que celle déposée par ua-parser-js était un voleur d'informations d'identification, les utilisateurs infectés doivent également considérer que leur appareil est entièrement compromis.


Le cheval de Troie voleur de mot de passe lancé par Rundll

De ce fait, ils doivent changer leurs mots de passe, clés et jetons d'actualisation, car ils ont probablement été compromis et envoyés à l'acteur de la menace. « Les utilisateurs des versions affectées (2.0.3 et plus) doivent rétrograder vers 2.0.2 dès que possible et vérifier leurs systèmes pour détecter toute activité suspecte. Voir ce numéro pour plus de détails au fur et à mesure. Tout ordinateur sur lequel ce paquet est installé ou en cours d'exécution doit être considéré comme entièrement compromis », ont déclaré jeudi les mainteneurs de la bibliothèque coa.

« Tous les secrets et les clés stockés sur cet ordinateur doivent être immédiatement transférés sur un autre ordinateur. Le paquet doit être supprimé, mais comme le contrôle total de la machine peut avoir été donné à une entité tierce, il n'y a aucune garantie que la suppression du paquet supprimera tous les logiciels malveillants résultant de son installation », ont-ils ajouté. Les conseils partagés dans la discussion originale sur GitHub incluent l'épinglage de la version npm à la version stable "2.0.2". Les instructions d'atténuation pour le paquet rc sont identiques aux précédentes. Les versions du paquet rc concernées sont 1.2.9, 1.3.9, et 2.3.9.



Les utilisateurs doivent rétrograder à la version 1.2.8 dès que possible et vérifier leurs systèmes pour toute activité suspecte. « À la suite d'enquêtes en cours, nous avons identifié en temps réel de multiples versions du paquet rc contenant des logiciels malveillants identiques à ceux du paquet coa. Les versions malveillantes de rc ont été immédiatement supprimées du registre et nous avons publié un avis », a déclaré l'équipe npm, qui attribue l'incident à un compte npm compromis et recommande aux responsables de paquets npm d'utiliser une authentification à deux facteurs pour prévenir de telles attaques.

Sources : Paquet "coa" (1,2), Paquet "rc" (1, 2)

Et vous ?

Quel est votre avis sur le sujet ?
Selon vous, pourquoi les paquets npm sont régulièrement détournés ?
Avez-vous été affecté par l'un de ces paquets compromis ? Si oui, comment vous en êtes-vous sorti ?

Voir aussi

Des logiciels malveillants ont été découverts dans le très populaire paquet npm "ua-parser-js", notamment un mineur de cryptomonnaie et un cheval de Troie

La spécification des nouvelles fonctionnalités de la norme ECMAScript 2021 est terminée. Tour d'horizon des nouveautés introduites dans cette nouvelle version

Un package npm malveillant ouvre des portes dérobées sur les ordinateurs des programmeurs, le code JavaScript douteux se faisant passer pour une bibliothèque liée à la plateforme Twilio

Quatre packages npm trouvés en train d'ouvrir des shells sur des systèmes Linux et Windows. Tout ordinateur avec l'un de ces packages installés « doit être considéré comme totalement compromis »

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de TotoParis
Membre éclairé https://www.developpez.com
Le 07/11/2021 à 11:45
Absolument merveilleux...
2  2 
Avatar de Kelevra
Membre à l'essai https://www.developpez.com
Le 12/11/2021 à 15:01
mouhaha j'en parle à mon pote qui est dans le 'git game' son commentaire :
"et puis npm c'est pas réputé pour être les gens les plus carrés
ils sont plus occupés de parler de leur non binarité et de leurs cheveux bleu que de coder"
0  0 
Avatar de Doksuri
Membre expert https://www.developpez.com
Le 12/11/2021 à 16:19
je pense qu'une idee serait d'autoriser la publication d'un code sur npm qu'en version claire (non obfusquee & non minifiee)
et c'est a chaqun d'utiliser un outil pour minifier les fichiers s'il le souhaite..
ca n'empecherai pas les hacks, mais ca aiderai a les trouver/signaler
0  0