🔍 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.json sur 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 -trimpath et de version.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