git-secrets
devsecopsDéfinition
git-secrets est un outil open source développé par AWS Labs permettant de prévenir l'ajout de secrets et d'informations sensibles dans les dépôts Git. git-secrets configure des hooks Git (pre-commit, commit-msg, prepare-commit-msg) qui scannent automatiquement chaque commit pour détecter des patterns correspondant à des secrets (clés AWS, mots de passe, tokens) avant que ces informations n'atteignent l'historique Git. La particularité de git-secrets est son origine et son design : développé par AWS Labs, il inclut nativement des patterns de détection pour les credentials AWS (AWS Access Key IDs avec le préfixe AKIA/ASIA/AROA, AWS Secret Access Keys), et permet d'ajouter des patterns personnalisés spécifiques à votre organisation. Cette orientation AWS en fait l'outil de référence pour les équipes déployant dans l'environnement AWS et souhaitant prévenir spécifiquement la fuite de credentials AWS. git-secrets fonctionne via un processus de configuration par dépôt (git secrets --install) ou globalement sur l'ensemble des dépôts Git d'une machine (git secrets --install ~/.git-templates/git-secrets). La configuration inclut les patterns à détecter (expressions régulières) et les patterns à autoriser (allowlist pour les faux positifs comme les exemples de documentation). Des profils préconfigurés sont disponibles (git secrets --register-aws pour les patterns AWS) et peuvent être complétés par des patterns personnalisés. Dans le contexte DevSecOps plus large, git-secrets s'inscrit dans une stratégie de défense en profondeur pour la gestion des secrets : hooks pre-commit (git-secrets, detect-secrets) pour la prévention côté développeur, push protection (GitHub Secret Scanning) comme filet de sécurité côté serveur, et scans périodiques de l'historique Git existant (GitLeaks --no-git) pour détecter des secrets précédemment committés non détectés.
Installation et configuration de git-secrets
Installation (macOS : brew install git-secrets, Linux : make install). Configuration globale (recommandée) : git secrets --install ~/.git-templates/git-secrets && git config --global init.templateDir ~/.git-templates/git-secrets. Tout nouveau dépôt initialisé avec git init héritera automatiquement des hooks. Activation des patterns AWS : git secrets --register-aws --global. Ajout d'un pattern personnalisé : git secrets --add --global 'MYORG_API_KEY=[A-Za-z0-9]{32}'. Les patterns sont des expressions régulières Python.
Gestion des faux positifs avec git-secrets
Les faux positifs avec git-secrets (patterns légitimes ressemblant à des secrets : exemples dans la documentation, valeurs de test, identifiants de ressources AWS) sont gérés via des patterns d'allowlist : git secrets --add --allowed '(?i)example|placeholder|test' --global. Ces patterns autorisés prennent le dessus sur les patterns de détection. La commande git secrets --scan peut être exécutée manuellement sur un fichier ou un répertoire pour tester les patterns avant de les finaliser, évitant de configurer un pattern trop restrictif qui bloquerait du code légitime.
git-secrets dans les pipelines CI
git-secrets peut être utilisé dans les pipelines CI en complément des hooks locaux : git secrets --scan-history détecte les secrets dans l'historique Git complet du dépôt (utile pour l'audit de dépôts existants), git secrets --scan-staged scanne uniquement les fichiers en cours de commit (mode pre-commit), et git secrets --scan path/to/file scanne un fichier spécifique. Ces modes permettent d'intégrer git-secrets dans les CI GitHub Actions ou GitLab CI comme validation supplémentaire sur les PRs/MRs en complément de GitHub Secret Scanning ou GitGuardian.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés. 2.1.7
Un projet cybersécurité ?
Expert dispo · Réponse 24h