
Script di shell per clonare e fare mirror di repository Git, calcolare i delta ed eseguire gitleaks per rilevare segreti nascosti in commit eliminati o resettati.
Questo repository contiene script shell che possono essere usati per scaricare e analizzare le differenze tra repository Git clonati e mirror. Per maggiori informazioni sulla particolarità del comportamento di Git, visita leggi il nostro post sul blog.
Questi script cloneranno una copia del repository Git dato, sia come clone normale che come mirror (opzione "--mirror"). Creeranno poi un delta tra i due, cercando di trovare le parti del repository disponibili solo in modalità mirror. Infine, verrà eseguito gitleaks per verificare la presenza di segreti nella porzione delta, e "git log" sarà usato per creare un unico file contenente i corpi dei commit per facilitarne l'analisi.
Si noti che, poiché questo script crea tre copie del repository, potrebbe consumare molto spazio su disco.
Puoi testare questi strumenti sui seguenti due repository di esempio:
Avrai bisogno di Git, Python 3, GitLeaks e git-filter-repo installati. Ecco un esempio di installazione su MacOS:
brew install git python3 gitleaks git-filter-repo
Puoi eseguire questo su un repository come segue:
git clone https://github.com/nightwatchcybersecurity/gitbleed_tools.git
cd gitbleed_tools
./gitbleed.sh https://github.com/nightwatchcybersecurity/gitbleed_tools.git example
Ci sono anche alcuni script helper che possono essere usati per scansionare repository GitHub e GitLab come segue:
./gitbleed_gh.sh nightwatchcybersecurity/gitbleed_tools
./gitbleed_gl.sh nwcs/junit_ui_bug
Questo creerà una cartella example contenente tre sottocartelle:
Ci sono anche tre file creati:
Usa il tracker dei problemi di GitHub per segnalare problemi o suggerire funzionalità: https://github.com/nightwatchcybersecurity/gitbleed_tools
Puoi anche inviare email a research /at/ nightwatchcybersecurity [dot] com