Aller au contenu
Sécurité medium

tj-actions/changed-files (GitHub Action)

3 min de lecture
Point de compromission dans la chaîne Rupture · étape CI/CD
Source
amont
Dépendances
deps
Build & CI
CI/CD
Packaging
artefact
Release
provenance
Registres
distribution
Déploiement
admission
Runtime
exécution
Rayon d'explosion — compromission à l'étape CI/CD, propagation possible aux consommateurs. Domaines : Orchestration, Poste de travail, Source, Intégration, Release, Secrets
Gravité critique
Action GitHub très utilisée compromise : un commit pousse sur tous les tags exfiltre les secrets CI/CD dans les journaux de build des dépôts qui l'utilisent.
CVE-2025-30066
identifiant
9:00 PT
début (14 mars)
~24 h
avant retrait GitHub
reviewdog
org aussi compromise

En bref

Date
14/03/2025
Gravité
Critique
Étape de la chaîne
CI/CD
Domaines SOCLE
Orchestration+ Poste de travail, Source, Intégration, Release, Secrets
CVE
CVE-2025-30066 · CVSS 8.6

Que s'est-il passé ?

Contexte

L'action GitHub tj-actions/changed-files, très répandue en CI, est compromise (CVE-2025-30066), exposant les secrets CI/CD dans les logs de build publics.

Mécanisme

La plupart des versions de l'action sont redirigées vers un commit malveillant qui imprime les secrets du runner dans les journaux. Harden-Runner l'a repéré par détection d'anomalie, un endpoint réseau inattendu étant apparu dans le trafic.

Impact

Les secrets (jetons, clés) fuitent en clair dans les logs publics de nombreux dépôts. L'enquête a aussi révélé que plusieurs actions de l'organisation reviewdog étaient compromises.

Parades

Épingler les actions par SHA de commit (jamais par tag), filtrer l'egress des runners, remplacer par une alternative maintenue, et réduire la portée des secrets exposés aux workflows.

Chronologie de l'attaque

14 mars 2025
Compromission de l'action

Vers 16h00 UTC, l'action est piégée ; l'investigation confirme que la plupart des versions exposent des secrets dans les logs.

14 mars 2025
Fuites confirmées

À 20h00 UTC, plusieurs dépôts publics laissent fuiter des secrets dans leurs logs de build.

15 mars 2025
Retrait puis restauration

À 14h00 UTC GitHub retire l'action ; à 22h00 UTC le dépôt est restauré et nettoyé du code malveillant.

18 mars 2025
Extension à reviewdog

À 02h30 UTC, l'enquête découvre que plusieurs actions de l'organisation reviewdog sont aussi compromises.

Comment l'attaquant a procédé

Cet incident met en jeu les vecteurs d'attaque suivants du catalogue SOCLE ; chacun renvoie à sa fiche, où l'on trouve les exigences qui le neutralisent :

La leçon à en tirer

Ce qu'il faut retenir

Épingler les actions par SHA (jamais par tag mutable) ; jetons CI scopés et courts ; masquage des logs ; allowlist d'actions.

Les exigences SOCLE qui auraient limité cet incident

Cet incident se rattache à 25 exigences du référentiel, par domaine. Les satisfaire n'aurait pas forcément tout empêché, mais aurait réduit la probabilité de l'attaque, limité son impact ou accéléré sa détection :

Pour aller plus loin

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn