Shai-Hulud : Ce qui s'est passé, pourquoi c'est important et comment Scribe a protégé ses clients

Tous Les Articles

TL; DR — Un « ver » npm auto-réplicateur surnommé Shai Hulud Ils ont empoisonné des packages populaires, volé des secrets de développement/CI, puis les ont utilisés pour publier d'autres versions malveillantes, transformant ainsi les victimes en nouveaux points de propagation. Quelques heures après les révélations, Scribe a effectué des vérifications à l'échelle du portefeuille, sur les SBOM et les attestations de build de nos clients, et a confirmé que leurs pipelines étaient pas Nous retirons toutes les versions compromises. Nous disposons également d'une politique de sécurité pour bloquer toute variante arrivant tardivement.

Qu'est-il arrivé

Entre le 15 et le 17 septembre, les chercheurs ont signalé une compromission à grande échelle de la chaîne d'approvisionnement NPM Écosystème. La campagne a utilisé de nouvelles versions de packages légitimes et a déployé une charge utile en plusieurs étapes qui :

  1. Secrets exfiltrés (jetons npm/GitHub, identifiants cloud, clés API), parfois en invoquant des outils d'analyse de secrets populaires ;

  2. Autopropagé en abusant des droits de publication volés pour pousser de nouvelles versions malveillantes provenant des mainteneurs impactés.

  3. Dans de nombreux cas, données volées publiées vers GitHub (par exemple, les dépôts nommés « Shai-Hulud » et « Shai-Hulud Migration ») et a même rendu publics certains dépôts privés.

Les premiers chiffres variaient de 150 à 200+ colis et des centaines de versions malveillantes, avec plusieurs mainteneurs affectés, y compris certains paquets appartenant à des espaces de noms de fournisseurs bien connus. La vague a notamment touché les écosystèmes utilisés par Angulaire développeurs (par exemple, ngx-bootstrap, téléchargement de fichiers ng2) et le populaire @ctrl/tinycolor bibliothèque.

Pourquoi cette attaque est différente :

  • Il a été essentiel pour m’aider à prendre des mesures vermiculaire: une fois qu'un développeur ou un CI extrait une version infectée, la charge utile tente de collecter les informations d'identification et publier davantage de paquets infectés, rayon d'explosion en boule de neige sans direction humaine constante.

  • L’objectif n’est pas seulement l’exécution du code, c’est compromis soutenu de l'éditeur et propagation à l'échelle de l'écosystème, ce qui rend le nettoyage « à un moment donné » insuffisant.

Conséquences probables

  • Exposition aux informations d’identification et mouvement latéral. Les jetons exfiltrés peuvent permettre la publication de portes dérobées, la falsification de référentiels et la persistance CI/CD même après le retrait des packages.

  • Empoisonnement par dépendance silencieuse. Les packages populaires sont fréquemment mis à jour ; un seul npm installer ou la construction CI peut importer des scripts post-installation malveillants à grande échelle.

  • Fuite publique d'IP privée. Certaines victimes ont vu dépôts privés forcés publics lors de la propagation, augmentant les risques juridiques et de réputation.

Comment Scribe a aidé les clients à réagir immédiatement

Quelques heures après les premiers rapports fiables, Scribe a lancé une manuel de vérification et de confinement en deux volets dans tous les environnements clients :

  1. SBOM et balayage du graphique de dépendance

    • Interrogé en continu les SBOM et les fichiers de verrouillage générés à travers les référentiels, les images et les fonctions pour localiser tous les noms/versions de packages malveillants référencés lié aux révélations de Shai-Hulud (par exemple, @ctrl/tinycolor variantes ; packages Angular affectés).

    • Résultat : pour nos portefeuilles gérés, aucun pipeline ou artefact actif ne consommait les versions signalées; les clients ont été informés la nuit même avec des preuves.

  2. Garde-fous et barrières de sécurité de type « politique en tant que code »

    • Temporairement en épinglé paquets critiques, mises à jour bloquées non signées ou non vérifiées et appliquées portes qui alerte lorsque les détections correspondent aux IoC (noms/versions, fenêtres de publication, indicateurs des équipes de recherche).

    • Pour les équipes utilisant nos workflows agentiques, auto-correction des versions propres ont été proposées et des PR ont été créés avec des preuves de provenance jointes pour une révision en un clic.

Pourquoi cela a fonctionné

  • Les preuves continues sont plus efficaces que les audits périodiques. Parce que Scribe collecte en permanence les SBOM, les sorties des scanners et les builds attestations, nous pourrions répondre «Étions-nous exposés ?« avec des faits immédiats, à l’échelle du portefeuille, et non des suppositions faites au mieux.

  • Des garde-fous arrêtent la propagation. Même si un développeur s'exécutait mise à jour npm localement, Scribe's portes de pré-production peut empêcher les artefacts contaminés de passer à l'intégration, à la mise en scène ou à la production.

  • La réponse agentique ferme le MTTR. Nos agents de correction rédigent des PR (épingler, rétablir ou mettre à niveau), font tourner les secrets CI si nécessaire et documentent la chaîne de traçabilité, transformant ainsi une bousculade en une liste de contrôle.

Si vous évaluez votre exposition aujourd'hui

  1. Inventaire d'abord. Recherchez les noms et versions des packages concernés dans les SBOM/fichiers de verrouillage et les manifestes d'artefacts publiés dans la fenêtre d'incident. (Plusieurs fournisseurs utilisent des compteurs et des indicateurs de compromission.)

  2. Faire tourner les jetons émis par n'importe quelle machine ou coureur qui a exécuté un paquet infecté. Supposons un mouvement latéral ; reconstruisons à partir de générateurs de confiance.

  3. Consulter les journaux d'audit GitHub pour les dépôts nommés « Shai-Hulud » ou « Migration Shai-Hulud », branches supprimées ou migrations publiques forcées.

  4. Renforcez votre pipeline: appliquer la vérification de la signature/provenance, épingler les bibliothèques critiques et bloquer les échecs de politique (par exemple, éditeur non signé/inconnu, scripts de post-installation anormaux).

Le tableau d'ensemble

Shai-Hulud est un aperçu de la direction que prennent les menaces pesant sur la chaîne d’approvisionnement : logiciel malveillant voleur d'identifiants et autopropagateur qui instrumentalise l'écosystème des développeurs lui-même. La réponse n'est pas une réponse héroïque aux incidents ; c'est assurance continue—preuves signées, provenance vérifiable, politique en tant que code et correction automatisée et agentique qui s'exécute à la vitesse du développeur.

Si vous avez besoin d'aide pour valider l'exposition ou vous lever garde-corps et portails qui aurait bloqué cette classe d'attaque, nous serons heureux de guider votre équipe à travers une évaluation personnalisée en utilisant vos propres pipelines et SBOM.

Pour plus de détails, contactez-nous

Ce contenu vous est proposé par Scribe Security, l'un des principaux fournisseurs de solutions de sécurité de bout en bout pour la chaîne d'approvisionnement logicielle, offrant une sécurité de pointe aux artefacts de code ainsi qu'aux processus de développement et de livraison de code tout au long des chaînes d'approvisionnement logicielles. En savoir plus.