🔍 Contexte

Publié le 8 juillet 2026 par Datadog Security Labs (auteure : Julie Agnes Sparks), cet article de recherche documente plusieurs mois de surveillance d’une activité soutenue d’abus de l’API GitHub visant à cartographier des organisations, leurs membres et leurs dépôts.

🎯 Nature de la menace

L’activité observée n’est pas attribuée à un acteur unique mais à plusieurs campagnes chevauchantes combinant :

  • Des réseaux de comptes « ghost » (créés 2 à 5 ans avant activation) envoyant du trafic API coordonné
  • Des tokens OAuth et PAT compromis issus d’utilisateurs légitimes (exposition accidentelle ou compromission d’endpoint)
  • Des outils de scraping automatisés avec des user agents personnalisés ou imitant des outils légitimes

👻 Comptes fantômes

Plus de plusieurs dizaines de comptes ghost ont été confirmés depuis octobre (année non précisée). Les conventions de nommage forment des familles reconnaissables : préfixe amazon-data-*, famille *-orb (kuku-orb, lolo-orb, lulu-orb, ruru-orb, zouzou-orb, meme-orb), BirdWithDreams, BirdWithPlan, user432023, user412023. Ces comptes sont utilisés en rafales de 2 à 3 semaines sur de nombreuses organisations.

🔑 Campagne par tokens compromis

Entre fin décembre et début janvier, une campagne a utilisé des tokens OAuth et PAT volés avec une progression versionnée des user agents :

  • GitHub-Commit-Fetcher/1.3 (fin décembre)
  • GitHub-Commit-Fetcher/1.4 (fin décembre)
  • GitHub-Event-Fetcher/2.2 (janvier)

L’infrastructure reposait sur xK Tech, un hébergeur avec des signalements d’abus répétés. Des dizaines de comptes légitimes compromis ont ciblé des chemins de commits de dépôts privés en quelques minutes — les tentatives ont échoué dans ce cas.

💾 Exfiltration confirmée

Dans au moins un cas, l’agent repo-dumper a cloné avec succès un dépôt privé via des événements git.clone et api.request capturés dans les logs d’audit GitHub.

🛣️ Routes API ciblées

La majorité du trafic cible /graphql pour des requêtes en masse, ainsi que les routes REST classiques d’énumération d’organisations, membres, followers, gists, dépôts et étoiles.

📊 Type d’article

Publication de recherche threat intelligence avec indicateurs de compromission (user agents, hébergeurs) et requêtes de détection exploitables pour les défenseurs.

🧠 TTPs et IOCs détectés

TTP

  • T1592 — Gather Victim Host Information (Reconnaissance)
  • T1589 — Gather Victim Identity Information (Reconnaissance)
  • T1590 — Gather Victim Network Information (Reconnaissance)
  • T1528 — Steal Application Access Token (Credential Access)
  • T1530 — Data from Cloud Storage (Collection)
  • T1213 — Data from Information Repositories (Collection)
  • T1586.003 — Compromise Accounts: Cloud Accounts (Resource Development)
  • T1585 — Establish Accounts (Resource Development)

IOC

Malware / Outils

  • GitHarvester (tool)
  • repo-dumper (tool)
  • GitHub-Company-Scraper (tool)
  • GitHub-Scraper-Tool (tool)
  • GitHub-Commit-Fetcher (tool)
  • GitHub-Event-Fetcher (tool)
  • gha-injection-scanner (tool)
  • OrgSearchAndInspect (tool)

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

  • ✅ securitylabs.datadoghq.com — source reconnue (Rösti community) (20pts)
  • ✅ 10899 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 2 IOC(s) (6pts)
  • ⬜ 0/2 IOCs confirmés externellement (0pts)
  • ✅ 8 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ⬜ pas de CVE à vérifier (0pts)

🔗 Source originale : https://securitylabs.datadoghq.com/articles/coordinated-github-api-enumeration/