Des packages PyPI malveillants minent de la crypto-monnaie

0

Récemment, plusieurs packages malveillants ont été détectés dans le référentiel PyPI pour les projets Python qui ont transformé les postes de travail des développeurs en machines de crypto-mining.

Tous les packages malveillants ont été publiés par le même compte et ont incité les développeurs à les télécharger des milliers de fois en utilisant des noms mal orthographiés de projets Python légitimes.

Un script Bash récupère le crypto-mineur

Au total, six packages contenant du code malveillant ont infiltré le Python Package Index (PyPI) en Avril :

  • maratlib
  • maratlib1
  • matplatlib-plus
  • mllearnlib
  • mplatlib
  • learninglib

Tous provenaient de l’utilisateur « nedog123 » et les noms de la plupart d’entre eux sont des versions mal orthographiées du logiciel de traçage légitime matplotlib.

Ax Sharma, un chercheur en sécurité de la société d’automatisation devops Sonatype, a analysé le package « maratlib » dans un article de blog, notant qu’il était utilisé comme dépendance par les autres composants malveillants.

« Pour chacun de ces packages, le code malveillant est contenu dans le fichier setup.py qui est un script de construction qui s’exécute lors de l’installation d’un package », écrit le chercheur.

Lors de l’analyse du package, Sharma a découvert qu’il tentait de télécharger un script Bash (aza2.sh) à partir d’un référentiel GitHub qui n’est plus disponible.

Sharma a suivi les alias de l’auteur sur GitHub et a découvert que le rôle du script était d’exécuter un crypto-mineur appelé « Ubqminer » sur la machine compromise.

pypi

Le chercheur note également que l’auteur du malware a remplacé l’adresse par défaut du portefeuille Kryptex par la sienne pour miner de la crypto-monnaie Ubiq (UBQ).

Dans une autre variante, le script incluait un programme de crypto-minage différent qui utilise la puissance du GPU, le T-Rex open-source.

Pypi

Les attaquants ciblent constamment des référentiels de code open source comme PyPI, le NPM pour NodeJS ou RubyGems. Même si la détection intervient lorsque le nombre de téléchargements est faible, comme cela arrive généralement, il existe un risque important car les développeurs peuvent intégrer le code malveillant dans des projets largement utilisés.

Dans ce cas, les six packages malveillants ont été détectés par Sonatype après avoir analysé le référentiel PyPI avec son système automatisé de détection de logiciels malveillants, Release Integrity. Au moment de la détection, les packages avaient accumulé près de 5 000 téléchargements depuis Avril, « maratlib » enregistrant le nombre de téléchargements le plus élevé, 2 371.

Laisser un commentaire