В мире программирования и кибербезопасности секреты — это нечто большее, чем просто шёпот в коридорах офиса. Это могут быть пароли, ключи API, токены доступа и другие конфиденциальные данные, случайно попавшие в кодовую базу. И вот тут на сцену выходит Gitleaks, как супергерой с плащом, готовый защитить ваш код от утечек. В данном посте я познакомлю вас с этим инструментом и расскажу, как его установить.
Что такое Gitleaks и для чего он нужен?
Gitleaks — это SAST-инструмент с открытым исходным кодом, разработанный для обнаружения секретов в репозиториях Git. Его задача — сканировать код на наличие конфиденциальной информации и предотвратить её попадание в общий доступ.
Gitleaks поддерживает множество языков программирования и может интегрироваться с CI/CD-пайплайнами, что делает его универсальным решением для команд разработчиков и администраторов систем.
Современные приложения зачастую полагаются на множество сторонних сервисов и API, которые требуют использования ключей и токенов для аутентификации. Если такие секреты случайно попадают в публичные репозитории, это может привести к серьёзным последствиям, включая взлом систем и утечку данных.
Gitleaks помогает автоматизировать процесс проверки и минимизировать человеческий фактор, что особенно важно в крупных командах и проектах с открытым исходным кодом.
Как работает Gitleaks?
Gitleaks использует регулярные выражения и шаблоны для поиска конфиденциальной информации. Инструмент может быть настроен на работу с любыми правилами, которые подходят именно вам, будь то специфические паттерны или стандартные шаблоны для ключей AWS, Google Cloud, и других популярных сервисов. Gitleaks можно запускать как вручную, так и автоматически, интегрировав его в ваши CI/CD-процессы.
Установка и использование
Gitleaks можно установить с помощью Homebrew, Docker или Go. Gitleaks также доступен в бинарном виде для многих популярных платформ и типов ОС. Кроме того, Gitleaks можно реализовать как перехватчик pre-commit `а непосредственно в вашем репозитории или как действие GitHub с помощью Gitleaks-Action.
Установка Gitleaks проста и осуществляется с помощью командной строки. Вот пример установки:
# MacOS
brew install gitleaks
# Docker (DockerHub)
docker pull zricethezav/gitleaks:latest
docker run -v ${path_to_host_folder_to_scan}:/path zricethezav/gitleaks:latest [COMMAND] --source="/path" [OPTIONS]
# Docker (ghcr.io)
docker pull ghcr.io/gitleaks/gitleaks:latest
docker run -v ${path_to_host_folder_to_scan}:/path ghcr.io/gitleaks/gitleaks:latest [COMMAND] --source="/path" [OPTIONS]
# From Source (make sure `go` is installed)
git clone https://github.com/gitleaks/gitleaks.git
cd gitleaks
make build
Команды
Для обнаружения секретов нужно использовать две команды: detect и protect.
- Команда detect используется для сканирования репозиториев, каталогов и файлов. Команду можно использовать на машинах разработчиков и в средах CI.
- Команда protect используется для сканирования незафиксированных изменений в репозитории git. Эту команду следует использовать на машинах разработчика в соответствии со сдвигом влево в целях безопасности.
Вы также можете настроить Gitleaks на работу с различными форматами отчетов, такими как JSON или CSV, что облегчает интеграцию с другими инструментами. Кроме того, Gitleaks предлагает формат конфигурации, которому вы можете следовать, чтобы написать свои собственные правила обнаружения секретов.
Отличительные черты Gitleaks
- Открытый исходный код: позволяет любому желающему вносить изменения и улучшения.
- Гибкость и настраиваемость: поддержка пользовательских правил и шаблонов.
- Интеграция с CI/CD: автоматическое сканирование при каждом коммите или деплое.
- Сообщество и поддержка: активное сообщество разработчиков, готовое помочь с любыми вопросами.
Заключение
Gitleaks — это мощный инструмент, который помогает разработчикам и командам по безопасности защищать свои проекты от утечек конфиденциальной информации. В мире, где киберугрозы становятся всё более изощрёнными, наличие подобных инструментов становится не просто желательным, а необходимым.
В данном посте я рассказал вам, что такое Gitleaks, для чего он нужен и как начать им пользоваться. Ознакомившись с приведенными материалами, вы сможете повысить осведомленность об актуальных утилитах и усилить безопасность вашего проекта.