🔍 Contexte

Sophos X-Ops a publié le 24 avril 2026 une analyse technique d’une double attaque de type supply chain survenue le 22 avril 2026, ciblant simultanément deux outils largement utilisés dans les environnements de développement : Checkmarx KICS (scanner de sécurité IaC) et Bitwarden CLI (gestionnaire de mots de passe en ligne de commande).

🎯 Incident 1 : Checkmarx KICS

Un attaquant a poussé des artefacts malveillants sur trois canaux de distribution officiels :

  • Docker Hub : images taguées v2.1.20-debian, v2.1.20, debian, alpine, latest, v2.1.21 — le binaire ELF Go de KICS a été modifié pour ajouter une routine d’exfiltration.
  • Open VSX / VS Code : extensions checkmarx/cx-dev-assist (v1.17.0, v1.19.0) et checkmarx/ast-results (v2.63.0, v2.66.0) — un addon MCP caché téléchargeait un payload de 10 Mo (mcpAddon.js) depuis GitHub et l’exécutait via le runtime Bun.
  • GitHub Actions : tag malveillant 2.3.35 sur le dépôt ast-github-action.

L’attaquant a également manipulé l’historique Git pour antidater le commit malveillant à 2022.

🎯 Incident 2 : Bitwarden CLI

Le package npm @bitwarden/cli version 2026.4.0 a été publié avec un payload malveillant, actif pendant environ 90 minutes (17h57–19h30 ET). Le package comptait plus de 70 000 téléchargements hebdomadaires.

Un hook preinstall lançait un loader (bw_setup.js) qui téléchargeait le runtime Bun et exécutait un second stage obfusqué (bw1.js). Ce payload :

  • Collectait GitHub/npm tokens, clés SSH, historique shell, credentials cloud, configs d’IA (Claude, Cursor, Aider)
  • Chiffrait les données avec AES-256-GCM avant exfiltration
  • Injectait des workflows malveillants dans les dépôts des victimes via les tokens GitHub volés
  • Créait des dépôts publics dans les comptes victimes pour y stocker les données chiffrées volées

🔗 Liens entre les deux incidents

  • Même domaine C2 : audit.checkmarx[.]cx (94.154.172.43)
  • Mêmes types de données ciblées (tokens, clés SSH, credentials cloud, configs IA)
  • Même runtime utilisé (Bun)
  • Ciblage délibéré des configurations d’assistants IA (Claude, Cursor, Aider, MCP)

🕵️ Contexte additionnel

Le mois précédent, un acteur nommé TeamPCP avait compromis les GitHub Actions de Checkmarx via des secrets CI/CD volés, affectant aussi Trivy, Tenyx et LiteLLM. Sophos indique ne pas avoir d’intelligence reliant ces deux campagnes.

📄 Type d’article

Il s’agit d’une analyse technique post-incident publiée par Sophos X-Ops, visant à documenter les deux compromissions, partager les IoCs et les détections disponibles pour les défenseurs.

🧠 TTPs et IOCs détectés

Acteurs de menace

TTP

  • T1195.001 — Supply Chain Compromise: Compromise Software Dependencies and Development Tools (Initial Access)
  • T1195.002 — Supply Chain Compromise: Compromise Software Supply Chain (Initial Access)
  • T1059.007 — Command and Scripting Interpreter: JavaScript (Execution)
  • T1552.001 — Unsecured Credentials: Credentials In Files (Credential Access)
  • T1552.004 — Unsecured Credentials: Private Keys (Credential Access)
  • T1041 — Exfiltration Over C2 Channel (Exfiltration)
  • T1027 — Obfuscated Files or Information (Defense Evasion)
  • T1070.006 — Indicator Removal: Timestomp (Defense Evasion)
  • T1098 — Account Manipulation (Persistence)
  • T1608.001 — Stage Capabilities: Upload Malware (Resource Development)
  • T1560.001 — Archive Collected Data: Archive via Custom Method (Collection)

IOC

  • IPv4 : 94.154.172.43AbuseIPDB · VT · ThreatFox
  • Domaines : audit.checkmarx.cxVT · URLhaus · ThreatFox
  • URLs : https://audit.checkmarx.cx/v1/telemetryURLhaus
  • Fichiers : mcpAddon.js
  • Fichiers : bw_setup.js
  • Fichiers : bw1.js

Malware / Outils

  • mcpAddon.js (stealer)
  • bw_setup.js (loader)
  • bw1.js (stealer)
  • JS/Steal-EAP (stealer)
  • JS/Agent-BLZZ (other)
  • Linux/Agnt-HZ (other)

🟢 Indice de vérification factuelle : 87/100 (haute)

  • ✅ sophos.com — source reconnue (liste interne) (20pts)
  • ✅ 8027 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 6 IOCs (IPs/domaines/CVEs) (10pts)
  • ✅ 2/3 IOCs confirmés (AbuseIPDB, ThreatFox, URLhaus, VirusTotal) (12pts)
  • ✅ 11 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ✅ acteur(s) identifié(s) : TeamPCP (5pts)
  • ⬜ pas de CVE à vérifier (0pts)

IOCs confirmés externellement :

  • 94.154.172.43 (ip) → AbuseIPDB (91% confiance, 45 signalements) + VT (24/94 détections)
  • audit.checkmarx.cx (domain) → VT (22/94 détections) + ThreatFox (Unknown malware)

🔗 Source originale : https://www.sophos.com/en-us/blog/supply-chain-attacks-hit-checkmarx-and-bitwarden-developer-tools