🐗 TruffleHog: Охотник за секретами в Git
Кратко: TruffleHog — инструмент, который находит пароли, API-ключи и токены, случайно закоммиченные в Git-репозитории. Он не просто ищет по шаблонам, но и проверяет, работает ли найденный секрет прямо сейчас. Создан в 2016 году, сегодня его используют 98% Fortune 500 и хакеры в атаках.
▫️ Как дошли до жизни такой 2016 год. Дилан Буржуа обнаружил, что сотни GitHub-репозиториев содержат секреты в коде. Существующие инструменты давали тонны ложных срабатываний. Буржуа написал TruffleHog: он искал секреты через энтропию (случайность строки). Позже разработчики перешли на 800+ детекторов под каждый тип секретов. Главной фишкой стала верификация — проверка, жив ли секрет прямо сейчас. 2021 год — основана Truffle Security, привлечено $40 млн от Intel Capital и a16z.
▫️ Как работает 1. Обнаружение: Прочёсывает Git-историю (весь, от первого коммита) — ищет AWS-ключи, GitHub-токены, пароли к базам данных. 2. Классификация: Определяет точный тип секрета — Stripe, Cloudflare, Postgres. 3. Верификация: Пытается использовать секрет — вызывает AWS API с найденным ключом и смотрит, пускает ли сервер. Убивает 99% ложных срабатываний. 4. Анализ: Для популярных секретов собирает детальную информацию: кто создал ключ, какие права.
▫️ Базовые команды Сканировать удалённый репозиторий: trufflehog git https://github.com/example/repo.git
Только живые секреты (без ложных): trufflehog git --only-verified https://github.com/example/repo.git
Сканирование организации на GitHub: trufflehog github --org=example-org --token=ghp_xxxxx
CI/CD-интеграция (GitHub Actions): блокирует PR при нахождении секретов
▫️ Кейс 1: Червь Shai-Hulud (сентябрь 2025) Хакеры скомпрометировали npm-аккаунт разработчика. Загрузили вредоносные пакеты, которые при установке запускали TruffleHog на машине жертвы, собирали секреты и отправляли злоумышленникам. Затем червь пытался опубликовать заражённые версии других пакетов, используя украденные npm-токены. Пострадало более 500 пакетов. TruffleHog оказался в руках хакеров, потому что это лучший инструмент для поиска секретов.
▫️ Кейс 2: Атака на Salesforce (2025) Злоумышленники украли OAuth-токены к интеграции Salesforce, затем массово сканировали скомпрометированные инстансы, чтобы найти другие секреты. И снова TruffleHog. Ирония: Google Threat Intelligence в отчёте рекомендовал защитникам запустить TruffleHog у себя, чтобы найти такие же уязвимости до хакеров.
▫️ Как защищаться 1. Сканируйте свои репозитории — запустите TruffleHog на всей истории, найдите секреты до злоумышленника. 2. Ротируйте найденные секреты — если секрет попал в историю, злоумышленник мог его скопировать. 3. Интегрируйте в CI/CD — блокируйте PR с секретами, чтобы они не попадали в главную ветку. 4. Используйте менеджеры секретов — HashiCorp Vault, AWS Secrets Manager. Главный вывод: TruffleHog — отмычка, которую используют и хакеры, и защитники. Единственный способ выиграть — найти секреты раньше злоумышленника. Запускайте TruffleHog на своих репозиториях сегодня, ротируйте найденное и внедряйте prevention в CI/CD.
#trufflehog #secrets #devsecops #github #infosec #лекисекретов #audit