En bref

  • La campagne GhostAction a compromis plus de 500 comptes GitHub pour planter de faux workflows "Security Audit" dans des dizaines de milliers de dépôts et dérober des clés AWS, OpenAI et Anthropic.
  • Les attaquants ciblent les secrets CI/CD stockés dans les variables d'environnement des runners GitHub Actions ET dans l'historique complet des commits Git, avec un payload capable d'extraire 13 types de credentials différents.
  • Les mainteneurs de dépôts open source et les organisations DevOps utilisant GitHub Actions doivent auditer leurs workflows et révoquer immédiatement tout secret potentiellement exposé.

Ce qui s'est passé

Une nouvelle vague de la campagne GhostAction a été documentée le 9 novembre 2026 par les chercheurs de Cybersecurity News et Socket, confirmant que les opérateurs derrière cette campagne persistent et s'adaptent. Plus de 500 comptes GitHub ont été compromis lors de cette dernière vague, utilisés comme vecteurs pour injecter des workflows malveillants dans des dizaines de milliers de dépôts appartenant à autant d'organisations et de développeurs individuels.

Le modus operandi de GhostAction repose sur une technique d'ingénierie sociale technique particulièrement efficace : les attaquants créent un fichier nommé security-audit.yml dans le répertoire .github/workflows/ des dépôts ciblés. Ce fichier, qui imite parfaitement la structure et la syntaxe des véritables workflows de sécurité automatisés — comme ceux de CodeQL ou Dependabot — se déclenche à chaque push ou pull request. À l'exécution, il exfiltre vers un serveur de command-and-control les secrets injectés dans l'environnement du runner GitHub Actions.

L'investigation de Socket a révélé que la campagne initiale, en octobre 2026, avait débuté avec deux comptes hijackés — henrywoo et kitao — qui avaient suffi à compromettre 346 dépôts en quelques minutes. L'efficacité de l'attaque tient à sa vitesse d'exécution : grâce à l'API GitHub et à des scripts d'automatisation, les attaquants peuvent forker, modifier et soumettre des pull requests vers des centaines de dépôts par heure, sans intervention humaine directe.

Les données télémétriques de GitGuardian, publiées le 13 octobre 2026, chiffraient l'ampleur totale de la campagne à plus de 30 000 dépôts ciblés, issus de quelque 3 000 utilisateurs et organisations, avec environ 1 900 comptes GitHub compromis servant de vecteurs. The Hacker News fait état de 1 230 dépôts affectés appartenant à 391 comptes distincts, avec une technique évoluée : un faux fichier de police (font file) contenant du JavaScript obfusqué, et une tâche VS Code cachée pour maintenir la persistance sur les machines des développeurs qui clonent le dépôt.

Le payload de GhostAction est remarquablement sophistiqué dans son ciblage. Selon StepSecurity, il est conçu pour extraire 13 catégories de secrets distincts : clés d'accès AWS (access key ID et secret access key), tokens de session AWS temporaires, clés API OpenAI, clés API Anthropic, clés OpenRouter, tokens GitHub (GITHUB_TOKEN et tokens personnels à longue durée de vie), credentials de registres Docker, et clés d'API de services cloud tiers. Les secrets sont recherchés dans les variables d'environnement du runner, dans les fichiers de configuration présents dans le dépôt, et — dans les versions les plus récentes du payload — dans l'historique complet des commits Git.

Cette dernière capacité est particulièrement préoccupante : de nombreux développeurs ont accidentellement commité des credentials dans leur historique Git, cru les avoir supprimés via un commit de correction, et ne savent pas que ces données restent accessibles via git log ou git show sur n'importe quel clone du dépôt. GhostAction exploite cette réalité en parsant l'intégralité de l'historique à la recherche de patterns correspondant aux formats de clés connues — des expressions régulières calées sur les formats officiels AWS, OpenAI et GitHub.

La campagne s'appuie également sur un réseau de phishing ciblé pour obtenir les credentials GitHub initiaux. OpenSourceMalware a documenté l'utilisation d'un proxy de phishing GitHub sophistiqué, capable de relayer en temps réel les tokens d'authentification à deux facteurs (2FA/TOTP), contournant ainsi les protections habituellement considérées comme robustes. Les victimes reçoivent des e-mails imitant des notifications GitHub légitimes — alertes de sécurité, invitations à des organizations, notifications de mention — avec des liens vers des pages de phishing visuellement identiques à l'interface GitHub authentique.

