Aikido

Des paquets npm de Red Hat ont été piratés pour propager un ver visant à voler des identifiants

Écrit par
Ilyas Makari

Le 1er juin 2026, nous avons détecté plusieurs paquets officiels provenant du Portéecloud sur npm ont été compromis par un ver visant à voler des identifiants. Plus de 30 paquets semblent être concernés. Le logiciel malveillant semble similaire au Le malware Mini Shai-Hulud qui a récemment été mis en open source par TeamPCP. Depuis que ces outils ont été rendus publics, d'autres acteurs malveillants ont désormais accès aux mêmes techniques et peuvent les reproduire ou les adapter. Les paquets ont été publiés via GitHub Actions OIDC, ce qui indique que c'est le pipeline CI/CD qui a été compromis plutôt qu'un jeton npm. Si vous avez installé des versions de paquets concernées depuis le 1er juin 2026, considérez tous les secrets CI, cloud , clés SSH et jetons npm comme compromis et remplacez-les immédiatement.

Chronologie de la campagne « Mini Shai-Hulud »

Miasma : Shai-Hulud est-il de retour ?

La charge utile intégrée aux paquets concernés présente de fortes similitudes avec Mini Shai-Hulud, le logiciel malveillant de la chaîne d'approvisionnement mis en open source par TeamPCP. Il est intéressant de noter que cette version se nomme « Miasma » et semble avoir remplacé les références habituelles à Dune de Shai-Hulud par des éléments issus de la mythologie grecque.

TeamPCP est un groupe de cybercriminels qui mène attaques de la chaîne d’approvisionnement plusieurs mois attaques de la chaîne d’approvisionnement ciblées de type CI/CD attaques de la chaîne d’approvisionnement . Leur malware « Mini Shai-Hulud » est un ver sophistiqué conçu pour voler des identifiants, qui se propage en republiant des versions piratées de paquets auxquels le compte de la victime a accès. Nous avons déjà signalé des compromissions affectant Mistral et TanStack, Durable Task de Microsoft, PyTorch Lightning, Bitwarden CLI et Intercom, toutes attribuées au même outil.

Lorsque TeamPCP a mis Mini Shai-Hulud en open source, la menace a dépassé le cadre d'un seul acteur. N'importe quel groupe peut désormais s'emparer de ce framework, l'adapter et le déployer contre de nouvelles cibles.

Contournement de la publication de confiance

La publication sécurisée est un mécanisme introduit par npm afin d'éliminer les jetons de publication à longue durée de vie des pipelines CI/CD, en les remplaçant par des jetons OIDC à courte durée de vie émis par GitHub Actions. Ce mécanisme a été conçu pour offrir une sécurité accrue, mais comme le montrent des attaques récentes, il peut être contourné si un pirate parvient à accéder à un pipeline CI/CD via une vulnérabilité ou un jeton compromis.

Nous avons découvert que le compte GitHub d'un employé de Red Hat avait été piraté et utilisé pour publier directement des commits orphelins malveillants dans plusieurs dépôts, contournant ainsi code review . Ces commits orphelins contenaient un fichier de workflow (ci.yaml) et un script (_index.js).

nom : sortie
le :
  push :
    branches : ['*']
tâches :
  version :
    fonctionne sur : ubuntu-latest
    autorisations :
      jeton d'identification : écriture
      contenu : lecture
    étapes :
      - utilisations : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
      - utilisations : oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6
      - nom : préparer
        exécution : bun exécuter _index.js
        env :
          OIDC_PACKAGES : "cloud,cloud,cloud,cloud,cloud,cloud,cloud,cloud,cloud,cloud,cloud,cloud,cloud,cloud"
          WORKFLOW_ID : "ci.yaml"
          REPO_ID_SUFFIX : « RedHatInsights/frontend-components »

Lorsque le workflow s'exécute, il installe Bun et exécute _index.js, en lui transmettant une liste de paquets cibles via le OIDC_PAQUETS variable d'environnement. Le script utilise la id-token : écriture l'autorisation de demander un jeton OIDC à durée de vie limitée à GitHub, puis utilise ce jeton pour s'authentifier directement auprès du point de terminaison de publication de confiance de npm et publier des versions piratées de tous les paquets figurant dans la liste.

On retrouve ici le même schéma de base que celui observé lors des compromissions de TanStack et de Bitwarden: le pipeline CI/CD lui-même devient la surface d'attaque, tandis que la publication sécurisée basée sur l'OIDC — conçue pour éliminer les jetons à longue durée de vie — se transforme en un signal de confiance trompeur.

Le script de préinstallation

Chaque paquet compromis déclare un script de préinstallation dans son fichier package.json qui exécute automatiquement le fichier index.js de Node.js à chaque installation via npm, avant que le code de l'application ne soit exécuté et avant que le développeur ne se rende compte que quelque chose ne va pas.

"scripts": {
  "preinstall": "node index.js"
}

Le fichier index.js contient une charge utile de 4,2 Mo dissimulée derrière plusieurs couches d'obfuscation.

Ce qu'il dérobe

Comme lors des précédentes attaques Mini Shai-Hulud, le code malveillant procède à un balayage à grande échelle des identifiants auprès cloud , des environnements CI/CD et des outils de développement. Du côté du CI, il cible les secrets de GitHub Actions, notamment GITHUB_TOKEN et ACTIONS_RUNTIME_TOKEN. En ce qui concerne cloud , il recueille les clés d'accès et les jetons de session AWS, les identifiants par défaut des applications GCP et les fichiers de clés des comptes de service, ainsi que les identifiants des entités de service Azure et les jetons d'identité gérée. Il recherche également les jetons HashiCorp Vault, les jetons des comptes de service Kubernetes et les fichiers kubeconfig, les jetons de publication npm et PyPI, les clés privées SSH, les identifiants des registres Docker, les clés GPG et tous les fichiers .env qu'il peut trouver dans le système de fichiers.

Comment Aikido détecte cela

Si vous êtes un utilisateur Aikido, vérifiez votre flux central et filtrez les problèmes de logiciels malveillants. Cela apparaîtra comme un problème critique 100/100. Aikido effectue des rescans nocturnes, mais nous vous recommandons de déclencher un rescan manuel dès maintenant.

Si vous n'êtes pas encore un utilisateur Aikido, vous pouvez créer un compte et connecter vos dépôts. Notre couverture des logiciels malveillants est incluse dans le plan gratuit, aucune carte de crédit requise.

Pour une couverture plus étendue de l'ensemble de votre équipe, la solution « Device Protection » Aikido vous offre une visibilité et un contrôle sur les logiciels installés sur les appareils de votre équipe. Elle couvre les extensions de navigateur, les bibliothèques de code, les plugins IDE et les dépendances de compilation, le tout en un seul endroit. Bloquez les logiciels malveillants avant même qu'ils ne s'installent.

Pour une protection future, envisagez Aikido Safe Chain (open source). Safe Chain s'intègre à votre flux de travail existant, en interceptant les commandes npm, npx, yarn, pnpm et pnpx et en vérifiant les paquets par rapport à Aikido Intel avant l'installation.

‌Indicateurs de compromission

Si vous avez installé l'une des versions de paquets suivantes, considérez que tous vos secrets CI, cloud , clés SSH et jetons npm ont été compromis et remplacez-les immédiatement :

  • cloud (2.3.1, 2.3.2)
  • cloudhat-cloud-services/clientcloud (4.0.3, 4.0.4)
  • cloud (5.0.4, 5.0.5)
  • cloud (4.0.11, 4.0.12)
  • cloud (3.2.1, 3.2.2)
  • cloud (7.7.2, 7.7.3)
  • cloud (3.8.2)
  • cloud (6.11.3, 6.11.4)
  • cloud (4.11.2, 4.11.3)
  • cloud (6.9.2, 6.9.3)
  • cloud (4.9.2, 4.9.3)
  • cloud (1.2.1, 1.2.2)
  • cloud (4.4.1, 4.4.2)
  • cloud (7.4.1, 7.4.2)
  • cloud (0.3.1, 0.3.2)
  • cloud (0.3.1, 0.3.2)
  • cloud (0.6.1, 0.6.2)
  • cloud (5.0.3, 5.0.4)
  • cloud (4.0.4, 4.0.5)
  • cloud (6.0.4, 6.0.5)
  • cloud (2.0.8, 2.0.9)
  • @redhat-cloud-services/clientcloud (6.1.4, 6.1.5)
  • cloud (4.0.4, 4.0.5)
  • cloud (4.0.11, 4.0.12)
  • cloud (9.0.3, 9.0.4)
  • cloud (4.0.4, 4.0.5)
  • cloud-cloud-services/composantscloud (4.7.2, 4.7.3)
  • cloud (3.0.10, 3.0.11)
  • cloud (3.0.10, 3.0.11)
  • cloud (1.2.2)
  • cloud (3.6.1, 3.6.2, 3.6.4)
  • cloud (2.1.8, 2.1.9)
Partager :

https://www.aikido.dev/blog/red-hat-npm-packages-compromised-credential-stealing-worm

S'abonner aux actualités

4,7/5
Fatigué des faux positifs ?
Essayez Aikido, comme 100 000 autres.
Commencez maintenant
Obtenez une démonstration personnalisée

Approuvé par plus de 100 000 équipes

Réserver maintenant
Analysez votre application à la recherche d'IDORs et de chemins d'attaque réels

Approuvé par plus de 100 000 équipes

Démarrer l'analyse
Découvrez comment le pentest IA teste votre application

Approuvé par plus de 100 000 équipes

Démarrer les tests

Sécurisez votre environnement dès maintenant.

Sécurisez votre code, votre cloud et votre environnement d’exécution dans un système centralisé unique.
Détectez et corrigez les vulnérabilités rapidement et automatiquement.

Aucune carte de crédit requise | Résultats en 32 secondes.