Attaque sur SAP CAP en npm expose des jetons et des lettres de créances à travers le vol de mémoire de coureurs par TeamPCP

Publié 5 min de lectura 107 lecture

Une série de paquets SAP officiels publiés dans le dossier npm a été compromise et, selon l'analyse de plusieurs équipes de recherche, l'intrusion coïncide avec la signature tactique-opérationnelle du groupe appelé TeamPCP. Les versions touchées qui ont été publiées avec un code malveillant et ont déjà été dépréciées dans npm incluent @ cap-js / sqlite v2.2.2, @ cap-js / postgres v2.2.2, @ cap-js / db-service v2.10.1 et mbt v1.2.48, composants liés à la programmation d'applications en nuage (CAP) et au modèle MTA en nuage qui sont utilisés dans les développements commerciaux.

Les chercheurs d'Aikido et de Socket ont documenté que le paquet compromis ajoute un script de pré-installation qui lance un chargeur appelé setup.mjs, qui à son tour télécharge le Bun runtime de GitHub et exécute une charge utile gâchée appelée exection. Js. Cette charge utile agit comme un voleur d'informations conçu pour extraire des jetons de npm et GitHub, des clés SSH, des identifiants de fournisseur de cloud (AWS, Azure, GCP), des paramètres et des secrets Kubernetes et des variables d'environnement CI / CD, en plus d'essayer de lire la mémoire des coureurs de CI pour échapper au masque des secrets.

Attaque sur SAP CAP en npm expose des jetons et des lettres de créances à travers le vol de mémoire de coureurs par TeamPCP
Image générée avec IA.

Le mécanisme d'exfiltration documenté comprend le chiffrement des informations volées et son ascension vers les dépôts publics GitHub créés sous les comptes des victimes, en utilisant des descriptions avec la chaîne "A Mini Shai-Hulud has Appeted". En outre, les logiciels malveillants utilisent une technique "mort-drop" en commettant des messages dans GitHub avec le formulaire "OhNoWhatsGoingOnWithGitHub:"pour récupérer des jetons, ce qui permet d'élargir la portée et la persistance de l'attaquant. Ces détails sont inclus dans les rapports d'Aikido et de Socket: Aïkido - Mini Shai-Hulud et Socket - Analyse d'attaque SAP CAP.

La capacité des logiciels malveillants à lire / proc / pid/ cartes et / proc / pid/ mem in Linux runers reproduit les tactiques vues dans les engagements antérieurs attribués à TeamPC contre des fournisseurs tels que Bitwarden et Checkmark: secrets sont supprimés directement de la mémoire du processus de coureur pour échapper à tout masque de la connexion du fournisseur CI. Avec des identifiants volés, l'acteur tente de se propager automatiquement en modifiant d'autres paquets et dépôts pour insérer la même chaîne malveillante.

Sur le vecteur initial, il n'y a pas de confirmation publique de SAP à la fin des rapports, mais les chercheurs soulignent la possibilité qu'un jeton npm soit exposé par une erreur d'un CercleCI Job, qui est en ligne avec les modèles antérieurs dans lesquels les lettres de créance CI ont servi de pivot de publication malveillant. Au fur et à mesure que SAP enquête, les organisations qui utilisent le PAC ou les librairies concernées doivent prendre un risque d'engagement dans leurs chaînes de développement.

Les mesures immédiates recommandées comprennent la rotation et la révocation de tout jeton et de tout titre de compétence pouvant avoir été présent dans des machines ou des IC: régénérer les jetons npm et GitHub, faire pivoter les touches SSH, renouveler les références cloud et régénérer les secrets CI. Il est essentiel d'inspecter les dépôts et comptes dans GitHub à la recherche de nouveaux dépôts créés avec la description ci-dessus et de revoir l'historique des engagements par des modèles suspects tels que "OhNoWhatsGoingOnWithGitHub:." Il convient également de révoquer les coureurs engagés et de les reconstruire à partir d'images propres pour enlever toute porte en mémoire ou dans le système de fichiers.

En arrière-plan, les pratiques de développement et de déploiement devraient être renforcées : permettre l'authentification multifactorielle et l'utilisation de jetons avec le moins de privilèges possible, migrer vers des mécanismes d'authentification fédérés ou ODIC pour l'IC dans la mesure du possible, activer le balayage secret et la protection avancée du dépôt (p. ex., GitHub Advanced Security) et définir des versions de dépendance par lockfiles et des politiques d'approbation de changement de pipeline. Les outils de numérisation de logiciels tiers et la surveillance de l'intégrité des paquets aident à détecter les modifications non autorisées des artefacts publiés.

Attaque sur SAP CAP en npm expose des jetons et des lettres de créances à travers le vol de mémoire de coureurs par TeamPCP
Image générée avec IA.

Du point de vue opérationnel, il est essentiel de vérifier les journaux d'accès aux dépôts et au cloud APis par une activité inhabituelle, de bloquer l'exfiltration non autorisée avec des contrôles d'évacuation et de revoir la configuration de l'IC pour empêcher les variables sensibles de s'imprégner dans les bâtiments ou d'être exposées dans des emplois publics. Envisager l'utilisation de jetons éphémères, la rotation automatique et la stricte séparation des pouvoirs de publication de ceux d'exécution réduire la période d'exposition à un engagement futur.

Cet incident souligne à nouveau que les chaînes d'approvisionnement en logiciels sont une cible de grande valeur et qu'un seul jeton ou pipeline mal configuré peut donner accès à des environnements d'entreprise complets. La défense exige à la fois des contrôles techniques (durcissement de l'IC, rotation des secrets, moindre privilège) et une gouvernance: des politiques claires sur la publication des paquets, des examens humains et une réponse rapide aux signaux d'engagement. Pour des guides pratiques sur la gestion des jetons et les références, veuillez consulter les recommandations de GitHub sur les jetons personnels et d'accès : GitHub - Jetons d'accès personnels, et npm documentation sur la sécurité et les jetons: npm - Jetons d'accès.

Si votre organisation utilise SAP CAP ou les librairies concernées, agissez maintenant : elle évalue l'exposition, s'engage à prouver le contraire, exécute des rotations et des reconstructions, et profite de cet incident pour élever la défense de la chaîne d'approvisionnement et l'hygiène des secrets au niveau de l'entreprise.

Couverture

Autres

Plus de nouvelles sur le même sujet.