Gitleaks — это инструмент с открытым исходным кодом, предназначенный для предотвращения размещения конфиденциальных данных в репозиториях Git. Он работает путем сканирования Git-репозиториев на наличие потенциальных секретов, таких как пароли, API-ключи и другая конфиденциальная информация, которая не должна быть публично раскрыта.
Инструмент хорошо настраивается и поддерживает широкий спектр форматов файлов, включая текстовые, двоичные и даже зашифрованные файлы. Gitleaks можно использовать как инструмент командной строки или как часть конвейера CI/CD, чтобы помочь отловить конфиденциальные данные до их размещения в репозитории.
Gitleaks использует регулярные выражения для идентификации потенциально конфиденциальных данных, а его правила можно легко настроить для соответствия конкретным интересующим шаблонам. Он также поддерживает маскировку определенных шаблонов или полное игнорирование определенных файлов или каталогов.
Gitleaks может быть полезен всем, кто работает с Git-репозиториями, особенно тем, кто имеет дело с конфиденциальными данными. Это эффективный способ предотвратить случайные утечки и обеспечить защиту конфиденциальной информации.
Вот шпаргалка по использованию Gitleaks:
-
Установите Gitleaks: Вы можете установить Gitleaks на свою систему с помощью менеджера пакетов для вашей операционной системы или загрузив бинарный релиз со страницы Gitleaks на GitHub.
-
Настройте Gitleaks: Вы можете настроить Gitleaks, создав конфигурационный файл с правилами, которые вы хотите использовать. По умолчанию Gitleaks поставляется с набором предопределенных правил, предназначенных для обнаружения распространенных типов конфиденциальной информации, таких как пароли, API-ключи и SSH-ключи.
-
Сканирование репозиториев: Вы можете сканировать репозитории с помощью Gitleaks, выполнив команду gitleaks —repo=<путь к репозиторию> из командной строки. Вы также можете указать дополнительные параметры, такие как количество используемых потоков и формат вывода.
-
Интеграция с конвейерами CI/CD: Вы можете интегрировать Gitleaks в ваш CI/CD конвейер для автоматического сканирования репозиториев на предмет потенциальных утечек. Для этого нужно добавить в конфигурационный файл конвейера шаг Gitleaks и указать хранилище для сканирования.
-
Настроить правила: Вы можете настроить правила Gitleaks так, чтобы они соответствовали определенным интересующим вас шаблонам. Это можно сделать путем редактирования конфигурационного файла и добавления или изменения регулярных выражений.
-
Маскировка конфиденциальной информации: Вы можете настроить Gitleaks на маскировку определенных шаблонов конфиденциальной информации, такой как пароли или ключи API, в своих выводах. Это можно сделать, указав опцию —redact при запуске Gitleaks.
-
Игнорировать файлы или каталоги: Вы можете настроить Gitleaks на игнорирование определенных файлов или каталогов при сканировании репозиториев. Это можно сделать, добавив в конфигурационный файл правила, которые исключают файлы или каталоги на основе их имени или расположения.
Ниже приведены некоторые общие примеры команд для Gitleaks:
Сканирование одного хранилища:
gitleaks --repo=/path/to/repository
Эта команда просканирует указанный репозиторий на предмет потенциальной утечки конфиденциальной информации.
Сканирование нескольких хранилищ:
gitleaks --config=config.toml
Эта команда просканирует все хранилища, перечисленные в конфигурационном файле config.toml.
[[repos]] repo = "/path/to/repo1" branches = ["master", "develop"] [[repos.rules]] regex = "password" max_severity = "high" [[repos.rules]] regex = "AWS_SECRET_ACCESS_KEY" max_severity = "medium" [[repos]] repo = "/path/to/repo2" branches = ["main"] [[repos.rules]] regex = "api_key" max_severity = "high"
В этом примере перечислены два репозитория, каждый из которых имеет свой собственный набор правил. Первый репозиторий расположен по адресу /path/to/repo1 и имеет две ветви: master и develop. В этом репозитории заданы два правила: одно для обнаружения слова «password» с максимальной степенью серьезности «high», а другое для обнаружения строки «AWS_SECRET_ACCESS_KEY» с максимальной степенью серьезности «medium».
Второй репозиторий расположен по адресу /path/to/repo2 и имеет только одну указанную ветку: main. Этот репозиторий имеет одно правило для обнаружения строки «api_key» с максимальной степенью серьезности «высокая».
Укажите формат вывода:
gitleaks --repo=/path/to/repository --format=json
Эта команда выведет результаты сканирования в формате JSON.
Сокращение конфиденциальной информации:
gitleaks --repo=/path/to/repository --redact
Эта команда удалит конфиденциальную информацию, такую как пароли и ключи API, из результатов сканирования.
Игнорировать определенные файлы или каталоги:
gitleaks --repo=/path/to/repository --exclude-path=path/to/excluded/directory
Эта команда будет игнорировать указанный каталог при сканировании хранилища.
Укажите количество потоков:
gitleaks --repo=/path/to/repository --threads=4
Эта команда будет использовать четыре потока для сканирования репозитория, что поможет ускорить процесс сканирования.
Сканирование определенной ветки:
gitleaks --repo=/path/to/repository --branch=my-branch
Эта команда будет сканировать только указанную ветвь репозитория.
Это лишь несколько примеров из множества опций и команд, доступных в Gitleaks. Для получения дополнительной информации вы можете ознакомиться с документацией Gitleaks или выполнить команду gitleaks —help из командной строки.
Заключение
Gitleaks — это мощный инструмент с открытым исходным кодом, предназначенный для предотвращения размещения конфиденциальных данных в репозиториях Git. Он работает путем сканирования Git-репозиториев на наличие потенциальных секретов, таких как пароли, API-ключи и другая конфиденциальная информация, которая не должна быть публично раскрыта. Инструмент хорошо настраивается, поддерживает широкий спектр форматов файлов и может использоваться как инструмент командной строки или как часть конвейера CI/CD, чтобы помочь отловить конфиденциальные данные до их размещения в репозитории. Следуя примерам команд и советам, приведенным в шпаргалке, вы сможете эффективно использовать Gitleaks для сканирования и защиты ваших репозиториев от потенциальных утечек конфиденциальной информации.
Оригинал статьи — здесь.
Поддержите автора хлопками на Medium.
Перевод статьи был выполнен проектом перевод энтузиаста:
-
? @Ent_TranslateIB — Телеграмм канал с тематикой информационной безопасности
-
? @Ent_Translate — Инстаграм проекта
ссылка на оригинал статьи https://habr.com/ru/post/723916/
Добавить комментарий