Aller au contenu
Sécurité medium

Megalodon (5 500+ dépôts)

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, Secrets
Gravité élevé
Megalodon : exfiltration massive de secrets GitHub Actions sur plus de 5 500 dépôts publics.
5 500+
dépôts injectés
6 h
fenêtre d'attaque
d-PPE
technique (T1195.002)
OIDC
jetons CI volés

En bref

Date
22/05/2026
Gravité
Élevé
Étape de la chaîne
CI/CD
Domaines SOCLE
Poste de travail+ Source, Intégration, Secrets

Que s'est-il passé ?

Contexte

Le 18 mai 2026, la campagne Megalodon injecte des workflows GitHub Actions malveillants dans plus de 5 500 dépôts open source en une fenêtre de six heures, ciblant les dépôts à protection de branche faible.

Mécanisme

Attaque d-PPE (Poisoned Pipeline Execution directe) : avec un accès en écriture, l'attaquant pousse des workflows backdoorés directement sur la branche par défaut, contournant toute revue de PR. Chaque exécution suivante vole les secrets (cartographie MITRE ATT&CK T1195.002).

Impact

Chaque run compromis livre simultanément credentials cloud, clés SSH, jetons d'API et jetons OIDC GitHub Actions (id-token: write), exposant l'accès direct aux fournisseurs cloud sans identifiant statique.

Parades

Protection de branche stricte (revue obligatoire, pas de push direct), détecter les modifications de workflow, permissions minimales et OIDC scopé, et approbation pour les workflows déclenchés par contributions externes.

Chronologie de l'attaque

18 mai 2026
Injection massive

En six heures, Megalodon pousse des workflows backdoorés sur plus de 5 500 dépôts à protection de branche faible, volant les secrets des runs suivants.

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 ; allowlist d'actions.

Les exigences SOCLE qui auraient limité cet incident

Cet incident se rattache à 19 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