Gheist : des jetons GitHub volés exposent les secrets des dépôts

Gheist exploite des jetons GitHub volés pour extraire des secrets via les journaux GitHub Actions de dépôts privés.
Une campagne automatisée détourne des jetons GitHub volés pour dérober les secrets de dépôts de code. Les attaquants passent par les journaux de GitHub Actions. Selon l’analyse de la société de sécurité cloud Wiz, l’opération, associée au nom Gheist, a réussi à compromettre des dépôts privés. Des environnements GitHub Enterprise sont également touchés.
Comment fonctionne l’attaque contre GitHub Actions
Le mode opératoire est simple, mais efficace. D’abord, les attaquants disposent de jetons GitHub qui ont été dérobés. Ensuite, ils s’en servent pour déposer un workflow malveillant dans le dépôt visé.
Ce workflow a une seule mission. Il affiche les secrets du dépôt dans les journaux d’exécution. Ces secrets sont par exemple des clés d’API, des mots de passe ou des identifiants de services cloud.
Les pirates n’ont plus qu’à télécharger les journaux. Enfin, ils suppriment les exécutions concernées. Cette dernière étape limite les traces visibles par les équipes du projet.
Autrement dit, l’attaque détourne une fonction légitime de l’intégration continue. Aucune faille logicielle n’est mentionnée dans les informations disponibles. Le point de départ reste le vol des jetons.
Des dépôts privés et des environnements Enterprise touchés
Wiz indique que les attaques ont abouti dans des dépôts privés. Or ces dépôts contiennent souvent le code le plus sensible d’une organisation. Ils hébergent aussi les secrets qui donnent accès à l’infrastructure.
Les environnements GitHub Enterprise ne sont pas épargnés. Cela montre que la taille de l’organisation ne suffit pas à protéger. Un jeton valide ouvre des droits, quel que soit le type de compte.
Par ailleurs, la campagne est décrite comme automatisée. Les attaquants n’ont donc pas besoin d’intervenir à la main sur chaque cible. Ils peuvent traiter de nombreux jetons en peu de temps.
Les informations dont nous disposons évoquent aussi une protection de GitHub censée mettre certaines actions en pause. Toutefois, le détail de ce mécanisme n’est pas précisé. Nous ne pouvons donc pas en évaluer l’efficacité face à cette campagne.
Pourquoi les journaux d’exécution sont une cible
Les secrets d’un dépôt servent aux workflows pour s’authentifier auprès d’autres services. En effet, un déploiement a souvent besoin d’une clé vers un fournisseur cloud. Ces valeurs sont stockées de façon chiffrée côté GitHub.
Cependant, un workflow en cours d’exécution peut y accéder. C’est précisément ce que l’attaque exploite. Le code malveillant lit les secrets, puis les écrit dans les journaux.
Les journaux deviennent alors un canal de fuite discret. Ils sont accessibles à l’attaquant grâce au jeton volé. De plus, l’attaquant n’a pas besoin d’héberger un serveur pour recevoir les données.
La suppression des exécutions complique ensuite l’enquête. Toutefois, d’autres traces peuvent subsister. Par exemple, les journaux d’audit de l’organisation peuvent révéler la création d’un workflow inhabituel ou l’usage d’un jeton à une heure suspecte.
Réduire les risques liés aux jetons volés
Les informations de départ ne détaillent pas de mesures officielles. Néanmoins, plusieurs bonnes pratiques générales s’appliquent à ce type de menace. Elles visent à limiter l’impact d’un jeton compromis.
- Révoquer les jetons suspects et en émettre de nouveaux dès qu’un doute apparaît.
- Limiter les droits de chaque jeton au strict nécessaire, avec une durée de vie courte.
- Renouveler les secrets stockés dans les dépôts si un workflow inconnu a tourné.
- Surveiller les journaux d’audit pour repérer les nouveaux workflows et les suppressions d’exécutions.
- Contrôler les modifications du dossier des workflows, par exemple avec des règles de revue obligatoires.
Ce qu’il faut retenir
- Gheist désigne une campagne automatisée qui s’appuie sur des jetons GitHub volés.
- Les attaquants ajoutent un workflow qui écrit les secrets dans les journaux de GitHub Actions.
- Ils téléchargent ensuite ces journaux, puis suppriment les exécutions.
- Wiz confirme des succès sur des dépôts privés et des environnements GitHub Enterprise.
Par conséquent, la gestion des jetons devient un enjeu central. Une équipe qui suspecte une fuite doit agir vite. Elle doit révoquer les accès, renouveler les secrets et examiner l’historique des workflows.
Source : Gheist Uses Stolen GitHub Tokens to Steal Private Repository Secrets via Actions Logs