Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

GitLeaks

devsecops

Dé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

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis