
Une attaque de la chaîne d’approvisionnement sur l’action GitHub largement utilisée « tj-actions/changed-files », utilisée par 23 000 référentiels, a potentiellement permis aux acteurs de la menace de voler des secrets CI / CD à partir des journaux de construction des actions GitHub.
L’action GitHub est un outil d’automatisation très populaire conçu pour les flux de travail des actions GitHub. Il permet aux développeurs d’identifier les fichiers modifiés dans une pull request ou un commit et de prendre des mesures en fonction de ces modifications, généralement utilisées dans les tests, le déclenchement du workflow et le linting et la validation automatisés du code.
Comme indiqué pour la première fois par StepSecurity, les attaquants ont ajouté un commit malveillant à l’outil le 14 mars 2025, à 16h00 UTC, qui a vidé les secrets CI/CD du processus de travail Runner vers le référentiel de tous les projets utilisant l’action. Par conséquent, si les journaux de flux de travail étaient accessibles au public, n’importe qui pourrait lire et voler des secrets exposés.
Les attaquants ont modifié le code de l’action et mis à jour rétroactivement plusieurs balises de version pour référencer un commit malveillant, de sorte que toutes les versions de l’outil ont été compromises.
Selon la dernière mise à jour des développeurs, l’attaquant a compromis un jeton d’accès personnel (PAT) GitHub utilisé par un bot (@tj-actions-bot), qui avait un accès privilégié au référentiel de l’outil. Cependant, on ne sait actuellement pas exactement comment le PAT a été compromis.
Le 15 mars à 14h00 UTC, GitHub a supprimé l’action compromise et à 22h00 UTC le même jour, le référentiel a été restauré avec le code malveillant supprimé.
Cependant, la compromission a des répercussions durables sur les projets logiciels impactés, de sorte qu’un identifiant CVE (CVE-2025-30066) a été attribué à l’incident pour le suivi.
Étrangement, le code malveillant n’a pas exfiltré la sortie de la mémoire vers un serveur distant, mais l’a seulement rendue visible dans des référentiels accessibles au public.
« L’action compromise a injecté du code malveillant dans tous les flux de travail CI qui l’utilisaient, vidant la mémoire du coureur CI contenant les secrets du flux de travail », explique Wiz dans un article sur l’incident.
« Sur les référentiels publics, les secrets seraient alors visibles par tous dans le cadre des journaux de flux de travail, bien qu’obscurcis en tant que charge utile base64 codée en double. »

Le référentiel tj-actions restauré a été mis à jour plus tôt dans la journée pour inclure des instructions sur ce que les utilisateurs potentiellement affectés doivent faire, notamment:
- Faites pivoter tous les secrets utilisés pendant la période de l’attaque (14-15 mars)
- Passez en revue les flux de travail vers une sortie inattendue dans la section « fichiers modifiés »
- Si vos workflows référencent le commit compromis par SHA, mettez-les à jour immédiatement.
- Assurez-vous que vous utilisez maintenant une version étiquetée (par exemple, v35, v44.5. 1)
Pour éviter que les secrets ne soient exposés à des compromis similaires à l’avenir, GitHub recommande que toutes les actions GitHub soient envoyées à des hachages de validation spécifiques au lieu de balises de version.
De plus, GitHub offre une fonctionnalité de liste d’autorisations qui peut être exploitée pour bloquer les actions GitHub non autorisées/non approuvées.