
Aufklärungstool für GitHub-Organisationen
Gitrob ist ein Tool, das dabei hilft, potenziell sensible Dateien zu finden, die in öffentliche Repositorys auf GitHub gepusht wurden. Gitrob klont Repositorys eines Benutzers oder einer Organisation bis zu einer konfigurierbaren Tiefe, durchläuft die Commit-Historie und markiert Dateien, die Signaturen für potenziell sensible Dateien entsprechen. Die Ergebnisse werden über eine Weboberfläche zur einfachen Navigation und Analyse präsentiert.
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)
Standardmäßig speichert Gitrob den Zustand einer Prüfung im Arbeitsspeicher. Das bedeutet, dass die Ergebnisse einer Prüfung verloren gehen, wenn Gitrob geschlossen wird. Sie können die Sitzung mit der Option -save in einer Datei speichern:
gitrob -save ~/gitrob-session.json acmecorp
Gitrob speichert alle gesammelten Informationen unter dem angegebenen Dateipfad als spezielles JSON-Dokument. Die Datei kann später wieder geladen werden, um sie zu durchsuchen, mit anderen Analysten geteilt oder für benutzerdefinierte Integrationen mit anderen Tools und Systemen geparst werden.
Eine in einer Datei gespeicherte Sitzung kann mit der Option -load geladen werden:
gitrob -load ~/gitrob-session.json
Gitrob startet seine Weboberfläche und stellt die Ergebnisse zur Analyse bereit.
Für jede Version ist eine vorkompilierte Version verfügbar. Alternativ können Sie die neueste Version des Quellcodes aus diesem Repository verwenden, um Ihr eigenes Binärprogramm zu erstellen.
Stellen Sie sicher, dass Sie eine korrekt konfigurierte Go >= 1.8-Umgebung haben und dass $GOPATH/bin in Ihrem $PATH enthalten ist.
$ go get github.com/michenriksen/gitrob
Dieser Befehl lädt Gitrob herunter, installiert seine Abhängigkeiten, kompiliert es und verschiebt die ausführbare Datei gitrob nach $GOPATH/bin.
Gitrob benötigt ein GitHub-Zugriffstoken, um mit der GitHub-API zu interagieren. Erstellen Sie ein persönliches Zugriffstoken und speichern Sie es in einer Umgebungsvariablen in Ihrer .bashrc oder einer ähnlichen Shell-Konfigurationsdatei:
export GITROB_ACCESS_TOKEN=deadbeefdeadbeefdeadbeefdeadbeefdeadbeef
Alternativ können Sie das Zugriffstoken mit der Option -github-access-token angeben, aber achten Sie auf Ihren Befehlsverlauf!