En bref
Que s'est-il passé ?
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.
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.
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
Des modifications non autorisées du Bash Uploader commencent, exploitant des identifiants extraits de l'image Docker.
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
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 :