Gitleaks — это инструмент с открытым исходным кодом, предназначенный для предотвращения размещения конфиденциальных данных в репозиториях Git. Он работает путем сканирования Git‑репозиториев на наличие потенциальных секретов, таких как пароли, API‑ключи и другая конфиденциальная информация, которая не должна быть публично раскрыта.

Инструмент хорошо настраивается и поддерживает широкий спектр форматов файлов, включая текстовые, двоичные и даже зашифрованные файлы. Gitleaks можно использовать как инструмент командной строки или как часть конвейера CI/CD, чтобы помочь отловить конфиденциальные данные до их размещения в репозитории.

Gitleaks использует регулярные выражения для идентификации потенциально конфиденциальных данных, а его правила можно легко настроить для соответствия конкретным интересующим шаблонам. Он также поддерживает маскировку определенных шаблонов или полное игнорирование определенных файлов или каталогов.

Gitleaks может быть полезен всем, кто работает с Git‑репозиториями, особенно тем, кто имеет дело с конфиденциальными данными. Это эффективный способ предотвратить случайные утечки и обеспечить защиту конфиденциальной информации.

Вот шпаргалка по использованию Gitleaks:

  1. Установите Gitleaks: Вы можете установить Gitleaks на свою систему с помощью менеджера пакетов для вашей операционной системы или загрузив бинарный релиз со страницы Gitleaks на GitHub.

  2. Настройте Gitleaks: Вы можете настроить Gitleaks, создав конфигурационный файл с правилами, которые вы хотите использовать. По умолчанию Gitleaks поставляется с набором предопределенных правил, предназначенных для обнаружения распространенных типов конфиденциальной информации, таких как пароли, API-ключи и SSH-ключи.

  3. Сканирование репозиториев: Вы можете сканировать репозитории с помощью Gitleaks, выполнив команду gitleaks --repo=<путь к репозиторию> из командной строки. Вы также можете указать дополнительные параметры, такие как количество используемых потоков и формат вывода.

  4. Интеграция с конвейерами CI/CD: Вы можете интегрировать Gitleaks в ваш CI/CD конвейер для автоматического сканирования репозиториев на предмет потенциальных утечек. Для этого нужно добавить в конфигурационный файл конвейера шаг Gitleaks и указать хранилище для сканирования.

  5. Настроить правила: Вы можете настроить правила Gitleaks так, чтобы они соответствовали определенным интересующим вас шаблонам. Это можно сделать путем редактирования конфигурационного файла и добавления или изменения регулярных выражений.

  6. Маскировка конфиденциальной информации: Вы можете настроить Gitleaks на маскировку определенных шаблонов конфиденциальной информации, такой как пароли или ключи API, в своих выводах. Это можно сделать, указав опцию --redact при запуске Gitleaks.

  7. Игнорировать файлы или каталоги: Вы можете настроить 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 - Инстаграм проекта

Комментарии (1)


  1. Sadok
    00.00.0000 00:00
    +1

    Что-то старенькое у вас. gitleaks --repo уже нет