Un ver informatique auto-propagé a infecté 187 paquets dans NPM

L'attaque sur les paquets maintenus dans le référentiel NPM a atteint un nouveau niveau. En plus d'utiliser des logiciels malveillants pour intercepter des paiements et des informations confidentielles, les attaquants ont commencé à injecter un ver dans des paquets compromis pour automatiser l'insertion de logiciels malveillants dans les dépendances. L'utilisation du ver a été détectée après la compromission du paquet NPM @ctrl/tinycolor, qui a 2,2 millions de téléchargements hebdomadaires et qui est utilisé comme dépendance directe dans 964 paquets. En raison de l'activité du ver, l'attaque a touché 187 paquets, pour lesquels des versions malveillantes ont été créées (477 versions malveillantes).

Lors d'une nouvelle attaque, après avoir obtenu les identifiants du compte du mainteneur par phishing, les attaquants publient une version d'un paquet contenant un ver qui s'active lors de l'installation du paquet compromis en tant que dépendance. Une fois activé, le ver recherche des identifiants dans l'environnement actuel, télécharge et exécute l'outil TruffleHog. En cas de détection d'un token de connexion au répertoire NPM, le ver publie automatiquement une nouvelle version malveillante et affecte en chaîne l'arborescence des dépendances. En plus du token d'accès à NPM, le ver conserve les clés d'accès à GitHub et aux services cloud AWS, Azure et GCP (Google Cloud Platform), ainsi que d'autres données confidentielles susceptibles d'être détectées par le scanner TruffleHog.

Des versions malveillantes sont créées pour les 20 paquets les plus populaires auxquels le token NPM trouvé donne accès. La fonctionnalité de publication de version est implémentée sous la forme d'une fonction NpmModule.updatePackage, qui charge l'archive source du paquet, modifie le numéro de version et ajoute un hook postinstall dans le fichier package.json, insère le gestionnaire bundle.js, reconditionne le paquet et le publie. La fonction est compatible avec Linux et macOS.

Le ver a reçu le nom de code Shai-Hulud (un ver géant mentionné dans le roman Dune). Les identifiants trouvés dans le système sont publiés sur GitHub via la création de dépôts nommés Shai-Hulud (par exemple, « B611/Shai-Hulud »), et ils sont également reflétés sous forme codée dans les journaux de GitHub Actions. Dans le dépôt créé, un fichier data.json contient une chaîne avec des informations sur le système, les variables d'environnement et les clés d'accès interceptées, codées en base64. Dans l'environnement CI basé sur GitHub, pour transmettre des informations à un hôte externe, le ver crée un gestionnaire GitHub Actions (.github/workflows/shai-hulud-workflow.yml). Apparemment, l'attaque ne se limite pas aux 187 paquets mentionnés, car de nouveaux dépôts nommés Shai-Hulud continuent d'apparaître sur GitHub, contenant des fichiers data.json.

Un ver informatique auto-propagé a infecté 187 paquets dans NPM

Entre autres, en raison de l'activité du ver, 25 paquets de la société CrowdStrike, qui développe des outils pour la protection contre les attaques via les dépendances (Supply Chain). Selon CrowdStrike, les paquets compromis n'ont pas été utilisés sur la plateforme Falcon et l'attaque ne s'est pas étendue aux clients. Il a également été indiqué qu'une vague précédente de publications de versions malveillantes sur NPM, réalisée sans le ver, a touché le projet gemini-cli développé par Google.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster