- Un GitHub Action populaire utilisé pour suivre les changements sur chaque branche a été compromis, avec une tentative d’exfiltration de secrets CI/CD via un commit malveillant
- 23 000 dépôts sont concernés, GitHub a supprimé cette action et elle n’est plus utilisable
- Il faut la remplacer par une action alternative et vérifier les logs publics des workflows, car des secrets ont pu être exposés ; une rotation des clés est indispensable après vérification
- Harden-Runner de StepSecurity a détecté le problème, et une action alternative renforcée côté sécurité, step-security/changed-files, est distribuée gratuitement
Résumé de l’incident
- tj-actions/changed-files est utilisé dans plus de 23 000 dépôts et a été compromis
- Les attaquants ont modifié le code de l’action et redirigé les tags de version vers un commit malveillant
- Cela a entraîné l’affichage de secrets CI/CD dans les logs de build GitHub Actions
- Des secrets ont pu être exposés dans des logs de workflows publics
- Le problème a été découvert après que Harden-Runner a détecté un endpoint inattendu
- Un script Python malveillant forçait le dump des secrets depuis le processus Runner Worker
- Tous les tags pointaient vers le même hash de commit malveillant (
0e58ed8671d6b60d0890c21b07f8835ace038e67)
Mesures prises par GitHub
- GitHub a supprimé l’action tj-actions/changed-files et en a stoppé l’utilisation
- Le CVE officiel est CVE-2025-30066
Comment remédier au problème
-
1. Utiliser l’action alternative sécurisée fournie par StepSecurity
- Remplacer l’action
tj-actions/changed-files par step-security/changed-files@v45
-
2. Supprimer toutes les références à tj-actions/changed-files
-
3. Auditer les logs d’exécution des workflows GitHub Actions
- Vérifier dans les logs récents si des secrets ont fuité
- Si des secrets exposés sont trouvés, il faut immédiatement les faire pivoter (les réinitialiser)
-
4. Configurer une liste blanche GitHub Actions
- Configurer une liste blanche pour n’autoriser que les GitHub Actions de confiance :
- Réglage disponible dans GitHub :
- Settings → Actions → Allow select actions
-
5. Configurer StepSecurity Harden-Runner
- Harden-Runner permet de configurer la surveillance du trafic réseau et de l’exécution des workflows
Étapes suivantes
- Problème signalé à GitHub → issue GitHub : #2463
- Le dépôt tj-actions/changed-files a été supprimé
- Référencé officiellement sous CVE-2025-30066
- StepSecurity Harden-Runner peut détecter et prévenir des problèmes de sécurité similaires
- La configuration de Harden-Runner est recommandée pour renforcer la posture de sécurité et mettre en place une supervision en temps réel
2 commentaires
Ça ne marchait pas hier soir, mais maintenant ça remarche.
Avis Hacker News
L’auteur et mainteneur de Renovate décrit le scénario de l’attaque
tj-actions/changed-filesLa confiance envers les dépendances et extensions tierces diminue depuis quelques années
Le dépôt est revenu en ligne et le développeur a fourni une explication
Une enquête sur
github_eventsdans Clickhouse a permis d’identifier les comptes utilisés pour l’attaqueIl est choquant que la manière d’exécuter le CI/CD consiste à répertorier des dépôts arbitraires sur GitHub
Le cofondateur de StepSecurity explique comment l’incident de sécurité a été détecté
Le problème vient du fait que l’usage par défaut de GitHub Actions repose sur des tags git non immuables
Des GitHub Actions immuables devraient être introduites
Le projet maven-lockfile décrit une PR fusionnée automatiquement
GitHub Actions devrait utiliser un lockfile pour les dépendances