Gitleaks детектор утечек секретов в вашем коде

01 Jun, 2026

Когда последний раз вы проверяли репозиторий на утечки?

Представьте: вы только что запушили обновление в репозиторий, и через пару часов получаете уведомление от GitHub о скомпрометированном токене. Знакомая ситуация? Именно такие случаи предотвращает Gitleaks — инструмент для поиска секретов в кодовой базе.

Что такое Gitleaks?

Gitleaks — это open-source инструмент на Go, который сканирует:

  • Git-репозитории (локальные и удалённые)
  • Отдельные файлы и директории
  • Потоки данных через stdin

Основная задача — находить случайно закоммиченные секреты: пароли, API-ключи, токены доступа и другие конфиденциальные данные.

Ключевые возможности

1. Гибкие правила обнаружения

Gitleaks использует комбинацию:

  • Регулярных выражений
  • Проверки энтропии (для случайных строк)
  • Ключевых слов в контексте

Пример обнаружения Sidekiq-секрета:

Реклама
Finding:     "export BUNDLE_ENTERPRISE__CONTRIBSYS__COM=cafebabe:deadbeef",
Secret:      cafebabe:deadbeef
RuleID:      sidekiq-secret

2. Множество вариантов интеграции

Вы можете использовать Gitleaks как:

  • CLI-утилиту
  • GitHub Action
  • Pre-commit хук
  • Docker-контейнер

Пример для GitHub Actions:

name: gitleaks
on: [pull_request, push]
jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: gitleaks/gitleaks-action@v2

3. Гибкая конфигурация

Можно:

  • Использовать готовые правила
  • Создавать собственные
  • Настраивать исключения

Пример правила в TOML:

[[rules]]
id = "custom-api-key"
description = "Custom API Key"
regex = '''api[-_ ]?key[ =:"'\t]+([a-zA-Z0-9]{32})'''

4. Поддержка архивов и кодировок

Gitleaks умеет:

  • Распаковывать и сканировать архивы (ZIP, tar и другие)
  • Декодировать base64, hex и percent-encoded строки

Практическое применение

  1. В CI/CD пайплайнах — автоматическая проверка перед мерджем PR
  2. При миграции старых репозиториев — поиск исторических утечек
  3. В pre-commit хуках — предотвращение коммитов с секретами
  4. Для аудита безопасности — регулярные проверки всей кодовой базы

Как начать использовать

Установка через Homebrew:

brew install gitleaks

Быстрая проверка репозитория:

gitleaks detect --source . --verbose

Gitleaks — must-have инструмент для:

  • Разработчиков, работающих с конфиденциальными данными
  • DevOps-инженеров, настраивающих CI/CD
  • Команд, заботящихся о безопасности

Проект активно развивается, имеет 22.4k звёзд на GitHub и поддерживается сообществом. Попробуйте — возможно, он найдёт то, что вы не хотели бы показывать публично.

P.S. В моей практике Gitleaks как-то нашёл старый тестовый ключ AWS в репозитории, который «никто не помнил». А у вас были подобные случаи?