Codecov : pourquoi ce parallèle avec SolarWinds ?

Codecov

Une semaine après l’officialisation de l’attaque contre Codecov, la piste d’un scénario « à la SolarWinds » se dessine de plus en plus fortement.

Devrait-on bannir l’utilisation d’identifiants statiques dans les process d’intégration continue ? La question se pose, parmi beaucoup d’autres, dans les discussions relatives au dossier Codecov.

Cette PME américaine revendique près de 30 000 clients pour ses outils de gestion de la couverture de code. Atlassian, Google et IBM font partie de ses références.
Depuis une semaine, elle est sous le feu des projecteurs. La raison ? Un incident de sécurité dont on a encore du mal à déterminer l’ampleur.

À la racine, un problème dans le processus de création d’images Docker. Des tiers l’ont mis à profit pour obtenir des identifiants qui leur ont permis de modifier un script. En l’occurrence, Bash Uploader. Son rôle : cartographier les environnements de développement et envoyer des rapports de couverture vers Codecov.

Les premiers changements indésirables remontent, nous affirme-t-on, au 31 janvier 2021. Il a fallu attendre le 1er avril pour voir la brèche colmatée, après le signalement d’un client. Celui-ci avait constaté une différence de checksum entre la version de Bash Uploader disponible sur GitHub et celle téléchargée sur son environnement.

Pendant ces deux mois, le script a fait l’objet de plusieurs modifications. Ce qui laisse d’autant plus de doute quant aux conséquences éventuelles. Du côté de Codecov, on en avance essentiellement une : l’exfiltration de secrets. Effectivement, au moins une version du script malveillant était conçue pour envoyer vers un serveur externe toutes les variables d’environnement dans le contexte d’exécution. La liste potentielle est longue : mots de passe de comptes de service, clés de licence, jetons IAM…

Codecov risques

Codecov risques 2

Codecov : l’open source touché en plein cœur ?

« Mécaniquement », l’attaque a touché trois autres outils Codecov basés sur Bash Uploader. Respectivement pour GitHub, CircleCI et Bitrise. Elle a, en revanche, de grandes chances d’avoir épargné les versions sur site de Codecov (le pipeline CI s’appuyant de manière générale sur un script local).

IoC

L’une des grandes inconnues a trait aux milliers de projets open source font appel à Bash Uploader. Certains se rattachent à Ethereum, Kubernetes, IPFS ou encore Redis.

Les premiers éléments de l’enquête suggèrent la compromission de centaines de réseaux chez des clients de Codecov. HPE a admis avoir dû examiner la situation. IBM aussi, en ajoutant ne pas avoir constaté de modifications de ses propres bases de code.
Difficile, en l’état, de ne pas établir de parallèle avec l’épisode SolarWinds. Bien des experts en cybersécurité le font d’ailleurs.

bilan

Illustration principale © Markus SpiskeCC0 1.0