Quatre packages npm liés au Cloud Application Programming Model de SAP ont été compromis. Les hackers ont ajouté du code qui vole des crypto wallets, des identifiants cloud et des clés SSH aux développeurs.
Selon un rapport de Socket, les versions de packages affectées incluent :
Ces packages représentent ensemble environ 572 000 téléchargements par semaine au sein de la communauté de développeurs SAP.
Des chercheurs en sécurité ont expliqué que les packages piratés pré-installent un script qui télécharge et exécute un binaire Bun runtime depuis GitHub. Il exécute ensuite un payload JavaScript obfusqué de 11,7 Mo.
Les fichiers source SAP d'origine sont toujours présents, mais trois nouveaux fichiers supplémentaires ont été ajoutés :
Ces fichiers portaient des horodatages datant de plusieurs heures après le code original. Cela montre que les tarballs ont été modifiés après avoir été téléchargés depuis une source légitime.
Socket a qualifié cela de « signal fort d'une campagne d'injection coordonnée et automatisée », car le script de chargement est identique octet par octet dans les quatre packages, même s'ils se trouvent dans deux espaces de noms différents.
Lors de l'exécution du payload, celui-ci vérifie si le système est configuré en russe et s'arrête si c'est le cas. Il se ramifie ensuite selon qu'il détecte un environnement CI/CD, en vérifiant 25 variables de plateforme telles que GitHub Actions, CircleCI et Jenkins, ou un poste de travail de développeur.
Sur les ordinateurs des développeurs, le malware lit plus de 80 types différents de fichiers d'identifiants. Ceux-ci incluent des clés privées SSH, des identifiants AWS et Azure, des configurations Kubernetes, des tokens npm et Docker, des fichiers d'environnement, et des crypto wallets sur onze plateformes différentes. Il s'attaque également aux fichiers de configuration d'outils d'IA comme les paramètres Claude et Kiro MCP.
Le payload comporte deux couches de chiffrement. Une fonction appelée `__decodeScrambled()` utilise PBKDF2 avec 200 000 itérations SHA-256 et un salt appelé "ctf-scramble-v2" pour obtenir les clés nécessaires au Décryptage.
Les payloads SAP utilisent GitHub comme canal principal. Source : Socket.
Le nom de la fonction, l'algorithme, le salt et le nombre d'itérations sont identiques à ceux des payloads Checkmarx et Bitwarden précédents. Cela suggère que les mêmes outils sont utilisés dans plusieurs campagnes.
Socket surveille l'activité sous le nom « TeamPCP » et a créé une page de suivi distincte pour ce qu'il appelle la campagne « mini-shai-hulud ».
La compromission du package SAP est la plus récente d'une série d'attaques de la chaîne d'approvisionnement qui utilisent des gestionnaires de packages pour voler des identifiants d'actifs numériques.
Comme Cryptopolitan l'avait rapporté à l'époque, des chercheurs ont découvert en mars 2026 cinq packages npm typosquattés qui volaient des clés privées aux développeurs Solana et Ethereum et les envoyaient à un bot Telegram.
ReversingLabs a découvert une campagne appelée PromptMink un mois plus tard. Dans cette campagne, un package malveillant appelé @validate-sdk/v2 a été ajouté à un projet de trading crypto open-source via un commit généré par IA.
La couverture par Cryptopolitan des conclusions de ReversingLabs indique que l'attaque, liée au groupe nord-coréen parrainé par l'État Famous Chollima, visait spécifiquement les identifiants de crypto wallets et les secrets système.
L'attaque SAP se distingue par son ampleur et sa direction. Au lieu de créer de faux packages avec des noms similaires à des packages réels, les attaquants se sont infiltrés dans de vrais packages largement utilisés, maintenus sous l'espace de noms de SAP.
Les chercheurs en sécurité recommandent aux équipes utilisant des pipelines de déploiement basés sur SAP CAP ou MTA de vérifier immédiatement leurs lockfiles pour les versions affectées.
Les développeurs ayant installé ces packages durant la fenêtre d'exposition devraient changer tous les identifiants et tokens qui auraient pu être disponibles dans leurs environnements de build et vérifier les logs CI/CD pour détecter toute requête réseau ou exécution binaire inattendue.
Selon les chercheurs, au moins une version affectée, @cap-js/[email protected], semble avoir déjà été dépubliée de npm.
Votre banque utilise votre argent. Vous n'en récupérez que des miettes. Regardez notre vidéo gratuite pour devenir votre propre banque

