
Инструмент разведки для организаций GitHub
Gitrob — это инструмент для поиска потенциально конфиденциальных файлов, отправленных в публичные репозитории на Github. Gitrob клонирует репозитории, принадлежащие пользователю или организации, на заданную глубину, проходит по истории коммитов и помечает файлы, соответствующие сигнатурам потенциально конфиденциальных файлов. Результаты представляются через веб-интерфейс для удобного просмотра и анализа.
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)
По умолчанию gitrob хранит состояние оценки в памяти. Это означает, что результаты оценки теряются при закрытии Gitrob. Вы можете сохранить сессию в файл, используя опцию -save:
gitrob -save ~/gitrob-session.json acmecorp
Gitrob сохранит всю собранную информацию по указанному пути в специальный JSON-документ. Файл можно загрузить снова для просмотра в другой момент времени, передать другим аналитикам или разобрать для пользовательской интеграции с другими инструментами и системами.
Сессию, сохранённую в файле, можно загрузить с помощью опции -load:
gitrob -load ~/gitrob-session.json
Gitrob запустит свой веб-интерфейс и покажет результаты для анализа.
Предварительно скомпилированная версия доступна для каждого релиза. В качестве альтернативы вы можете использовать последнюю версию исходного кода из этого репозитория, чтобы собрать собственный бинарный файл.
Убедитесь, что у вас правильно настроено окружение Go >= 1.8 и что $GOPATH/bin находится в вашем $PATH
$ go get github.com/michenriksen/gitrob
Эта команда загрузит gitrob, установит его зависимости, скомпилирует его и переместит исполняемый файл gitrob в $GOPATH/bin.
Gitrob потребуется токен доступа Github для взаимодействия с Github API. Создайте персональный токен доступа и сохраните его в переменной окружения в вашем .bashrc или аналогичном файле конфигурации оболочки:
export GITROB_ACCESS_TOKEN=deadbeefdeadbeefdeadbeefdeadbeefdeadbeef
В качестве альтернативы вы можете указать токен доступа с помощью опции -github-access-token, но следите за историей команд!