Qui, de nos jours, laisse encore son mot de passe dans le code? Pour quelles raisons? Et comment éviter de voir ses secrets atterrir en production, ou dans un dépot public? en utilisant Exakat et git-secrets.
2. Problème
Un mot de passe en clair
Archivé (commité) dans le dépot
Facile à trouver, difficile à modifier
3. Chut, c'est secret!
Mot de passe, nom d'utilisateur
Profil d'accès, credentials, privileges
Secrets AWS, Slack Token, application ID, Mapbox dev key
SHA1/256, MD5, signature, clé SSH…
Valeur de test
5. Mais comment on fait ça?
Development initial
Debuggage ponctuel
Valeurs pour tests, administration, cas particuliers
Commentaires
Pure inattention
Valeurs par défaut à l'installation
6. git-secrets
Scanne les fichiers pour identifier les 'secrets'
git secrets --register-aws
git secrets —-scan -r .
git secrets —-scan-history
git secrets --add-provider -- cat /path/to/patterns
https://github.com/awslabs/git-secrets
9. Comment se protéger?
Ajouter la vérification des mots de passe dans le CI
AVANT le commit (git-secrets)
Adapter la vérification à votre situation
regex, configuration…
Utiliser des sources de secrets externes
Variables d'environnement, serveur de secrets, PAM