GitLeaks
devsecopsDéfinition
GitLeaks est un outil open source de détection de secrets et de credentials sensibles dans les dépôts Git, développé en Go par Zachary Rice. Reconnu pour sa rapidité, sa flexibilité de configuration, et son intégration native dans les pipelines CI/CD, GitLeaks analyse l'historique Git complet ou les diffs récents pour identifier les clés API, tokens d'accès, mots de passe, certificats privés et autres credentials exposés accidentellement dans le code source. GitLeaks fonctionne sur deux modes principaux. Le mode "detect" (gitleaks detect) scanne l'historique Git complet du dépôt ou un sous-ensemble de commits, idéal pour les audits complets d'un dépôt existant. Le mode "protect" (gitleaks protect) scanne le staging area actuel (les changements en cours avant commit), parfaitement adapté à l'utilisation comme pre-commit hook pour intercepter les secrets avant qu'ils n'atteignent le dépôt. La détection de GitLeaks repose sur un ensemble de règles (rules) définies dans un fichier de configuration TOML (.gitleaks.toml). Chaque règle combine une expression régulière (pattern pour identifier le type de secret), une description, un identifiant (rule ID), et des options de correspondance (entropy, path, stopwords). La distribution officielle inclut plus de 150 règles couvrant les patterns des principaux services cloud et SaaS : AWS, Google Cloud, Azure, GitHub, GitLab, Slack, Stripe, Twilio, JWT, et bien d'autres. La configuration de GitLeaks est hautement personnalisable : des règles additionnelles peuvent être définies pour les tokens propriétaires de l'organisation, des allowlists (fichiers ou patterns à ignorer, par exemple des clés de test documentées) permettent de réduire les faux positifs, et le format de sortie (JSON, SARIF, CSV) facilite l'intégration dans les dashboards et le ticketing. GitLeaks s'intègre dans les workflows GitHub Actions (action gitleaks/gitleaks-action), les pipelines GitLab CI, Jenkins, et peut être utilisé via Docker (docker run zricethezav/gitleaks). Son output SARIF peut être uploadé vers GitHub Code Scanning pour une visibilité centralisée.
Modes de scan et cas d'usage
GitLeaks offre plusieurs modes adaptés aux différents cas d'usage DevSecOps : "gitleaks detect --source . --log-opts HEAD~10..HEAD" scanne les 10 derniers commits (idéal en CI sur les PRs), "gitleaks detect --source ." scanne l'historique complet (audit de dépôt), "gitleaks protect --staged" scanne uniquement les changements stagés (pre-commit hook), et "gitleaks detect --source . --report-format sarif --report-path results.sarif" génère un rapport SARIF pour GitHub Code Scanning.
Configuration des règles et allowlists
Un fichier .gitleaks.toml personnalisé définit des règles additionnelles et des allowlists. Une règle custom : [[rules]], id = "internal-api-key", description = "Clé API interne Ayinedjimi", regex = '''AYI-[a-f0-9]{32}''', tags = ["api-key", "internal"]. Une allowlist : [[allowlists]], regexes = ['''EXAMPLE_KEY''', '''test_token_[a-z]+'''] exclut les exemples documentés et tokens de test connus. Les paths allowlistés (files = [".example", "tests/"]) évitent les faux positifs dans les fichiers d'exemple et suites de tests.
Comparaison GitLeaks vs TruffleHog
GitLeaks est plus rapide (scan purement par regex, sans appels réseau) et plus facile à intégrer en pre-commit (latence <1s). TruffleHog ajoute la vérification active (confirmation que le secret est valide via l'API du service), réduisant les faux positifs mais ajoutant de la latence et des appels réseau sortants. Stratégie optimale : GitLeaks en pre-commit (rapidité) + TruffleHog en CI sur les PRs (précision pour les alertes actionnables) + GitHub/GitLab Secret Scanning en continu (couverture plateforme).
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.
Un projet cybersécurité ?
Expert dispo · Réponse 24h