Aller au contenu
Sécurité medium

Codecov Bash Uploader

3 min de lecture
Point de compromission dans la chaîne Rupture · étape Distribution
Source
amont
Dépendances
deps
Build & CI
ci
Packaging
artefact
Release
provenance
Registres
Distribution
Déploiement
admission
Runtime
exécution
Rayon d'explosion — compromission à l'étape Distribution, propagation possible aux consommateurs. Domaines : Orchestration, Poste de travail, Source, Intégration, Release, Fournisseurs, Secrets
Gravité critique
Script Bash uploader de Codecov altéré après accès non autorisé : il exfiltrait les variables d'environnement (secrets) des pipelines CI qui l'exécutaient.
~2,5 mois
non détecté
31 janv.
début des altérations
15 avr.
signalement
Bash Uploader
outil compromis

En bref

Date
15/04/2021
Gravité
Critique
Étape de la chaîne
Distribution
Domaines SOCLE
Orchestration+ Poste de travail, Source, Intégration, Release, Fournisseurs, Secrets

Que s'est-il passé ?

Contexte

Codecov, outil de couverture de code intégré à GitHub, GitLab et Bitbucket, voit son script Bash Uploader compromis à cause d'une erreur dans la création de son image Docker qui a exposé les identifiants nécessaires à sa modification.

Mécanisme

L'attaquant modifie le Bash Uploader pour exfiltrer tout secret transitant par le runner CI des clients (identifiants, jetons, clés) ainsi que les informations du dépôt git d'origine.

Impact

Toute organisation utilisant l'uploader a pu voir fuiter ses secrets CI et les services qu'ils déverrouillent. Les altérations sont restées non détectées du 31 janvier au 15 avril 2021.

Parades

Vérifier l'intégrité des scripts tiers (checksum ou signature) avant exécution en CI, épingler la version de l'uploader, isoler et filtrer l'egress des runners, et rotation des secrets exposés.

Chronologie de l'attaque

31 janvier 2021
Début des altérations

Des modifications non autorisées du Bash Uploader commencent, exploitant des identifiants extraits de l'image Docker.

15 avril 2021
Signalement public

Codecov annonce la compromission du Bash Uploader et ses impacts potentiels sur les secrets CI des clients.

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

Vérifier l'intégrité des scripts tiers exécutés en CI (pinning et checksum) ; secrets courts et scopés.

Les exigences SOCLE qui auraient limité cet incident

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