
Strumento di ricognizione per organizzazioni GitHub
Gitrob è uno strumento per aiutare a trovare file potenzialmente sensibili caricati su repository pubblici su GitHub. Gitrob clona i repository appartenenti a un utente o a un'organizzazione fino a una profondità configurabile e scorre la cronologia dei commit, segnalando i file che corrispondono a firme di file potenzialmente sensibili. I risultati vengono presentati tramite un'interfaccia web per una facile navigazione e analisi.
gitrob [options] target [target2] ... [targetN]
-bind-address string
Address to bind web server to (default "127.0.0.1")
-commit-depth int
Number of repository commits to process (default 500)
-debug
Print debugging information
-github-access-token string
GitHub access token to use for API requests
-load string
Load session file
-no-expand-orgs
Don't add members to targets when processing organizations
-port int
Port to run web server on (default 9393)
-save string
Save session to file
-silent
Suppress all output except for errors
-threads int
Number of concurrent threads (default number of logical CPUs)
Per impostazione predefinita, gitrob memorizza lo stato di un'analisi in memoria. Ciò significa che i risultati di un'analisi vengono persi quando Gitrob viene chiuso. È possibile salvare la sessione in un file utilizzando l'opzione -save:
gitrob -save ~/gitrob-session.json acmecorp
Gitrob salverà tutte le informazioni raccolte nel percorso file specificato come un documento JSON speciale. Il file può essere caricato di nuovo per essere navigato in un altro momento, condiviso con altri analisti o analizzato per integrazioni personalizzate con altri strumenti e sistemi.
Una sessione salvata in un file può essere caricata con l'opzione -load:
gitrob -load ~/gitrob-session.json
Gitrob avvierà la sua interfaccia web e servirà i risultati per l'analisi.
Una versione precompilata è disponibile per ogni versione, in alternativa è possibile utilizzare l'ultima versione del codice sorgente da questo repository per creare il proprio binario.
Assicurati di avere un ambiente Go >= 1.8 configurato correttamente e che $GOPATH/bin sia nel tuo $PATH
$ go get github.com/michenriksen/gitrob
Questo comando scaricherà gitrob, installerà le sue dipendenze, lo compilerà e sposterà l'eseguibile gitrob in $GOPATH/bin.
Gitrob avrà bisogno di un token di accesso GitHub per interagire con l'API di GitHub. Crea un token di accesso personale e salvalo in una variabile d'ambiente nel tuo .bashrc o in un file di configurazione della shell simile:
export GITROB_ACCESS_TOKEN=deadbeefdeadbeefdeadbeefdeadbeefdeadbeef
In alternativa, puoi specificare il token di accesso con l'opzione -github-access-token, ma fai attenzione alla cronologia dei comandi!