Gitleaks - Un script pour sortir les petits secrets des dépots Git et repérer vos boulettes

Publié initialement à : https://korben.info/gitleaks-un-script-pour-sortir-les-petits-secrets-des-depots-git-et-reperer-vos-boulettes.html

Vous seriez surpris de ce que les développeurs peuvent oublier dans leur code. Une petite clé API par ici, un petit mot de passe par là, un nom de serveur à un autre endroit...etc.

Vous êtes d'ailleurs peut-être concerné sans le savoir, et il est possible que dans le code que vous poussez vers des dépôts Git visibles de tous, il y ait ce genre d'oublis.

Heureusement, il y a Gitleaks, un script en Go, qui sait débusquer ce genre de choses.

Voici comment fonctionne Gitleaks. Tout d'abord il clone le dépôt choisi, puis lance un diff sur tous les commits, pour sortir ensuite un fichier json. Gitleaks scanne ensuite toutes les lignes de tous les commits de ce fichier à l'aide de quelques expressions régulières que voici.

Comme vous pouvez le voir, il n'y a pas beaucoup de regexp, mais vous pouvez en ajouter en éditant le fichier main.go.

Notez que si vous tombez sur des trucs oubliés dans votre code, ne paniquez pas et référez vous à cette page de Github qui explique comment faire le ménage.

Et pour installer et utiliser Gitleaks, c'est plutôt simple :

git clone https://github.com/zricethezav/gitleaks
cd gitleaks
go get github.com/zricethezav/gitleaks
go build
./gitleaks -o {URL DU DEPOT GIT}

Bonne exploration de vos dépôts les amis !