🕵️ Contexte

Publié le 6 mai 2026 par l’équipe OpenSourceMalware, cet article documente une évolution tactique de la campagne Contagious Interview / TaskJacker attribuée au groupe nord-coréen Lazarus Group (DPRK). La source est un blog de threat intelligence communautaire spécialisé dans les menaces open source.

🔄 Évolution de la technique

Les opérateurs ont abandonné leurs vecteurs habituels (.vscode/tasks.json, scripts postinstall dans package.json, faux fichiers .woff2) au profit de Git hooks malveillants placés dans .githooks/pre-commit. Le hook se déclenche automatiquement lorsque la victime tente de committer du code, soit exactement au moment où le faux recruteur lui demande de “corriger un bug et committer”.

⚙️ Fonctionnement technique

Le script .githooks/pre-commit est un thin loader qui :

  • Détecte l’OS via uname -s
  • Télécharge un payload spécifique à la plateforme depuis precommit[.]vercel.app via curl ou wget
  • Pipe le payload directement dans sh (macOS/Linux) ou cmd.exe (Windows via Git Bash/MSYS/Cygwin)
  • Supprime toute sortie avec >/dev/null 2>&1 et retourne exit 0 pour ne pas éveiller les soupçons

Le paramètre flag=5 est identifié comme un identifiant de campagne/variant. Le domaine precommit[.]vercel.app imite visuellement le site officiel du framework pre-commit légitime. Des hooks post-checkout ont également été observés, se déclenchant à chaque changement de branche.

🎯 Victimologie et objectifs

Les dépôts observés suivent le schéma classique Contagious Interview :

  • Thématique DeFi / crypto-token
  • Comptes GitHub fraîchement créés, historique de commits minimal
  • Tâche imposant l’exécution locale de code

L’objectif final reste le vol de portefeuilles crypto et de credentials via les implants InvisibleFerret et BeaverTail.

🔍 Indicateurs observés

  • SHA git blob identique (3ebd9bb…) retrouvé dans plusieurs dépôts GitHub
  • Requête de chasse GitHub : path:**/pre-commit OR path:**/post-checkout content:"vercel.app"

📋 Type d’article

Il s’agit d’une analyse de menace publiée par une plateforme CTI communautaire, dont le but principal est de documenter une nouvelle technique d’évasion et de fournir des IOCs exploitables aux 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)
  • T1059.004 — Command and Scripting Interpreter: Unix Shell (Execution)
  • T1059.003 — Command and Scripting Interpreter: Windows Command Shell (Execution)
  • T1105 — Ingress Tool Transfer (Command and Control)
  • T1027 — Obfuscated Files or Information (Defense Evasion)
  • T1566.003 — Phishing: Spearphishing via Service (Initial Access)
  • T1555 — Credentials from Password Stores (Credential Access)

IOC

  • Domaines : precommit.vercel.appVT · URLhaus · ThreatFox
  • URLs : https://precommit.vercel.app/settings/mac?flag=5URLhaus
  • URLs : https://precommit.vercel.app/settings/linux?flag=5URLhaus
  • URLs : https://precommit.vercel.app/settings/windows?flag=5URLhaus
  • SHA1 : 3ebd9bb57d155cc7c3353660f54c153a094cdfbdVT · MalwareBazaar
  • Fichiers : pre-commit
  • Fichiers : post-checkout
  • Chemins : .githooks/pre-commit

Malware / Outils

  • InvisibleFerret (rat)
  • BeaverTail (loader)

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

  • ✅ opensourcemalware.com — source reconnue (liste interne) (20pts)
  • ✅ 5990 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 8 IOCs dont des hashes (15pts)
  • ✅ 1/4 IOC(s) confirmé(s) (ThreatFox, URLhaus, VirusTotal) (8pts)
  • ✅ 7 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ✅ acteur(s) identifié(s) : Lazarus Group (5pts)
  • ⬜ pas de CVE à vérifier (0pts)

IOCs confirmés externellement :

  • precommit.vercel.app (domain) → VT (16/92 détections) + ThreatFox (Unknown malware)

🔗 Source originale : https://opensourcemalware.com/blog/dprk-git-hooks-malware