Des chercheurs détaillent un schéma GitHub Actions de CI qui échappe aux scanners de sécurité courants

Des chercheurs en sécurité ont identifié une faiblesse de GitHub Actions qui peut rester invisible pour les outils de sécurité CI classiques, car le problème ne réside pas dans un seul fichier de work...

Des chercheurs en sécurité ont identifié une faiblesse de GitHub Actions qui peut rester invisible pour les outils de sécurité CI classiques, car le problème ne réside pas dans un seul fichier de workflow, mais dans la manière dont plusieurs workflows interagissent.

En juin 2026, Novee Security a indiqué avoir examiné environ 30 000 dépôts à forte valeur répartis entre npm, PyPI, crates.io et des projets Go, et avoir trouvé 654 cas potentiellement concernés. Plus de 300 ont été confirmés comme exploitables. Le problème, baptisé Cordyceps, affectait des pipelines de compilation utilisés par de grandes organisations, notamment Microsoft, Google, Apache, Cloudflare et la Python Software Foundation.

Selon les chercheurs, les attaquants avaient seulement besoin d’un compte GitHub gratuit pour commencer à exploiter ce schéma. Le danger apparaissait lorsque des workflows conçus pour des pull requests non fiables étaient combinés à des workflows dotés de privilèges plus élevés, capables d’accéder à des secrets ou de disposer d’autorisations d’écriture. Le GitHub Security Lab a décrit des voies d’exploitation similaires sous le nom de pwn request.

Fonctionnement de l’attaque

Le rapport met en évidence trois voies courantes de compromission :

  • Injection de commandes lorsque des valeurs contrôlées par l’attaquant sont insérées directement dans des commandes shell.
  • Injection de code lorsque des scripts de workflow évaluent des entrées non fiables en tant que JavaScript.
  • Élévation de privilèges entre workflows lorsque les données d’une tâche à faible niveau de confiance sont utilisées par une tâche ultérieure privilégiée.

Comme chaque fichier de workflow pris individuellement peut sembler valide, les scanners qui inspectent les fichiers un par un peuvent ne pas signaler le risque. Novee souligne que la faille provient de la connexion entre les workflows, et non d’une seule ligne malformée.

Les chercheurs ont cité des exemples concernant le dépôt Azure Sentinel de Microsoft, où un commentaire sur une pull request pouvait déclencher l’exécution de code dans le CI et exposer une clé d’application GitHub, ainsi que le projet d’exemple AI Agent Development Kit de Google, où une chaîne similaire pouvait conduire à un accès étendu au cloud. Apache Doris aurait également été confronté à un problème connexe, qui a depuis été corrigé.

Novee a déclaré n’avoir trouvé aucune preuve que cette technique ait été utilisée dans des attaques actives. Le rapport avertit néanmoins que le développement assisté par IA pourrait amplifier le problème en générant à grande échelle des schémas de workflow non sécurisés. Les mesures de défense recommandées comprennent l’utilisation de pull_request plutôt que de pull_request_target pour les contributions non fiables, la limitation des autorisations par défaut des jetons, l’épinglage des actions tierces sur des SHA de commit et l’obligation d’une approbation manuelle avant l’exécution des tâches privilégiées.