veilletech.fr
10 oct. Feed du jour
#01 SÉCURITÉ Faille

GhostAction : un faux audit vole vos secrets CI

Un audit de sécurité que personne n'a demandé n'est pas un contrôle. C'est une alerte.

La campagne GhostAction revient : un workflow nommé Security Audit (security-audit.yml ou github_actions_security.yml) est poussé sous l'identité de mainteneurs dont le jeton a été volé, dans des dizaines de milliers de dépôts depuis le 7 octobre selon Socket. Il aspire les secrets Actions et tout ce que l'historique git a déjà contenu, puis les envoie en HTTP à 193.32.204.199. À chercher depuis le 31 août ; un dépôt touché est à considérer comme compromis.

3 min de lectureintermédiairevidéo 1:14
Partager
Sommaire5 sections
  1. Ce qui se passe
  2. Le mécanisme
  3. Ce qu'il faut savoir
  4. Comment s'y prendre
  5. À retenir

Ce qui se passe

GhostAction, une campagne de vol de secrets apparue en septembre 2025 (817 dépôts, 327 comptes, 3 325 secrets à l'époque), est de retour. Selon Socket, plus de 500 comptes GitHub ont poussé le même workflow dans des dizaines de milliers de dépôts depuis le 7 octobre 2026. Deux comptes de mainteneurs connus ont servi de relais le même jour, d'après StepSecurity :

GitGuardian avait compté, entre le 31 août et le 30 septembre, 772 dépôts publics de 373 comptes et organisations, avec 2 577 secrets visés.

Le mécanisme

Serveur decollecteRunner ActionsDépôt GitHubAttaquantServeur decollecteRunner ActionsDépôt GitHubAttaquantPousse security-audit.yml(jeton volé)1Déclenche le workflow (push)2Lit secrets, arbreet historique git3curl en HTTP clair4
Un jeton volé suffit : le workflow s'exécute sous l'identité du mainteneur

Le fichier s'appelle security-audit.yml (« Security Audit ») ou github_actions_security.yml (« GitHub Actions Security »). Il se déclenche sur workflow_dispatch et sur tout push, branche ou tag, récupère l'historique complet (fetch-depth: 0) et exécute une étape qui :

  1. ajoute les secrets nommés du dépôt, repérés lors de la reconnaissance ;
  2. cherche 13 motifs d'identifiants (AWS, services d'IA, forges, SaaS) dans l'arbre de travail ;
  3. cherche les mêmes motifs dans tout l'historique, y compris ce qui a été commité puis supprimé ;
  4. associe chaque identifiant d'accès AWS à sa clé secrète.

Le résultat part en HTTP, sans TLS, vers 193.32.204.199. Chaque exécution renvoie aussi l'identifiant du dépôt, qu'un secret ait été trouvé ou non : l'opérateur garde une carte des environnements atteignables.

Ce qu'il faut savoir

Comment s'y prendre

  1. Chercher les deux noms, dans chaque clone et chaque fork, depuis le 31 août 2026 :
Terminal
git log --all --since=2026-08-31 --diff-filter=A --name-only \
  -- .github/workflows/security-audit.yml .github/workflows/github_actions_security.yml
  1. S'ils sont présents : révoquer le jeton du compte, renouveler tous les secrets que le dépôt a vus, historique compris, supprimer le workflow de chaque branche, puis vérifier les forks.
  2. Bloquer 193.32.204.199 en sortie de vos runners auto-hébergés.

Source : Credential-Stealing GitHub Actions Workflows Planted in Tens of Thousands of Repositories, The Hacker News, 9 octobre 2026. Analyses citées : StepSecurity · Socket · GitGuardian.