🔍 Contexte
Source : opensourcemalware.com, publié le 20 octobre 2026. L’article analyse une attaque de chaîne d’approvisionnement ciblant l’outil CLI officiel d’OVHcloud (ovh/ovhcloud-cli), attribuée au groupe GlassWorm, découverte le 19 octobre 2026.
🎯 Déroulement de l’attaque
Entre 12h47 et 13h12 UTC le 19 octobre 2026, un attaquant a remplacé les binaires de release des versions v0.11.0 à v0.15.0 du CLI OVHcloud sur GitHub. L’opération a été réalisée via le compte GitHub HassenBF, un contributeur légitime d’OVH, en utilisant l’API GitHub Releases standard. Aucun workflow GitHub Actions n’a été déclenché.
Les plateformes ciblées par le remplacement :
- macOS arm64 et x86_64
- Linux arm64 et x86_64
- Windows x86_64
checksums.txt(mis à jour pour correspondre aux nouveaux binaires)
Les builds i386, Windows arm64 et WASM n’ont pas été touchés.
🕵️ Compromission du compte HassenBF
Le compte HassenBF avait été compromis au plus tard le 5 mars 2026, soit environ 228 jours avant l’attaque sur les releases. Des force-push suspects ont été effectués sur quatre dépôts personnels, injectant un loader JavaScript (preinstall.js) utilisant des caractères Unicode invisibles (variation selectors) pour dissimuler un payload chiffré en AES-256-CBC.
Le stage 2 du loader :
- Attend 10 secondes, puis s’arrête si le système détecte un contexte russe (langue + timezone)
- Écrit un fichier de throttle
~/init.jsonsur macOS - Interroge des endpoints RPC Solana publics pour récupérer l’URL du payload suivant via le champ memo d’un wallet Solana (dead drop blockchain)
- Exécute dynamiquement le payload via
eval
🔬 Analyse du binaire malveillant
Le binaire remplacé a été compilé localement sur un poste de travail (non via pipeline CI), révélé par les métadonnées Go :
vcs.modified=true(+dirty) : modifications non commitées- Commit source :
5ead8ef(13 octobre 2026), postérieur à la v0.15.0 - Absence du ldflag
-trimpathet deversion.Version
OVHcloud a supprimé les fichiers à 14h21 UTC et publié une version propre v0.16.0 avec attestation d’immuabilité vers 17h16 UTC.
📊 Attribution
L’attaque est attribuée à GlassWorm sur la base du wallet Solana BjVeAjPrSKFiingBn4vZvghsGj9KCE8AJVtbc9S8o8SC (référencé dans plusieurs listes d’indicateurs publics) et de la technique d’amend-and-force-push correspondant à la campagne ForceMemo.
📋 Type d’article
Analyse technique et forensique post-incident, visant à documenter précisément la chronologie, les indicateurs de compromission et les vecteurs d’attaque pour la communauté CTI.
🧠 TTPs et IOCs détectés
Acteurs de menace
- GlassWorm (unknown) —
TTP
- T1195.002 — Supply Chain Compromise: Compromise Software Supply Chain (Initial Access)
- T1586.003 — Compromise Accounts: Cloud Accounts (Resource Development)
- T1608.003 — Stage Capabilities: Install Digital Certificate (Resource Development)
- T1027.009 — Obfuscated Files or Information: Embedded Payloads (Defense Evasion)
- T1027 — Obfuscated Files or Information (Defense Evasion)
- T1102.001 — Web Service: Dead Drop Resolver (Command and Control)
- T1555 — Credentials from Password Stores (Credential Access)
- T1552 — Unsecured Credentials (Credential Access)
- T1059.007 — Command and Scripting Interpreter: JavaScript (Execution)
- T1036.005 — Masquerading: Match Legitimate Name or Location (Defense Evasion)
- T1497.001 — Virtualization/Sandbox Evasion: System Checks (Defense Evasion)
IOC
- SHA256 :
43df42fd79f6f81e530892b54634598770d6e496796a863c596e616bcb3fec70— VT · MalwareBazaar - SHA256 :
0f79989912572a24ba13baabb32b3fd084496271c51448d47b66fe1aedbf293c— VT · MalwareBazaar - SHA256 :
3833daffcaaaab27e4e0e0833240ffcb1df8df648f4ec0bc4a75c176e28933cb— VT · MalwareBazaar - SHA256 :
5c2beb56e6d83a4b426565a1557791ef759316abcc4effb38dd627c90aeb80e0— VT · MalwareBazaar - Fichiers :
preinstall.js - Fichiers :
ovhcloud-cli_Linux_arm64.tar.gz - Fichiers :
init.json - Chemins :
~/init.json - Chemins :
src/index.js
⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 21 octobre 2026 et n’ont pas fait l’objet d’une vérification externe. Un indicateur peut avoir été réattribué depuis : une IP de C2 peut redevenir un service légitime, un domaine sinkholé peut changer de propriétaire. Aucune garantie d’exactitude ni d’actualité — contrôlez leur validité avant tout usage opérationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.
Malware / Outils
- GlassWorm loader (preinstall.js) (loader)
- OVHcloud CLI trojanisé (stealer)
🟢 Indice de vérification factuelle : 95/100 (haute)
- ✅ opensourcemalware.com — source reconnue (liste interne) (20pts)
- ✅ 25821 chars — texte complet (fulltext extrait) (15pts)
- ✅ 9 IOCs dont des hashes (15pts)
- ✅ 3/3 IOCs confirmés (MalwareBazaar, ThreatFox, VirusTotal) (15pts)
- ✅ 11 TTPs MITRE identifiées (15pts)
- ✅ date extraite du HTML source (10pts)
- ✅ acteur(s) identifié(s) : GlassWorm (5pts)
- ⬜ pas de CVE à vérifier (0pts)
IOCs confirmés externellement :
43df42fd79f6f81e…(sha256) → VT (8/76 détections) + ThreatFox (GlassWorm)0f79989912572a24…(sha256) → VT (27/76 détections) + ThreatFox (GlassWorm)3833daffcaaaab27…(sha256) → ThreatFox (GlassWorm)
🔗 Source originale : https://opensourcemalware.com/blog/glassworm-hacks-ovh-clouds-cli-tool