Hier soir, plusieurs sociétés de sécurité réseau ont détecté que Red Hat avait publié plusieurs packages logiciels contenant des charges utiles malveillantes sur la plate-forme NPM. Ces charges utiles malveillantes utilisaient des variantes du ver open source Mini Shai-Hulud. Après être entrés dans l’environnement de développement, ils collectaient et chiffraient diverses informations d’identification sensibles et les téléchargeaient sur des serveurs contrôlés par des pirates. Dans le même temps, le ver utiliserait ces informations d’identification pour continuer à se propager latéralement afin d’infecter davantage d’environnements de développement et de voler davantage d’informations d’identification.
Après une enquête préliminaire, les chercheurs en sécurité estiment que la source de l'attaque de la chaîne d'approvisionnement était le détournement du compte GitHub d'un ingénieur Red Hat. Le pirate informatique a ensuite utilisé le mécanisme de publication de confiance NPM pour diffuser des packages de logiciels malveillants à partir de jetons OIDC à court terme émis dans GitHub Actions. On ne sait pas exactement combien de développeurs en aval ont été réellement touchés, mais ces progiciels publiés par Red Hat sont principalement destinés à une utilisation en entreprise, de sorte que la plupart des développeurs en aval infectés sont également des développeurs au niveau de l'entreprise.

Le mécanisme de publication approuvé est également contourné :
Le mécanisme de publication fiable de NPM vise à supprimer les jetons de publication à long terme du pipeline CI/CD et à utiliser à la place les jetons OIDC à court terme émis par GitHub Actions pour remplacer ces jetons à long terme. Ce mécanisme a été conçu à l'origine pour améliorer la sécurité et éviter les problèmes de sécurité causés par la fuite d'informations d'identification valides à long terme. Cependant, de récents cas d'attaques de la chaîne d'approvisionnement ont montré que si un attaquant accède au pipeline CI/CD via une vulnérabilité ou un jeton volé, le mécanisme de publication fiable peut être complètement contourné.
Dans ce cas d'attaque, le compte GitHub d'un ingénieur Red Hat a été compromis puis utilisé par des pirates informatiques pour transmettre des soumissions orphelines malveillantes directement vers plusieurs référentiels de code. L’ensemble du processus a également contourné la révision du code. Ces soumissions orphelines contenaient le fichier de workflow CI.YAML et le script _INDEX.JS. Lorsque le workflow est en cours d'exécution, il installera Bun et exécutera _INDEX.JS, puis lui transmettra la liste des packages cibles via des variables d'environnement. Le script utilisera également les autorisations pour demander un OIDC à court terme à GitHub. jeton, puis utilisez le jeton pour envoyer le package contenant la charge utile malveillante directement vers NPM.
Variantes de mini vers des sables :
L'équipe TeamPCP, auparavant dédiée aux attaques de la chaîne d'approvisionnement, a publié le ver Shai-Hulud en open source. Aujourd’hui, de plus en plus de pirates utilisent ce ver pour mener des attaques. Le ver utilisé par les pirates dans ce cas d'attaque est modifié sur la base de Sandworm, mais il est essentiellement utilisé pour voler diverses informations d'identification dans l'environnement de développement et tenter de le diffuser horizontalement.
Les types d'informations d'identification volées incluent : les clés d'actions GitHub, les clés d'accès et les jetons de session AWS, les informations d'identification par défaut GCP et les fichiers de clés de service de compte, les informations d'identification du principal du service Azure et les jetons d'identité gérés, les jetons de publication NPM et PYPI, les clés SSH, les informations d'identification du registre Docker, les clés GPG et tous les fichiers .env trouvés dans l'environnement de développement.