Aller au contenu
Sécurité medium

simonecorsi/mawesome (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 : Poste de travail, Source, Intégration, Packaging, Release, Déploiement, Secrets
Gravité élevé
Action GitHub compromise par empoisonnement de tags : les tags latest, v1, v2 et v2.2.0 sont repointés vers un commit malveillant exécuté dans le runner ; v2.0.0 et v2.1.0 épargnés.
4 tags
repointés sur un commit piégé
e339407b8e34
commit malveillant
2 tags
épargnés (v2.0.0, v2.1.0)

En bref

Date
24/06/2026
Gravité
Élevé
Étape de la chaîne
CI/CD
Domaines SOCLE
Poste de travail+ Source, Intégration, Packaging, Release, Déploiement, Secrets

Que s'est-il passé ?

Contexte

L'action GitHub simonecorsi/mawesome est compromise par empoisonnement de tags : plusieurs tags de version sont déplacés vers un commit malveillant absent de l'historique normal de l'action.

Mécanisme

L'attaquant obtient un accès au dépôt, force-pushe des commits malveillants et repointe les tags latest, v1, v2 et v2.2.0 vers le commit e339407b8e34. Tout workflow référençant ces tags exécute alors le code de l'attaquant dans son runner GitHub Actions. Les tags v2.0.0 et v2.1.0, comme les workflows épinglés par SHA, restent indemnes. Le contenu exact du payload n'a pas été détaillé publiquement.

Impact

Toute exécution de l'action par un tag empoisonné tire le code malveillant dans le pipeline. La compromission reproduit, le même jour, le schéma observé sur codfish/semantic-release-action.

Parades

Épingler les actions par SHA de commit complet et jamais par tag, réduire les permissions et secrets exposés aux workflows, filtrer l'egress des runners, et détecter les mouvements de tags anormaux sur les dépendances tierces.

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 de commit complet ; jetons CI scopés et courts ; détecter les mouvements de tags anormaux.

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 tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn