TruffleHog

OpenAI подтвердила в сентябре 2026 года, что ее собственные системы сканируют GitHub в поисках открытых API-ключей — что, по сути, означает, что агенты читали публичные репозитории в поисках секретов до того, как разработчики, которые их написали, заметили проблему. Это только один из многих субъектов, которые это делают. Если вы загружаете код в GitHub, GitLab или самостоятельно размещаемый сервер, запуск сканера секретов локально перед каждым коммитом — это самая дешевая инвестиция в безопасность. Это лучшие приложения для сканирования открытых API-ключей на рабочем столе, независимо от того, аудируете ли вы отдельный проект или устанавливаете политику для команды.

На что обращать внимание в приложении для сканирования секретов

Быстрое сравнение

Приложение Лучше всего для Платформы Бесплатный план Начальная цена/мес Рейтинг
TruffleHog Проверка активных учетных данных в секретах Windows, macOS, Linux Полный CLI Корпоративный для сканирования организаций 4.8
Gitleaks Быстрые локальные сканы с минимальным объемом Windows, macOS, Linux Полный Бесплатно (с открытым исходным кодом) 4.7
detect-secrets Pre-commit крючок, которому доверяет команда безопасности Yelp Windows, macOS, Linux Полный Бесплатно (с открытым исходным кодом) 4.6
GitGuardian CLI Управляемые панели на основе локального сканирования Windows, macOS, Linux Бесплатно для одного разработчика Ценообразование команды по запросу 4.7
Semgrep Широкий SAST код, включающий правила для секретов Windows, macOS, Linux Сообщество бесплатно Ценообразование команды по запросу 4.8
Trivy Универсальный сканер для образов, IaC и репозиториев Git Windows, macOS, Linux Полный Бесплатно (с открытым исходным кодом) 4.7
git-secrets Собственная защита AWS от коммитинга AWS ключей Windows, macOS, Linux Полный Бесплатно (с открытым исходным кодом) 4.4

Приложения

1. TruffleHog — лучше всего для проверки активных секретов

TruffleHog идет дальше, чем любой другой сканер в этом списке, потому что он не просто обнаруживает форму секрета; он ее проверяет. Найдите токен, который выглядит как Stripe ключ, и TruffleHog действительно позвонит API Stripe, чтобы проверить, активен ли ключ. Эта одна функция сокращает ложные срабатывания почти до нуля в зрелой кодовой базе и превращает любую находку в инцидент, который вы действительно можете предпринять.

Где он не справляется: Проверка означает, что TruffleHog нужен исходящий доступ в Интернет. В изолированной CI вы должны вернуться в режим только обнаружения. Список проверенных детекторов широк, но не полон.

Ценообразование:

Платформы: Windows, macOS, Linux.

Загрузить: trufflesecurity.com — Исходный код (GitHub)

Итог: Выбор по умолчанию, если вы хотите знать, что токен не только присутствует, но и все еще действителен.

2. Gitleaks — лучше всего для быстрого локального сканирования

Gitleaks — это сканер с открытым исходным кодом для локальных pre-commit запусков. Он проходит через полную историю git, применяет хорошо поддерживаемый набор правил и возвращает результаты в JSON или SARIF. На монорепозитории среднего размера это завершается за несколько секунд; на ноутбуке с медленным диском — за несколько десятков секунд. Правила по умолчанию охватывают AWS, GCP, Slack, Stripe и около 80 других поставщиков.

Где он не справляется: Нет проверки активности. Находка может быть реальным секретом или тестовым фиксажем; вы решаете.

Ценообразование:

Платформы: Windows, macOS, Linux.

Загрузить: gitleaks.io — Исходный код (GitHub)

Итог: Сканер, который большинство инженеров устанавливают первым.

3. detect-secrets — лучше всего для pre-commit крючка

detect-secrets был написан командой безопасности Yelp специально для момента “коммит-время”. Установите его как pre-commit крючок, запустите detect-secrets scan --baseline .secrets.baseline один раз, чтобы записать известные находки, и каждый будущий коммит проверяется против этого базовамера. Новые секреты не пройдут крючок; старые остаются отмеченными для рассмотрения без блокировки процесса.

Где он не справляется: Количество детекторов меньше, чем у TruffleHog. Модель базовой линии мощная, но требует сеанса, чтобы во всем разобраться.

Ценообразование:

Платформы: Windows, macOS, Linux (на основе Python).

Загрузить: github.com/Yelp/detect-secrets

Итог: Правильный выбор для команды, стандартизирующей на pre-commit.

4. GitGuardian CLI (ggshield) — лучше всего для управляемых панелей

GitGuardian CLI — это сторона для разработчиков платформы SaaS GitGuardian. CLI сканирует локальные репозитории и pre-commit крючки; сторона SaaS следит за вашей общедоступной GitHub организацией в реальном времени. Если бывший сотрудник случайно форкнул приватный репозиторий, сторона GitGuardian для сканирования общедоступных данных — это то, что его ловит до того, как нападающий.

