Ce qui se passe quand on téléverse une clé secrète dans un repo public
(threadreaderapp.com)Résultat d’une expérience menée réellement sur GitHub et GitLab, récapitulée dans l’ordre chronologique
-
Commit d’une clé AWS sur GitHub
-
7 minutes plus tard, alerte de fuite de la part de GitGuardian
-
11 minutes plus tard, le token est compromis (compromised, exposé et donc plus sûr)
-
Pendant 2 heures, 5 alertes d’accès depuis l’Allemagne, les Pays-Bas, le Royaume-Uni, l’Ukraine, etc.
-
GitHub envoie un mail d’avertissement pour des dépendances vulnérables (Vulnerable Dependencies)
-
Commit sur GitLab
-
62 minutes plus tard, première et dernière utilisation du token depuis la France
-
Aucune alerte de sécurité reçue de la part de GitLab (les alertes de sécurité ne sont fournies qu’aux utilisateurs Gold/Ultimate)
Enseignements
-
Il y a davantage de services qui scannent GitHub que GitLab
-
Si vous utilisez GitHub, jetez un œil au service GitGuardian
-
Si vous utilisez GitLab, envisagez une mise à niveau vers Gold/Ultimate
-
Pour empêcher une fuite en amont, utilisez Talisman (pre-commit hook)
-
Pour vérifier a posteriori s’il y a eu une fuite, envisagez d’adopter GitLeaks
3 commentaires
C’est un peu embarrassant, mais il m’est déjà arrivé de publier une clé dans un dépôt GitHub, et AWS m’a contacté. Ils m’ont expliqué que si je ne réglais pas le problème dans le délai imparti, la clé serait désactivée, et m’ont conseillé de la remplacer rapidement ainsi que de changer le mot de passe du compte, entre autres mesures.
On passe tous par là au moins une fois... haha
GitGuardian : https://www.gitguardian.com/
Talisman : https://github.com/thoughtworks/talisman/
GitLeaks : https://github.com/zricethezav/gitleaks