Узнайте, содержит ли ваш репозиторий GitHub конфиденциальную информацию, такую как пароль, секретный ключ и т. д.
GitHub используется миллионами пользователей для размещения и обмена кодами.
Это фантастика, но иногда вы / разработчики / владельцы кода могут случайно оставить конфиденциальную информацию в публичном репозитории, что может быть катастрофой.
Есть много инцидентов, когда конфиденциальные данные были замечены в утечках на GitHub
. Вы не можете устранить человеческую ошибку, но можете принять меры для ее уменьшения.
Как вы гарантируете, что ваш репозиторий не содержит пароль или ключ?
Простой ответ – не хранить.
Но на самом деле вы не можете контролировать поведение других людей, если работаете в команде.
Решить проблему можно благодаря следующему решению, которое поможет вам найти ошибки в вашем репозитории.
Gittyleaks
Бесплатная утилита на основе python для поиска таких слов, как пользователь, пароль, Электронная почта в строковых, конфигурационных или JSON форматах.
Gittyleaks можно установить с помощью pip и иметь возможность находить подозрительные данные.
Git Secrets
Выпущен AWS Labs, как вы можете догадаться по имени – он сканирует на секреты.
Git Secrets было бы полезно для предотвращения использования AWS-ключей, добавив шаблон.
Это позволяет вам сканировать файл или папку рекурсивно.
Если вы подозреваете, что ваш репозиторий проектов может содержать ключ AWS, то это будет отличное место для начала работы.
Repo Supervisor
Repo Supervisor by Auth0 позволяет найти неправильную конфигурацию, пароли и т. д.
Это безсерверный инструмент, который может быть установлен в контейнере Docker или на любом сервере с использованием NPM.
Truffle Hog
Одна из популярных утилит для поиска секретов повсюду, включая ветви, фиксирует историю.
Поиск Truffle Hog с использованием регулярных выражений и энтропии, и результат печатается на экране.
Вы можете установить с помощью pip
# pip install truffleHog
Git Hound
Git-плагин на GO, Git Hound, помогает предотвратить передачу конфиденциальных данных в репозитории против PCRE (Perl Compatible Regular Expressions).
Он доступен в двоичной версии для Windows, Linux, Darwin и т.д.
Полезно, если у вас нет GO.
Наряду с вышеперечисленными инструментами вы также можете попробовать Surch и Gitrob.
Если ваши требования к проекту имеют учетные данные в репозитории из-за открытого источника, то вы можете рассмотреть возможность использования хранилища паролей для управления секретами.
Есть несколько вариантов.
HashiCorp Vault – секретное хранилище для хранения, аренды, аудита, отзыва токенов, пароля, сертификатов, ключей API, учетных данных AWS и т. д.
Это приложение с открытым исходным кодом, поэтому оно БЕСПЛАТНО и доступно для установки из исходников или бинарников.
BlackBox – работает с Git, Subversion, Mercurial и Perforce.
Данные шифруются с помощью GPG (Privacy Guard GNU).
Приложение поддерживает следующие системы:
Linux
Mac OS X
MinGW
Cygwin
Надеюсь, это даст вам представление о секретных данных в существующем репозитории GitHub и узнайте побольше о инструментах для их шифрования, если вам нужно хранить в Git.