Где он не справляется: Ценность заключается в платформе SaaS. На своем собственном CLI не намного лучше, чем Gitleaks. Бесплатный уровень только для одного разработчика.

Ценообразование:

Платформы: Windows, macOS, Linux.

Загрузить: gitguardian.com/ggshield — Исходный код (GitHub)

Итог: Покупайте SaaS, если вам уже нужна панель; пропустите CLI иначе.

5. Semgrep — лучше всего, когда вам нужен SAST

Semgrep — это сканер статического анализа с активным пакетом правил для секретов наряду с его основной библиотекой SAST. Если вы уже запускаете Semgrep для контроля качества кода или проверок цепочки поставок, добавление пакета секретов почти ничего не стоит. Правила написаны на легком, читаемом DSL, который разработчики действительно поддерживают.

Где он не справляется: Не самый быстрый сканер только для секретов. Нормально на пятиэлементном монорепозитории; медленнее, чем Gitleaks на репозиториях в гигабайты.

Ценообразование:

Платформы: Windows, macOS, Linux.

Загрузить: semgrep.dev — Исходный код (GitHub)

Итог: Выберите это, если хотите сканирование секретов как часть более широкого конвейера статического анализа.

6. Trivy — лучше всего универсальный сканер

Trivy начинался как сканер уязвимостей образов контейнеров и получил модуль секретов. Если вы запускаете один инструмент на образах контейнеров, Terraform, манифестах Kubernetes и репозиториях Git, Trivy — это очевидный выбор. Набор правил для секретов сильно перекрывается с Gitleaks, но один и тот же бинарный файл сканирует ваши образы Docker на открытые ключи AWS.

Где он не справляется: Не самый острый инструмент для сканирования только репозиториев. Trivy сияет, когда ваша модель угроз охватывает контейнеры и инфраструктуру как код.

Ценообразование:

Платформы: Windows, macOS, Linux.

Загрузить: aquasecurity.github.io/trivy — Исходный код (GitHub)

Итог: Правильный выбор, когда ваш CI уже сканирует образы.

7. git-secrets — лучше всего защита только для AWS

git-secrets — это утилита, которую Amazon поддерживает, чтобы не допустить утечку ключей доступа AWS и секретных ключей в Git. Она устанавливается как Git крючок и отказывается принять коммит, который соответствует форме AWS ключа. Маленькая, категоричная и с одной целью.

Где он не справляется: По умолчанию ориентирован на AWS. Вы можете добавить пользовательские шаблоны, но в этот момент Gitleaks делает то же самое, но более полно.

Ценообразование:

Платформы: Windows, macOS, Linux.

Загрузить: github.com/awslabs/git-secrets

Итог: Правильный выбор только если ваша кодовая база касается AWS и ничего больше.

Как выбрать правильный

Если вам нужен один инструмент и одна команда, которая ловит секреты, на которые вы можете действовать сразу, используйте TruffleHog. Проверка активности делает отчеты достоверными.

Если вам нужен самый быстрый локальный опыт pre-commit и вы готовы фильтровать ложные срабатывания вручную, используйте Gitleaks.

Если вы внедряете политику на уровне команды с pre-commit крючками, стандартизируйте detect-secrets. Модель базовой линии обрабатывает унаследованные находки без нарушения существующих репозиториев.

Если вам нужна управляемая панель, которая следит за вашей общедоступной GitHub организацией на предмет случайных утечек, купите GitGuardian.

Если вы уже запускаете Semgrep или Trivy в CI, просто добавьте их правила для секретов. Нет причины устанавливать второй сканер.

Используйте git-secrets только в монорепозиториях, насыщенных AWS, где ничто другое не подходит.

FAQ

Какой сканер секретов имеет наименьшее количество ложных срабатываний? TruffleHog, благодаря его модели проверки активности. Если находка сообщается как проверенная, ключ в данный момент активен у соответствующего поставщика.

Могу ли я запустить эти сканеры на приватном репозитории без открытия кода? Да. Каждый инструмент в этом списке работает локально. Сканируемый код никогда не покидает вашу машину, если вы не отправляете результаты в управляемый сервис специально.

Являются ли эти сканеры заменой встроенному сканированию секретов GitHub? Они дополняют друг друга. GitHub сканирует при отправке; pre-commit сканер ловит утечки еще до того, как они попадут на GitHub.

Как мне избавиться от секрета, который уже был закоммичен? Немедленно ротируйте учетные данные (это единственное реальное исправление), затем переписывайте историю с помощью git filter-repo или BFG Repo-Cleaner, чтобы удалить файл, и силовой push. Все, кто клонировал репозиторий в это время, уже его имеют, поэтому ротация обязательна.

Понимают ли сканеры секретов зашифрованные файлы или .env.enc? Нет. Все, что непрозрачно для сканера (SOPS-зашифрованный YAML, GPG-зашифрованные файлы env, запечатанные секреты), пропускается. Это правильное поведение: сканер предупреждает только об открытых в тексте учетных данных.