Paquets npm officiels de SAP compromis pour voler des identifiants

Paquets npm officiels de SAP compromis pour voler des identifiants

Des chercheurs en sécurité ont identifié une attaque de chaîne d’approvisionnement visant des paquets npm officiels de SAP. Les assaillants, soupçonnés d’appartenir au groupe TeamPCP, visaient à dérober des identifiants et tokens d’authentification sur les systèmes des développeurs.

Quatre paquets npm affectés

Les versions compromises, désormais dépréciées sur NPM, concernent :

  • @cap-js/sqlite – v2.2.2
  • @cap-js/postgres – v2.2.2
  • @cap-js/db-service – v2.10.1
  • mbt – v1.2.48

Ces outils soutiennent le Cloud Application Programming Model (CAP) et le Cloud MTA de SAP, populaires pour les projets d’entreprise.

Mécanisme de l’attaque

Les paquets modifiés intègrent un script preinstall malveillant activé lors de l’installation via npm. Ce dernier déclenche un loader nommé setup.mjs, qui récupère le runtime JavaScript Bun depuis GitHub. Ce runtime exécute ensuite un payload obfuscqué, execution.js.

Ce malware exfiltre divers identifiants, notamment :

  • tokens d’authentification npm et GitHub
  • clés SSH et identifiants développeurs
  • accréditations cloud pour AWS, Azure et Google Cloud
  • configurations et secrets Kubernetes
  • secrets et variables d’environnement des pipelines CI/CD

Extraction de mémoire et exfiltration

Sur les runners CI/CD, le payload déploie un script Python intégré pour scanner la mémoire des processus Runner.Worker. Il cible les secrets au format "key" :{ "value": "...", "isSecret":true}, contournant les masquages de logs. Cette technique rappelle les incidents Bitwarden et Checkmarx.

Les données collectées sont chiffrées puis transmises vers des dépôts GitHub créés sous le compte de la victime, identifiés par la description « A Mini Shai-Hulud has Appeared ».

'Github
Github repos created with a description of « A Mini Shai-Hulud has Appeared »
Source: Aikido

 

Propagation et dead-drop

Le malware exploite les recherches de commits GitHub comme mécanisme de dead-drop. Il détecte les messages contenant « OhNoWhatsGoingOnWithGitHub: », les décode en tokens pour accéder à des dépôts.

Il inclut aussi un code pour s’auto-propager : avec les identifiants volés, il modifie d’autres paquets et repositories accessibles, injectant le même malware.

Attribution et origines

Les analyses d’Aikido et Socket relient l’opération à TeamPCP avec une confiance moyenne, en raison de similarités avec leurs attaques sur Trivy, Checkmarx et Bitwarden.

Le mode d’intrusion dans le processus de publication SAP reste flou. Un ingénieur sécurité, Adnan Khan, évoque un token NPM potentiellement exposé par un job CircleCI mal configuré. BleepingComputer a interrogé SAP sans obtenir de réponse au moment de la publication.