Projet open source
betterleaks/betterleaks avatar
betterleaks/betterleaks

Betterleaks : un scanner de secrets configurable pour Git, les systèmes de fichiers et les plateformes cloud

Scannez le monde (à la recherche de secrets). | Nouvelles sources | Prise en charge de sources telles que GitHub, GitLab, Hugging Face, S3, etc.

1 931 étoiles138 forksGoMIT

En bref

De quoi s’agit-il ?
Un scanner de secrets rapide et approfondi maintenu par l'équipe Gitleaks, prenant en charge plusieurs sources et un filtrage de règles expressif.
À qui s’adresse-t-il ?
Betterleaks fournit un outil de scan de secrets flexible avec prise en charge des dépôts Git, des fichiers locaux, de GitHub, GitLab, Hugging Face et des sources S3. Sa configuration utilise des filtres et validateurs basés sur Expr, permettant aux utilisateurs de réduire les faux positifs et de vérifier les secrets détectés.
Puis-je l’utiliser commercialement ?
Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 1 jour.
En quel langage est-il écrit ?
Principalement Go, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Qu'est-ce que Betterleaks

Betterleaks est un scanner de secrets configurable, rapide et approfondi. Il est maintenu par les créateurs de Gitleaks, y compris l'auteur original. Le développement est soutenu par Aikido Security. Le README fait référence à une série d'articles de blog expliquant le fonctionnement du moteur de détection : "Regex is all you need", "Rare Not Random" et "Express YourCELf". Aucun benchmark ou affirmation de performance au-delà de la mention de "performances rapides" n'est fourni dans le matériel source.

Méthodes d'installation

Le README liste plusieurs méthodes d'installation. Sur macOS avec Homebrew : brew install betterleaks ou brew install betterleaks/tap/betterleaks. Sur Fedora Linux : sudo dnf install betterleaks. Pour les conteneurs : docker pull ghcr.io/betterleaks/betterleaks:latest. Les développeurs Go peuvent exécuter go install github.com/betterleaks/betterleaks@latest. Pour compiler depuis les sources, clonez le dépôt et exécutez make build. Le README indique qu'il fonctionne sur "tout OS/Arch moderne", mais ne précise pas la version minimale de Go ni les exigences du système d'exploitation.

Sources de scan

Betterleaks fournit des sous-commandes pour différentes sources de données : betterleaks git scanne les dépôts Git ; betterleaks dir scanne les systèmes de fichiers locaux ; betterleaks github scanne les organisations, utilisateurs ou ressources spécifiques GitHub (ex. : pull requests avec --include issues,prs,actions,releases,gists) ; betterleaks gitlab scanne les groupes, projets ou merge requests GitLab ; betterleaks huggingface (alias betterleaks hf) scanne les modèles, jeux de données, Spaces et buckets Hugging Face ; betterleaks s3 scanne les jeux de données S3 publics ou énumère les buckets d'un compte Cloudflare R2 avec des chemins génériques ; betterleaks stdin lit depuis l'entrée standard. Chaque sous-commande accepte des indicateurs comme -v pour la sortie verbose et --git-workers pour le parallélisme.

Configuration et filtrage des règles

La configuration est écrite en TOML et utilise des expressions Expr pour le filtrage. Un prefilter global s'exécute avant la correspondance regex et peut accéder à la map attributes (ex. : chemin de fichier, nom d'auteur git) pour ignorer rapidement des ressources. Un filter global s'exécute pour chaque secret candidat. Les règles sont définies sous forme de tableaux [[rules]] avec id, description, regex, keywords, et des champs optionnels filter et validate. Le README note que les configurations en forme de CEL sont toujours acceptées pour la compatibilité, mais les nouvelles configurations doivent utiliser Expr. Les utilisateurs peuvent tester leurs règles dans le Betterleaks Playground à l'adresse betterleaks.com/playground. Le README recommande de maintenir sa propre configuration en production plutôt que d'étendre directement la configuration par défaut en amont.

Validation et filtrage par efficacité de token

Le champ validate dans une définition de règle utilise Expr pour effectuer des requêtes HTTP asynchrones vers le service cible afin de vérifier si un secret détecté est toujours actif. Le README fournit un exemple de validation de PAT fin GitHub qui renvoie la validité, le nom d'utilisateur et les portées OAuth. Le filtrage par efficacité de token utilise la tokenisation BPE pour mesurer la "rareté" d'une chaîne, ce qui aide à filtrer les faux positifs provenant du langage naturel. Le README ne spécifie pas de seuils exacts ni de caractéristiques de performance pour ce filtrage.

Licence et état du projet · betterleaks betterleaks

Betterleaks est publié sous la licence MIT, copyright Zachary Rice (2026). La licence permet l'utilisation, la copie, la modification, la fusion, la publication, la distribution, la sous-licence et la vente de copies du logiciel, à condition que l'avis de droit d'auteur soit inclus. Le logiciel est fourni "en l'état", sans aucune garantie. Les métadonnées du dépôt indiquent 1593 étoiles, 112 forks, 70 problèmes ouverts, et le projet n'est pas archivé. Le développement est sponsorisé par Aikido Security. Le README ne mentionne aucun canal de support officiel ni garantie de sécurité.

Conclusion éditoriale

Betterleaks fournit un outil de scan de secrets flexible avec prise en charge des dépôts Git, des fichiers locaux, de GitHub, GitLab, Hugging Face et des sources S3. Sa configuration utilise des filtres et validateurs basés sur Expr, permettant aux utilisateurs de réduire les faux positifs et de vérifier les secrets détectés. Le projet est open source sous licence MIT et son développement est soutenu par Aikido Security.

Sources officielles

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Notes de la communauté

Notes de la communauté