
Outil de reconnaissance pour les organisations GitHub
Gitrob est un outil conçu pour aider à trouver des fichiers potentiellement sensibles poussés vers des dépôts publics sur Github. Gitrob clone les dépôts appartenant à un utilisateur ou une organisation jusqu'à une profondeur configurable, parcourt l'historique des commits et signale les fichiers qui correspondent à des signatures de fichiers potentiellement sensibles. Les résultats sont présentés via une interface web pour une navigation et une analyse faciles.
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)
Par défaut, gitrob stocke l'état d'une évaluation en mémoire. Cela signifie que les résultats d'une évaluation sont perdus lorsque Gitrob est fermé. Vous pouvez sauvegarder la session dans un fichier en utilisant l'option -save :
gitrob -save ~/gitrob-session.json acmecorp
Gitrob enregistre toutes les informations recueillies dans le chemin de fichier spécifié sous forme d'un document JSON spécial. Le fichier peut être rechargé pour consultation ultérieure, partagé avec d'autres analystes ou analysé pour des intégrations personnalisées avec d'autres outils et systèmes.
Une session stockée dans un fichier peut être chargée avec l'option -load :
gitrob -load ~/gitrob-session.json
Gitrob démarre son interface web et fournit les résultats pour analyse.
Une version précompilée est disponible pour chaque version. Vous pouvez également utiliser la dernière version du code source de ce dépôt pour construire votre propre binaire.
Assurez-vous de disposer d'un environnement Go >= 1.8 correctement configuré et que $GOPATH/bin se trouve dans votre $PATH
$ go get github.com/michenriksen/gitrob
Cette commande télécharge gitrob, installe ses dépendances, le compile et déplace l'exécutable gitrob vers $GOPATH/bin.
Gitrob a besoin d'un jeton d'accès Github pour interagir avec l'API Github. Créez un jeton d'accès personnel et enregistrez-le dans une variable d'environnement dans votre .bashrc ou un fichier de configuration similaire :
export GITROB_ACCESS_TOKEN=deadbeefdeadbeefdeadbeefdeadbeefdeadbeef
Vous pouvez également spécifier le jeton d'accès avec l'option -github-access-token, mais attention à l'historique de vos commandes !