Проверка репозитория GitHub на наличие учетных данных
Узнайте, содержит ли ваш репозиторий GitHub конфиденциальную информацию, такую как пароль, секретный ключ и т. д.
GitHub используется миллионами пользователей для размещения и обмена кодами.
Иногда разработчики могут случайно оставить конфиденциальную информацию в публичном репозитории, что может быть катастрофой.
Было много инцидентов, когда конфиденциальные данные были найдены в утечках на GitHub. Не стоит исключать человеческий фактор, примите меры для снижения вероятности утечки. Но на самом деле вы не можете контролировать поведение других людей, если работаете в команде.Решить проблему можно благодаря следующим решениям, которые помогут вам найти утечки в ваших репозиториях.
Gittyleaks
Бесплатная утилита на основе python для поиска API ключей, имен пользователей, паролей и email адресов, в конфигурационных или JSON файлах.
Gittyleaks можно установить с помощью pip и получить возможность находить подозрительные данные.
pip install gittyleaks # for python 2 pip3 install gittyleaks # for python 3
Пример использования
gittyleaks # default "smart" filter gittyleaks --find-anything # find anything remotely suspicious gittyleaks --excluding $ . [ example , # exclude some string matches (e.g. `$` occurs) gittyleaks --case-sensitive # set it to be strict about case
Git Secrets
Выпущен AWS Labs сканирует и предотвращает передачу паролей и другой конфиденциальной информации в репозиторий git.
Также позволяет вам сканировать файл или папку рекурсивно.Если вы подозреваете, что ваш репозиторий проектов может содержать ключ AWS, то эта утилита будет отличным решением для его поиска.
Синтаксис
git secrets --scan [-r|--recursive] [--cached] [--no-index] [--untracked] [<files>...] git secrets --scan-history git secrets --install [-f|--force] [<target-directory>] git secrets --list [--global] git secrets --add [-a|--allowed] [-l|--literal] [--global] <pattern> git secrets --add-provider [--global] <command> [arguments...] git secrets --register-aws [--global] git secrets --aws-provider [<credentials-file>]
Repo Supervisor
Repo Supervisor от автора Auth0 позволяет найти неправильную конфигурацию, пароли и т. д.
Может быть установлен в Docker контейнере или на любом сервере с использованием NPM.
Truffle Hog
Одна из популярных утилит для поиска секретов повсюду, включая ветки, фиксирует историю.
Поиск Truffle Hog с использованием регулярных выражений и энтропии.
Установка:
# pip install truffleHog |
Варианты использования:
truffleHog --regex --entropy=False https://github.com/dxa4481/truffleHog.git
truffleHog file:///user/dxa4481/codeprojects/truffleHog/
Git Hound
GitHound написан на Go, выявляет открытые ключи API и другую конфиденциальную информацию по всему GitHub, используя сопоставление с образцом, поиск в истории фиксации и уникальную систему оценки результатов.
GitHound находит ключи API с помощью комбинации точных регулярных выражений для таких сервисов, как Slack и AWS, и контекстно-зависимого общего регулярных выражений API . Он находит длинные строки, похожие на ключи API, окруженные такими ключевыми словами, как «Авторизация» и «API-токен». GitHound предполагает, что это ложные срабатывания, а затем доказывает их законность с помощью энтропии Шеннона, проверки слов по словарю, вычислений уникальности и обнаружения кодировки. Затем GitHound выдает положительные результаты с высокой степенью точности. Для файлов, которые кодируют секреты, декодирует строки base64 и ищет в закодированных строках ключи API.
Wraith
Поиск цифровых секретов, которые никогда не должны были быть найдены во всех уголках сети.
Цели
- Gitlab.com репозитории и проекты
- Github.com репозитории и организации
- Локальные git репозитории
- Локальные файловые системы

Gitrob
Изначально являлся форком Wraith. На данный момент написан на Go. Для использования достаточно скачать бинарный файл под выбранную ОС

Надеюсь, эти утилиты помогут вам узнать и найти секретные данные в существующих репозиториях GitHub.