17 points par GN⁺ 2025-11-25 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Sur le registre NPM, plus de 1 000 composants ont été infectés en quelques heures selon la même méthode, et de nouvelles versions contenant du code malveillant ont été publiées
  • Les paquets malveillants se faisaient passer pour un script d’installation du runtime Bun, en ajoutant setup_bun.js et bun_environment.js obfusqué ; à l’exécution, ils utilisaient TruffleHog pour voler des identifiants locaux
  • Les informations sensibles collectées, dont des tokens AWS/GCP/Azure, GitHub et NPM, étaient exfiltrées via un runner GitHub Action nommé SHA1HULUD
  • Le script malveillant exécutait automatiquement npm publish afin d’assurer une auto-réplication de type ver, ce qui a abouti à l’infection de plus de 27 000 dépôts GitHub
  • Le cas est considéré comme un nouvel exemple mettant en lumière la menace sur la sécurité de la supply chain dans tout l’écosystème open source

Vue d’ensemble de l’attaque

  • Le 24 novembre 2025, HelixGuard a détecté sur le registre NPM plus de 1 000 paquets infectés en quelques heures selon le même mode opératoire
    • Les nouvelles versions se présentaient comme ajoutant le runtime Bun et incluaient le script preinstall: node setup_bun.js
    • Le fichier bun_environment.js, distribué avec elles, contenait un code malveillant obfusqué qui téléchargeait et exécutait TruffleHog
  • TruffleHog scannait l’environnement local pour voler des tokens NPM, identifiants AWS/GCP/Azure et variables d’environnement
  • Les informations dérobées étaient exfiltrées en créant un runner GitHub Action SHA1HULUD, puis via un dépôt GitHub portant la description Sha1-Hulud: The Second Coming.
  • HelixGuard estime que cette attaque pourrait être l’œuvre du même acteur que dans l’incident « Shai-Hulud » survenu en septembre 2025

Analyse du fonctionnement du code malveillant

  • L’analyse du paquet @asyncapi/specs, pris comme exemple, montre que la version publiée sur NPM était infectée, alors que le dépôt source sur GitHub restait sain
  • L’attaquant a modifié package.json pour ajouter setup_bun.js, puis a configuré ce script pour appeler bun_environment.js
  • bun_environment.js est un fichier JavaScript fortement obfusqué de plus de 10 Mo, dont les fonctions principales sont les suivantes
    • collecte d’identifiants cloud et de tokens à partir des variables d’environnement
    • scan de secrets avec TruffleHog
    • exfiltration de données via GitHub Actions
  • Le code modifiait aussi package.json pour y injecter l’infection, puis exécutait automatiquement npm publish afin d’assurer une propagation de type ver

Infection de GitHub et exfiltration de données

  • Le script malveillant créait le fichier .github/workflows/formatter_123456789.yml et enregistrait le runner SHA1HULUD
  • Ce workflow empaquetait les secrets du dépôt dans un fichier actionsSecrets.json, encodé en Base64 deux fois
  • Il créait ensuite un dépôt GitHub au nom aléatoire avec la description Sha1-Hulud: The Second Coming. pour y téléverser les données
  • HelixGuard a confirmé que plus de 27 000 dépôts GitHub avaient été infectés
  • Parmi les secrets dérobés figuraient des identifiants de nombreux services, dont AWS_ACCESS_KEY_ID, SLACK_WEBHOOK_URL, CODECOV_TOKEN et WEBFLOW_TOKEN

Liste des paquets infectés

  • HelixGuard a signalé l’infection de centaines de paquets NPM
    • Parmi eux, des paquets d’organisations majeures comme @asyncapi, @ensdomains, @posthog, @zapier, @postman et @voiceflow
    • Plusieurs versions de chaque paquet ont été touchées, par exemple @asyncapi/specs@6.8.2 et @postman/csv-parse@4.0.5
  • La plupart de ces paquets usurpaient l’apparence de projets open source légitimes, avec du code malveillant injecté dans le processus de déploiement automatisé

Enjeux de sécurité

  • Cette attaque illustre comment des failles de sécurité de la supply chain peuvent être exploitées pour contaminer à grande échelle l’écosystème open source
  • Elle met en évidence la nécessité de renforcer la sécurité de l’ensemble de l’infrastructure de développement, notamment autour de NPM, GitHub et des identifiants cloud
  • HelixGuard recommande d’interrompre immédiatement l’installation des paquets infectés et de révoquer sans délai les tokens et identifiants concernés

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.