À la date du 9 novembre 2026, la campagne reste active. Cybersecurity News confirme que de nouveaux comptes sont compromis quotidiennement et que des pull requests malveillantes continuent d'être soumises à des dépôts. GitHub a suspendu plusieurs des comptes identifiés, mais la rotation rapide des comptes compromis rend la détection et le blocage difficiles à maintenir dans le temps.

Pourquoi c'est important

GhostAction représente une évolution significative des attaques supply chain ciblant les écosystèmes open source. Contrairement aux attaques traditionnelles qui compromettent des packages npm ou PyPI, cette campagne cible l'infrastructure CI/CD elle-même — le tissu nerveux qui relie le code source aux déploiements en production. Un secret AWS volé via un workflow GitHub Actions peut donner accès à une infrastructure cloud entière, à des données clients, à d'autres services internes, et servir de tremplin pour des mouvements latéraux d'une ampleur bien supérieure à l'accès initial au dépôt.

La cible des clés OpenAI et Anthropic est révélatrice d'une tendance de fond dans le paysage des menaces 2026 : les API d'intelligence artificielle sont devenues une ressource de valeur pour les attaquants. Les clés volées permettent non seulement de générer des requêtes aux frais de la victime (ce que la communauté sécurité commence à appeler le "LLMjacking"), mais aussi d'accéder à des historiques de conversations potentiellement sensibles, et de passer des appels API pour des campagnes de spam ou de désinformation à grande échelle. Le coût pour les victimes peut rapidement atteindre des dizaines de milliers de dollars en facturation OpenAI ou Anthropic sur quelques heures.

Pour les équipes DevSecOps, cet incident illustre les limites de la confiance implicite accordée aux workflows GitHub Actions. Trop d'organisations acceptent automatiquement des pull requests provenant de comptes tiers sans vérifier le contenu des fichiers de workflow. L'intégration d'outils comme StepSecurity Harden-Runner — qui valide les workflows contre des politiques de sécurité prédéfinies et détecte les exfiltrations réseau inattendues — ou la mise en place d'une approbation manuelle obligatoire pour toute modification des fichiers .github/workflows/ sont des contre-mesures directement actionnables sans coût prohibitif.

La persistance de GhostAction malgré les publications d'octobre 2026 démontre que la simple publication d'indicateurs de compromission (IoC) ne suffit pas à stopper une campagne bien organisée disposant d'un stock de comptes compromis renouvelable. Les défenseurs doivent adopter une approche comportementale : surveiller les exécutions de workflows anormales, détecter les requêtes réseau sortantes inattendues depuis les runners GitHub Actions, et mettre en place des alertes sur toute création ou modification de fichiers dans .github/workflows/ par des contributeurs externes.

Ce qu'il faut retenir

  • GhostAction vole des credentials cloud (AWS, OpenAI, Anthropic) via de faux workflows GitHub Actions injectés dans des dépôts via des comptes compromis — plus de 30 000 dépôts ciblés en octobre-novembre 2026.
  • Le payload extrait les secrets des variables CI/CD ET de l'historique complet des commits Git, exposant d'anciens credentials que les développeurs pensaient avoir supprimés.
  • Action immédiate : auditer vos fichiers .github/workflows/, révoquer et effectuer la rotation de tous les secrets potentiellement exposés (AWS, OpenAI, GitHub tokens), activer la validation obligatoire des workflows pour les PRs externes.

Comment savoir si mon dépôt GitHub a été ciblé par GhostAction ?

Vérifiez l'historique des pull requests pour des fichiers security-audit.yml ou des modifications de .github/workflows/ provenant de comptes inconnus. Auditez les logs d'exécution GitHub Actions pour des requêtes réseau sortantes vers des domaines non reconnus. Utilisez des outils comme GitGuardian ou truffleHog pour scanner votre historique Git à la recherche de secrets exposés. En cas de doute, révoquez immédiatement vos clés AWS, OpenAI et tokens GitHub et générez-en de nouvelles depuis les consoles de chaque service.

Besoin d'un accompagnement expert ?

Ayi NEDJIMI vous accompagne sur vos projets cybersécurité et IA.

Prendre contact