Trois bibliothèques JavaScript téléchargées dans le référentiel officiel de packages NPM ont été démasquées comme des logiciels malveillants de crypto-mining, démontrant une fois de plus comment les référentiels de packages logiciels open source deviennent une cible lucrative pour exécuter un éventail d’attaques sur les systèmes Windows, macOS et Linux.
Les packages malveillants en question — nommés d’accord, klow, et connu – ont été publiés par le même développeur et ont prétendu à tort être des analyseurs de chaînes d’agent utilisateur basés sur JavaScript conçus pour extraire les spécificités matérielles du « Agent utilisateur » En-tête HTTP. Mais à l’insu des victimes qui les ont importés, l’auteur a caché un malware de minage de crypto-monnaie dans les bibliothèques.
Le compte NPM du mauvais acteur a depuis été désactivé, et les trois bibliothèques, chacune ayant été téléchargées respectivement 112, 4 et 65 fois, ont été supprimées du référentiel le 15 octobre 2021.
Les attaques impliquant les trois bibliothèques ont fonctionné en détectant le système d’exploitation actuel, avant de procéder à l’exécution d’un script .bat (pour Windows) ou .sh (pour un système d’exploitation basé sur Unix). « Ces scripts téléchargent ensuite un EXE hébergé en externe ou un ELF Linux, et exécutent le binaire avec des arguments spécifiant le pool de minage à utiliser, le portefeuille pour extraire la crypto-monnaie et le nombre de threads CPU à utiliser », Ali ElShakankiry, chercheur en sécurité de Sonatype. mentionné.
C’est loin d’être la première fois détournement de marque, le typosquatting et les malwares de cryptomining ont été trouvés cachés dans les référentiels de logiciels.
Plus tôt en juin, Sonatype, et JFrog (anciennement Vdoo) a identifié des packages malveillants infiltrant le référentiel PyPI qui déployaient secrètement des crypto-mineurs sur les machines affectées. Ceci est nonobstant paquets copieurs nommé d’après des référentiels ou des composants utilisés en interne par des entreprises technologiques de haut niveau dans ce qu’on appelle la confusion des dépendances.