La chaîne des dépendances dans le développement fait qu’il est compliqué de savoir si vous avez été piraté.
Il faut donc être capable de savoir :
Si vous utilisez directement ou indirectement Codecov ;
Si vous avez été victime de l’attaque ;
Quels secrets ont été volés afin de les changer.
1. Si vous utilisez…
Afin de savoir si vous utilisez Codecov directement, le plus simple me semble être de rechercher dans vos codes sources… si ce n’est pas dans votre documentation 😉. Un gros « grep -i -a -n https://codecov.io/bash » devrait être suffisant
Par contre, pour savoir si vous utilisez Codecov indirectement, s’il est utilisé par une dépendance que vous téléchargez à la construction de votre application ou à son installation, il faut… construire ou installer. De ce fait, il faut déployer complètement vos différentes solutions puis y rechercher la présence du script Codecov. Vous pouvez également recherche le script sur les environnements déjà déployés. C’est un travail de longue haleine 😥.
Vous avez également des règles Yara ici : https://github.com/Neo23x0/signature-base/blob/master/yara/mal_codecov_hack.yar
Si vous avez d’autres idées ou techniques, n’hésitez pas à me répondre 👍, je compléterai ici.
2. Si vous avez été victime…
Afin de savoir si vous avez été victime, vous pouvez déjà chercher le script de Codecov et si vous le trouvez, dans sa version malveillante, alors… 😉.
Vous pouvez également regarder dans vos logs proxy, firewal… si l’ip 104.248.94.23 a été contactée. A condition d’avoir ce type de trace 😉.
Vous avez également des règles Yara ici : https://github.com/Neo23x0/signature-base/blob/master/yara/mal_codecov_hack.yar
Si vous avez d’autres idées ou techniques, n’hésitez pas à me répondre 👍, je compléterai ici.
3. Quels secrets…
Pour savoir ce qui a pu être volé, il suffit d’exécuter la commande « git remote -v » sur votre usine logicielle (CI environnement) et vos environnements de déploiement où vous avez trouvé le script malveillant.
Une fois que vous aurez identifié ce qui aurait pu être volé et sur quel environnement, il faudra changer (et révoquer) les jetons d’api, les mots de passe…
A partir de là… il faudra à nouveau enquêter pour voir si ces mots de passe, jetons… ont été utilisés, qu’est ce qui a été accédé, volé… et bon courage pour démêler la pelote des potentielles compromission !
Dans le communiqué de Codecov, j’adore la réponse à une question en particulier sur le FAQ :
Is it safe to use Codecov systems and services?
Yes. Codecov takes the security of its systems and data very seriously and we have implemented numerous safeguards to protect them.
Oui, forcement, ils n’allaient pas dire le contraire 😉 :