
pre-commit
Site officiel : https://pre-commit.com
Journaux liées à cette note :
Journal du mercredi 07 mai 2025 à 23:53
Je viens de publier un playground au sujet de Gitleaks : gitleaks-playground
.
Mes objectifs étaient les suivants :
- Tester la détection d'une clé privé ssh
- Tester la détection d'un password
- Tester la configuration de Gitleaks dans un git hook pre-commit
- Tester comment ignorer les secrets présents dans certains fichiers
J'ai compris que les règles de détections de secrets sont définies dans le fichier /config/gitleaks.toml
.
J'ai constaté que par défaut, Gitleaks ne détecte pas ce password :
export PASSWORD="aeFeaxoo3phaikae"
pour corriger ce problème, j'ai été obligé de modifier le niveau de sensibilité de l'entropy de la règle generic-api-key
dans le fichier /.gitleaks.toml
:
[[rules]]
id = "generic-api-key"
entropy = 2
Le paramètre entropy
est définit ici par défaut à 3.5
.
J'ai compris qu'il est possible d'ignorer la détection d'un secret soit en ajoutant les Fingerpritn
dans .gitleaksignore
ou alors en ignorant totalement des fichiers, comme ceci dans .gitleaks.toml
:
[[allowlists]]
description = "Ignore README"
paths = [
"README.md"
]
[[allowlists]]
description = "Ignore .secret"
paths = [
".secret"
]
Pour configurer le git hooks, j'ai préféré de ne pas utiliser pre-commit afin de ne pas dépendre d'un projet en python.
J'utilise un simple script shell : /git-hooks/pre-commit
.
Pour activer ce hook, j'utilise la commande git config core.hooksPath git-hooks
.
Je trouve cela plutôt simple avec aucune dépendance.