Données concernant les menaces Logiciels malveillants Attaque de la chaîne d'approvisionnement par miasmes

Attaque de la chaîne d'approvisionnement par miasmes

Une nouvelle campagne d'attaques ciblant la chaîne d'approvisionnement logicielle, baptisée Miasma, a compromis plusieurs packages npm de @redhat-cloud-services. Cette opération vise à collecter des identifiants et des informations sensibles dans les environnements de développement, tout en déployant un ver informatique auto-réplicatif capable de se propager au sein des écosystèmes de développement logiciel.

La campagne reprend fidèlement les tactiques précédemment associées à Mini Shai-Hulud , en exploitant l'exécution lors de l'installation, le vol d'identifiants, la compromission CI/CD, l'exfiltration de données chiffrées et les mécanismes permettant la propagation en aval.

L’attribution reste incertaine.

L'auteur de la menace Miasma n'a pas encore été formellement identifié. L'attribution est compliquée par le fait que TeamPCP, également connu sous les noms de Replicating Marauder, TGR-CRI-1135 et UNC6780, avait précédemment publié les outils d'attaque associés au ver Shai-Hulud en tant que projets open source. Cette initiative a permis à d'autres groupes de cybercriminels de reproduire des techniques similaires, rendant l'attribution définitive beaucoup plus difficile.

Paquets npm compromis

Les packages npm suivants ont été identifiés comme étant affectés :

@redhat-cloud-services/vulnerabilities-client

@redhat-cloud-services/tsc-transform-imports

@redhat-cloud-services/topological-inventory-client

@redhat-cloud-services/sources-client

@redhat-cloud-services/rule-components

@redhat-cloud-services/remediations-client

@redhat-cloud-services/rbac-client

Collecte d’identifiants via une logique d’installation obfusquée

Des chercheurs en sécurité ont découvert que les paquets malveillants contiennent un script de préinstallation obfusqué, conçu pour s'exécuter automatiquement lors de l'installation du paquet. Le logiciel malveillant cible un large éventail de données sensibles, notamment les clés secrètes GitHub Actions, les jetons d'authentification npm, les identifiants cloud, les clés secrètes Kubernetes et HashiCorp Vault, les clés SSH, les identifiants Git et d'autres fichiers confidentiels stockés sur les systèmes compromis.

Comme observé lors des précédentes campagnes Mini Shai-Hulud, ce logiciel malveillant intègre des routines d'exfiltration chiffrées. Les informations volées sont transmises à api.anthropic.com:443/v1/api, tandis que GitHub sert de canal d'exfiltration alternatif. Cette stratégie à double objectif témoigne d'une volonté non seulement de dérober des identifiants, mais aussi de les exploiter pour compromettre davantage la chaîne d'approvisionnement logicielle.

Les paquets de données chiffrés sont validés via l'API GitHub, et les messages de validation peuvent contenir la chaîne :

« Si vous invalidez ce jeton, l'ordinateur du propriétaire sera détruit. »

Techniques de furtivité et mécanismes de propagation

Le logiciel malveillant intègre plusieurs mesures visant à optimiser sa persistance, à échapper à la détection et à étendre son accès. Une caractéristique notable est l'évitement délibéré de son exécution sur les systèmes russophones, un comportement déjà observé lors des campagnes de dysfonctionnement de la chaîne d'approvisionnement de GlassWorm.

Dans les environnements npm, le code malveillant interagit avec les points de terminaison d'échange de jetons OIDC et whoami, reconditionne les archives logicielles en archives tar mises à jour et signe les artefacts modifiés à l'aide de Sigstore. Les identifiants volés sont ensuite exfiltrés vers des dépôts GitHub publics contrôlés par l'attaquant, portant la description « Miasma : Le Fléau qui se propage ».

Les enquêteurs ont identifié le premier commit connu contenant cette description le 29 mai 2026, ce qui suggère soit le début des opérations actives, soit une phase de test initiale aux alentours de cette date.

