Vulnérabilité critique dans Claude Code GitHub Action exposant un risque de chaîne d'approvisionnement
Une vulnérabilité significative dans la **Claude Code GitHub Action** d'**Anthropic** aurait pu permettre à des attaquants de prendre le contrôle de dépôts publics, y compris le code source de l'action elle-même. Découverte par **RyotaK** de **GMO Flatt Security**, la faille exploitait un contournement de l'authentification des bots et une injection de prompt indirecte, exposant les dépôts à des poussées de code malveillant et à l'exfiltration de données. **Anthropic** a depuis corrigé le problème.
## Faille critique dans Claude Code GitHub Action découverte

Un chercheur en sécurité a identifié une vulnérabilité significative au sein de la **Claude Code GitHub Action** d'**Anthropic**, un outil conçu pour intégrer le modèle d'IA **Claude** dans les pipelines CI/CD pour des tâches telles que le triage des problèmes et les revues de pull requests. La faille, si elle était exploitée, aurait pu permettre à des attaquants de prendre le contrôle de dépôts publics vulnérables, y compris le code source de l'action elle-même, avec un seul problème **GitHub** ouvert.
## Le vecteur d'attaque : Contournement de la sécurité des bots et injection de prompt
Le cœur de la vulnérabilité résidait dans la manière dont la **Claude Code GitHub Action** validait les événements déclencheurs. Bien qu'elle ait été conçue pour restreindre les déclencheurs aux utilisateurs ayant un accès en écriture, une faille critique permettait à tout acteur dont le nom se terminait par `[bot]` de contourner cette vérification. Cette supposition s'est avérée erronée, car n'importe qui peut enregistrer une **GitHub App** et utiliser son jeton pour ouvrir des problèmes ou des pull requests sur des dépôts publics, se faisant passer efficacement pour un bot de confiance.
Une fois authentifié, l'attaquant utilisait ensuite une technique d'injection de prompt indirecte. Cela implique d'intégrer des instructions malveillantes dans un contenu apparemment bénin (comme un message d'erreur dans un problème **GitHub**) que le modèle d'IA **Claude** traiterait. **RyotaK** de **GMO Flatt Security**, le chercheur qui a découvert la faille, a démontré comment tromper **Claude** pour qu'il "récupère" en exécutant des commandes enfouies dans le prompt. Cela a permis l'exfiltration de variables d'environnement, y compris des identifiants sensibles utilisés par **GitHub Actions** pour demander un jeton **OIDC**.
## Des identifiants au détournement de dépôt
Les identifiants **GitHub Actions** volés, en particulier le mécanisme d'échange de jeton **OIDC**, constituaient le prix ultime. En rejouant cet échange, un attaquant pouvait obtenir un jeton d'installation de **Claude GitHub App** avec un accès complet en écriture au code, aux problèmes et aux workflows du dépôt cible. Cela présentait un risque grave pour la chaîne d'approvisionnement : cibler le dépôt `claude-code-action` lui-même aurait pu permettre aux attaquants d'injecter du code malveillant directement dans l'action, qui aurait ensuite été récupéré par tous les projets en aval.
## Faiblesses supplémentaires et impact réel

**RyotaK** a également mis en évidence d'autres vulnérabilités, notamment le workflow de triage de problèmes d'exemple d'**Anthropic** expédié avec `allowed_non_write_users: "*"`. Ce paramètre, explicitement signalé comme risqué dans la documentation d'**Anthropic**, permettait à quiconque de déclencher le workflow. De plus, **Claude** a été observé publiant des résumés de tâches sur des panneaux d'exécution de workflow publiquement visibles, offrant un canal prêt pour l'exfiltration de données. De nombreux dépôts qui ont copié cet exemple ont hérité de ces risques.
Bien que le vecteur d'attaque spécifique contre l'action d'**Anthropic** n'ait été prouvé que dans des environnements de test, des attaques similaires sur la chaîne d'approvisionnement pilotées par l'IA se sont déjà produites :
* En février, un titre de problème injecté dans le workflow de triage `claude-code-action` de **Cline** a conduit au vol d'un jeton de publication npm. Cela a entraîné la publication non autorisée de `[email protected]`, bien que la version pirate ait été rapidement supprimée.
* Le bot autonome **HackerBot-Claw** a été observé fin février sondant les mauvaises configurations de **GitHub Actions** dans diverses organisations, y compris des projets de **Microsoft**, **Datadog** et **CNCF**.
## La correction et les recommandations
**RyotaK** de **GMO Flatt Security** a signalé le contournement à **Anthropic** en janvier. **Anthropic** a rapidement résolu le problème, le corrigeant en quatre jours et mettant en œuvre un renforcement supplémentaire tout au long du printemps. La version corrigée, `claude-code-action v1.0.94`, est désormais disponible. **Anthropic** a évalué la vulnérabilité à 7.8 selon **CVSS v4.0** et a accordé une prime de bug.
Pour les utilisateurs de **Claude Code GitHub Action**, une action immédiate est conseillée :
* Mettez à jour vers `claude-code-action v1.0.94` ou une version ultérieure.
* Auditez tous les workflows qui autorisent les utilisateurs sans accès en écriture, ou les bots, à déclencher **Claude**.
* Si une entrée non fiable est traitée, assurez-vous qu'aucun secret au-delà de la clé **Anthropic API** et de `GITHUB_TOKEN` n'est transmis au workflow.
* Supprimez tous les outils et permissions qui pourraient être exploités pour l'exfiltration de données.
**RyotaK** continue d'identifier de nombreux défauts d'injection de prompt dans les agents de codage IA, soulignant que le défi de l'injection de prompt reste largement non résolu. Un agent IA, lorsqu'il est équipé d'outils et de jetons réels, peut être contraint d'opérer dans toute la mesure de ses permissions accordées.