#!/usr/bin/env python3 """Helper script to be used as a pre-commit hook.""" import os import sys import subprocess def gitleaksEnabled(): """Determine if the pre-commit hook for gitleaks is enabled.""" out = subprocess.getoutput("git config --bool hooks.gitleaks") if out == "false": return False return True if gitleaksEnabled(): exitCode = os.WEXITSTATUS(os.system('gitleaks protect -v --staged')) if exitCode == 1: print('''Warning: gitleaks has detected sensitive information in your changes. To disable the gitleaks precommit hook run the following command: git config hooks.gitleaks false ''') sys.exit(1) else: print('gitleaks precommit disabled\ (enable with `git config hooks.gitleaks true`)')