L’attaque de la chaîne d’approvisionnement Shai-Hulud cible le SDK npm de TensorLake
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Une version compromise du SDK Tensorlake npm, version 0.5.144, a été découverte lors d’une attaque de la chaîne d’approvisionnement liée à ChainDrop / Shai-Hulud. Le paquet malveillant abuse d’un hook de préinstallation pour lancer un chargeur obfusqué qui déploie un ver voleur d’identifiants. Le malware cible les jetons d’authentification, les identifiants de cloud et les configurations d’outils de développement IA tout en incorporant un interrupteur destructeur.
Enquête
Socket Research a détecté la compromission après avoir identifié un hook de préinstallation malveillant dans le manifeste du paquet. L’analyse a montré que le chargeur utilise Bun pour exécuter une charge utile capable de collecter des identifiants et de se propager via npm. Les chercheurs ont également découvert une technique de persistance basée sur PowerShell et une méthode basée sur Ethereum pour résoudre l’infrastructure de commande et de contrôle.
Mitigation
Les utilisateurs doivent immédiatement bloquer et supprimer la version 0.5.144 de Tensorlake et auditer chaque environnement où son script d’installation a pu être exécuté. Le gh-token-monitor le mécanisme de persistance doit être supprimé avant de révoquer les jetons GitHub compromis pour éviter de déclencher l’interrupteur destructeur et la suppression éventuelle des répertoires. Les organisations doivent également faire tourner les secrets exposés, y compris les identifiants AWS, GitHub et Kubernetes.
Réponse
Tout hôte ayant exécuté le code malveillant doit être traité comme entièrement compromis et isolé pour une enquête plus approfondie. Supprimez les fichiers de persistance identifiés et les tâches planifiées sur les systèmes Linux, macOS et Windows. Une fois que la persistance a été éliminée, effectuez une rotation complète des identifiants et reconstruisez les environnements affectés à partir de sources fiables et sûres.
Flux d’Attaque
Nous mettons encore à jour cette partie.
Détections
Téléchargement de fichiers Github possible initié par un processus inhabituel (via network_connection)
Tâche planifiée suspecte (via audit)
IOCs (HashSha256) à détecter : SDK TensorLake npm compromis lors de l’attaque de vol d’identifiants ChainDrop Shai-Hulud
Détection du service gh-token-monitor pour la persistance [Journal des événements de sécurité Microsoft Windows]
Collecte d’identifiants via AWS Metadata et Secrets Manager [AWS Cloudtrail]
Détection d’un ver obfusqué voleur d’identifiants et auto-propagateur dans le SDK TensorLake npm [Événement de fichier Linux]
Exécution de simulation
-
Récit et commandes d’attaque: L’adversaire a réussi à obtenir un accès initial et cherche à établir une persistance. En suivant la méthodologie Shai-Hulud, l’attaquant dépose un binaire malveillant nommé
gh-token-monitordans un répertoire caché (par exemple,/tmp/.hidden/). Le but est d’exécuter ce processus pour surveiller les jetons GitHub, ce qui permettrait de poursuivre la collecte d’identifiants et le mouvement latéral. L’attaquant exécute le binaire pour établir sa présence, ce qui devrait déclencher la règle de détection basée sur le nom de fichier. -
Script de test de régression:
#!/bin/bash # Créer un répertoire caché pour imiter le comportement de l'adversaire mkdir -p /tmp/.hidden/ # Créer un binaire factice nommé gh-token-monitor echo -e '#!/bin/bashnecho "Surveillance des jetons GitHub..."nsleep 3600' > /tmp/.hidden/gh-token-monitor # Rendre le binaire factice exécutable chmod +x /tmp/.hidden/gh-token-monitor # Exécuter le binaire pour déclencher la règle de détection /tmp/.hidden/gh-token-monitor & # Capturer le PID pour permettre le nettoyage ATTACK_PID=$! echo "Simulation en cours avec PID: $ATTACK_PID" sleep 5 kill $ATTACK_PID -
Commandes de nettoyage:
# Supprimer le répertoire malveillant et le binaire factice rm -rf /tmp/.hidden/