Dans les environnements GitHub, le logiciel malveillant recense les dépôts accessibles aux jetons compromis, analyse les définitions de flux de travail via des requêtes GraphQL et injecte des flux de travail malveillants grâce à la mutation `createCommitOnBranch`. Cette approche permet aux modifications malveillantes de passer pour des commits vérifiés et signés cryptographiquement.

Fonctionnalités avancées de persistance et d’élévation de privilèges

L'analyse a révélé plusieurs fonctionnalités supplémentaires intégrées au logiciel malveillant :

Tentatives d'élévation de privilèges par le lancement de conteneurs qui montent le répertoire /etc/sudoers.d de l'hôte et accordent un accès sudo sans mot de passe aux exécuteurs CI.

Détection des solutions de sécurité des terminaux, notamment CrowdStrike, SentinelOne, Carbon Black et StepSecurity Harden-Runner, avant le lancement d'une activité malveillante.

Mécanismes de persistance qui injectent un hook SessionStart dans le code Anthropic Claude et créent des fichiers tasks.json malveillants configurés avec 'runOn': 'folderOpen' pour les projets Microsoft Visual Studio Code, garantissant ainsi leur exécution lors des futures sessions de développement.

Accent accru sur la compromission de l’identité dans le cloud

Une évolution majeure de la variante Miasma réside dans son champ d'action élargi à la collecte d'identités cloud. De nouveaux modules ciblant les environnements Google Cloud Platform (GCP) et Microsoft Azure collectent des informations sur toutes les identités cloud accessibles depuis une machine infectée.

Les versions précédentes se concentraient principalement sur l'extraction de données confidentielles dans les environnements cloud. L'ajout de collecteurs axés sur l'identité témoigne d'un changement stratégique visant à obtenir un accès direct au cloud et à exploiter les identités privilégiées au sein des infrastructures cloud.

Pour compliquer davantage la détection, chaque infection génère une charge utile chiffrée de manière unique. Cette personnalisation entrave considérablement la détection par signature, le suivi des logiciels malveillants et la corrélation des versions entre les incidents.

Compromission initiale et infiltration de la chaîne d’approvisionnement

Les éléments disponibles laissent penser que la campagne a débuté par le piratage du compte GitHub d'un employé de Red Hat. Les enquêteurs estiment que ce compte a servi de point d'entrée pour l'infection, permettant aux attaquants d'injecter du code malveillant dans les paquets affectés.

Le compte compromis aurait injecté des commits orphelins malveillants dans deux dépôts Red Hat Insights, contournant les procédures de revue de code établies et introduisant la charge utile malveillante dans la chaîne d'approvisionnement logicielle.

Guide de réponse et de remédiation en cas d’incident

Les organisations ayant installé des versions de paquets affectées doivent immédiatement isoler les systèmes impactés, supprimer les paquets malveillants, renouveler tous les identifiants potentiellement exposés, examiner l'activité sur GitHub et npm afin de détecter tout signe d'accès non autorisé et vérifier les environnements à la recherche de mécanismes de persistance. Une attention particulière doit être portée aux modifications non autorisées impliquant :

~/.claude/settings.json, .vscode/tasks.json, .github/workflows/codeql.yml et .github/setup.js.

Des contrôles d'accès stricts doivent également être mis en œuvre dans les environnements de développement et de cloud.

Étant donné que le logiciel malveillant établit des capacités d'exécution en arrière-plan et une persistance au sein des outils de développement, la simple désinstallation des packages npm concernés ou la suppression du répertoire node_modules ne doit pas être considérée comme une solution suffisante.

Dans les environnements CI/CD, les exécutions de workflow affectées doivent être immédiatement suspendues. Les organisations doivent invalider les artefacts de build créés pendant la période d'exposition et examiner minutieusement si des versions, des images de conteneur, des packages npm, des artefacts de déploiement ou d'autres composants logiciels ont été générés après l'introduction du package malveillant dans l'environnement.

Tendance

Le plus regardé

Chargement...