#!/usr/bin/env bash # Сканирование репозитория на секреты. Поддерживает gitleaks 8.19+ # (`gitleaks dir`) и старые версии (`gitleaks detect`). set -euo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" CONFIG="${ROOT}/.gitleaks.toml" if ! command -v gitleaks >/dev/null 2>&1; then echo "gitleaks не установлен — пропускаем (make tools поставит его в .cache/bin)" exit 0 fi cd "$ROOT" if gitleaks dir --help >/dev/null 2>&1; then # Кэши инструментов и собранные артефакты не являются частью исходников. gitleaks dir . --no-banner --redact --config "$CONFIG" \ --report-format sarif --report-path "${ROOT}/build/gitleaks.sarif" else gitleaks detect --no-banner --redact --config "$CONFIG" \ --report-format sarif --report-path "${ROOT}/build/gitleaks.sarif" fi echo "gitleaks: утечек не найдено (отчёт: build/gitleaks.sarif)"