GhostClaw/GhostLoader : campagne infostealer macOS via GitHub et workflows IA
🔍 Contexte Publié le 20 mars 2026 par Jamf Threat Labs (Thijs Xhaflaire), cet article détaille l’extension de la campagne GhostClaw/GhostLoader, initialement documentée par JFrog Security Research début mars 2026. Jamf a identifié au moins huit nouveaux échantillons et des vecteurs d’infection inédits via des dépôts GitHub malveillants. 🎯 Vecteurs d’infection Deux méthodes de distribution parallèles ont été observées : Dépôts GitHub malveillants : impersonnent des outils légitimes (trading bots, SDKs, utilitaires développeurs). Certains dépôts affichent plusieurs centaines d’étoiles (ex. TradingView-Claw : 386 étoiles). Les dépôts sont d’abord peuplés de code bénin avant introduction de composants malveillants. Workflows IA (OpenClaw) : des fichiers SKILL.md ciblent les agents de développement IA qui installent automatiquement des “skills” depuis GitHub. Le comportement malveillant est déclenché lors de la phase d’installation (install.sh). ⚙️ Chaîne d’exécution multi-étapes Bootstrap (install.sh) : récupère et exécute le script initial, installe Node.js dans un répertoire utilisateur (sans privilèges élevés), utilise curl -k (TLS désactivé). Vol de credentials (setup.js) : script JavaScript fortement obfusqué. Affiche de faux indicateurs de progression, présente une fausse invite de mot de passe en terminal, valide les credentials via dscl . -authonly. Utilise AppleScript pour des dialogues natifs imitant des prompts macOS. Demande l’accès Full Disk Access (FDA). Récupération du payload secondaire : contacte le C2 trackpipe[.]dev avec un UUID unique par dépôt, reçoit un payload chiffré, le déchiffre et l’écrit dans /tmp/sys-opt-{random}.js, puis l’exécute en processus détaché. Persistance : le payload secondaire (GhostLoader) se relocalise dans ~/.cache/.npm_telemetry/monitor.js. Anti-forensics (postinstall.js) : efface le terminal, installe le package npm antigravity (package légitime ancien, utilisé comme leurre), affiche des messages de succès factices. 🌐 Infrastructure C2 Domaine unique partagé : trackpipe.dev Identifiants UUID distincts par dépôt pour segmenter l’activité Variable d’environnement NODE_CHANNEL transmise au payload secondaire 🔗 Campagnes connexes L’article mentionne des campagnes similaires récentes : Glassworm et PolinRider, utilisant des techniques analogues de supply chain logicielle. ...