GitHub secret scanning бесплатно ловит утекшие токены в публичных репозиториях, а push protection блокирует коммит с секретом еще до того, как он попадет в историю Git. Ниже пошагово: включение сканирования, custom patterns под ЮKassa и Telegram, и в…
400 000+ органических переходов за 3 месяца. Со-основатель GoBanana (231K пользователей, 12+ млн ₽ без рекламы) и NeuroScribe (65K пользователей). SEO/GEO-стратегии для AI-поисковиков, 1 700+ единиц контента, 17+ реализованных стратегий.
Об авторе →Claude Code: новый CLI-агент от Anthropic
Anthropic выпустила Claude Code — терминальный AI-агент для разработчиков. Инструмент работает прямо в командной строке и умеет писать, редактировать и запускать код.
Zcode AI: Полный гид по визуальному интерфейсу для Claude Code и AI-агентов
Узнайте, как использовать Zcode для управления Claude Code, Gemini и Codex в едином GUI. Настройка провайдеров, MCP-серверов и визуальный вайбкодинг.
YouTube-канал с монетизацией из любой точки мира: Пошаговый гайд 2026
Инструкция по созданию YouTube-канала: обход блокировок SMS, настройка расширенных функций через виртуальные номера и правила безопасности для монетизации.
Windsurf Code Maps: Как глубоко понимать архитектуру проекта перед написанием кода
Полный гайд по Windsurf Code Maps, модели Sway 1.5 и Sway Grep. Узнайте, как визуализировать архитектуру кода и ускорить разработку в 13 раз.
Vk Fast Cash Strategy
Аудитория ВКонтакте — это те же люди, что и в Instagram, но 'социальный контракт' площадки другой. Если Instagram — это 'дорогой ресторан' с демонстрацией успеха, то VK — это 'душевная шашлычная'. Здесь не работает глянцевый 'успешный успех
GitHub secret scanning бесплатно ловит утекшие токены в публичных репозиториях, а push protection блокирует коммит с секретом еще до того, как он попадет в историю Git. Ниже пошагово: включение сканирования, custom patterns под ЮKassa и Telegram, и вторая линия защиты локально через detect-secrets. Разберем, что делать бесплатно на GitHub, а где нужен pre-commit хук на своей машине.
GitHub Secret Scanning бесплатен для публичных репозиториев и платен для приватных ($19 за коммитера в месяц). Push Protection блокирует пуш с найденным секретом. Custom patterns ловят токены ЮKassa и Telegram, которых нет в стандартных 337+ паттернах. Для полного покрытия добавьте detect-secrets как pre-commit хук.
GitHub Secret Scanning — это встроенная функция, которая автоматически ищет в коде, issues и pull request'ах паттерны известных токенов: AWS-ключи, Google API, MongoDB-строки и еще 200+ форматов от партнеров GitHub.
GitHub Secret Scanning — это автоматический поиск утекших секретов по regex-паттернам партнеров плюс AI-модель на базе Copilot для generic-паролей. Для части паттернов доступна проверка валидности: система стучится в API провайдера и узнает, активен ли токен прямо сейчас.
Работает это так. Сканирование включается на уровне репозитория, организации или всего enterprise. GitHub проходит по коммитам, истории, issues и discussions, ищет совпадения с известными форматами. Найденный токен превращается в алерт с указанием файла, строки и рекомендацией по устранению.
Отдельно стоит validity check. Активный токен опаснее отозванного, и проверка валидности помогает расставить приоритеты: сначала гасить то, что реально работает прямо сейчас, а не то, что уже мертво.
Для приватных и internal-репозиториев функция требует GitHub Advanced Security или отдельный продукт GitHub Secret Protection. Для публичных репозиториев сканирование включено по умолчанию и бесплатно всегда.

Включить secret scanning можно за один клик в настройках репозитория, организации или через готовую конфигурацию на несколько репо сразу.
Для одного репозитория путь простой: Settings -> Advanced Security -> кнопка Enable у Secret Protection. Сканирование сразу запускает первый проход по всей истории и уже за секунды показывает список найденных секретов, если они есть.
Шаг 1. Откройте вкладку Settings нужного репозитория.
Шаг 2. Слева найдите раздел Advanced Security.
Шаг 3. Нажмите Enable напротив Secret Protection. GitHub предупредит, расходует ли это дополнительные лицензии.
Шаг 4. После включения появится блок дополнительных опций: non-provider patterns, generic password detection через Copilot, validity check.

На уровне организации логика немного другая. В Organization Settings есть Global Settings, где задаются паттерны для всех репо разом, и Configurations, набор правил, которые применяются выборочно к части репозиториев. Это удобно, если часть команды работает с приватными данными, а часть, скажем, с open source.
Если репозиториев много, быстрее не гонять настройку вручную по каждому, а собрать одну конфигурацию на уровне организации и применить ее сразу к выбранному набору репо.
Push Protection проверяет коммит в реальном времени до того, как он попадет на сервер GitHub. Если находит секрет, блокирует пуш и просит либо убрать его, либо явно подтвердить обход с причиной.
Push protection работает как турникет перед входом в репозиторий, а не как камера после кражи. GitHub проверяет каждый коммит на этапе push, и если совпадение находится, терминал или редактор сразу получают ошибку с номером строки.
Включается там же, в Advanced Security, кнопкой Enable у Push Protection. По умолчанию обойти блокировку может любой, у кого есть right access, но это настраивается: можно ограничить обход только ролью security manager или конкретной командой.
Если обход разрешен, у разработчика есть до трех часов на пуш после подтверждения причины (тест, false positive, «исправлю позже»). Каждый обход фиксируется в audit log организации, так что молча спрятать секрет через bypass не получится, это все равно попадет в отчет.
Отдельно есть настройка prevent direct alert dismissal: без нее алерт может закрыть любой репозиторный админ, с ней закрытие идет через запрос, который утверждает только owner организации или security-команда.
Максим: «GoBanana веб-версию мы собрали за 3 часа после выхода модели. На такой скорости руками искать закоммiченные ключи некогда, поэтому push protection у нас включен с первого дня в каждом новом репозитории.»

Стандартные 200+ паттернов GitHub заточены под западных провайдеров и не ловят российские токены вроде ключей ЮKassa или ботов Telegram. Custom pattern закрывает эту дыру одним regex-правилом.
Custom pattern — это ваш собственный regex, который GitHub добавляет к списку проверок. Настраивается на уровне репозитория, организации или enterprise, а Copilot может сгенерировать выражение по текстовому описанию формата токена.
Токен Telegram-бота имеет предсказуемую структуру: числовой ID бота, двоеточие, затем 35 символов из букв, цифр, дефиса и подчеркивания. Секретный ключ ЮKassa стартует с live_ для боевого режима или test_ для тестового, дальше идет 43-символьная строка base64.

| Сервис | Формат токена | Regex-паттерн |
|---|---|---|
| Telegram Bot API | 123456789:AAHdq... | \d{8,10}:[A-Za-z0-9_-]{35} |
| ЮKassa secret key | live_... / test_... | (live|test)_[A-Za-z0-9_-]{43} |
| ЮKassa shop_id | числовой ID магазина | "shop_id"\s*:\s*"\d{5,7}" |
Чтобы добавить паттерн: Settings -> Advanced Security -> Custom patterns -> New pattern. Вставьте regex, добавьте тестовую строку с реальным форматом токена (без реального значения, конечно) и запустите dry run. Он просканирует репозиторий на совпадения без публикации правила.
Если dry run чистый, публикуйте паттерн. Отдельным шагом включите Push Protection именно для него, публикация паттерна сама по себе push protection не активирует.
Для публичных репозиториев секретное сканирование и push protection бесплатны всегда. Для приватных нужен отдельный платный продукт GitHub Secret Protection.
С апреля 2025 GitHub разделил Advanced Security на два самостоятельных продукта. Secret Protection стоит $19 за активного коммитера в месяц, Code Security с CodeQL и Copilot Autofix идет отдельно за $30.

| Тариф | Цена | Что входит |
|---|---|---|
| Публичный репозиторий | Бесплатно | Secret Scanning, Push Protection, custom patterns |
| GitHub Secret Protection | $19/коммитер/мес | То же для приватных репо + Copilot AI-детекция паролей |
| GitHub Code Security | $30/коммитер/мес | CodeQL, Copilot Autofix, security campaigns (отдельно от Secret Protection) |
Платят не за место в организации, а за активного коммитера, то есть за каждого, кто пушил код в репозиторий с включенной защитой за последние 90 дней. Боты и CI-пайплайны, которые тоже коммитят, попадают в этот счет. Если хотите контролировать бюджет, включайте защиту не на всю организацию сразу, а на конкретные репозитории с секретами.
detect-secrets ловит секреты локально, до того как коммит вообще уйдет в GitHub, и работает даже в приватном репозитории без платной подписки.
detect-secrets создает baseline-файл с хешами уже существующих в коде секретов. Новые находки блокируют коммит, старые проходят молча. Это решает проблему брошенных ключей в старом коде без требования вычистить историю разом.
Шаг 1. Установите библиотеку: pip install detect-secrets.
Шаг 2. Создайте baseline для текущего состояния репозитория:
detect-secrets scan > .secrets.baselineПросмотрите файл перед коммитом, он покажет все, что уже найдено в кодовой базе.
Шаг 3. Установите фреймворк pre-commit: pip install pre-commit.
Шаг 4. Добавьте в .pre-commit-config.yaml:
repos:
- repo: https://github.com/Yelp/detect-secrets
rev: v1.5.0
hooks:
- id: detect-secrets
args: ['--baseline', '.secrets.baseline']Шаг 5. Установите хук: pre-commit install. Теперь при каждом git commit detect-secrets сканирует только staged-изменения, а не весь репозиторий, поэтому хук отрабатывает за секунды, а не минуты.
Ложные срабатывания снимаются прямо в коде через # pragma: allowlist secret в конце строки, без правки baseline вручную.

Это не конкурирующие решения, а два слоя одной защиты: detect-secrets ловит секрет на машине разработчика, GitHub Secret Scanning подстраховывает на сервере, если хук кто-то обошел флагом --no-verify.

| Критерий | GitHub Secret Scanning | detect-secrets |
|---|---|---|
| Где срабатывает | На сервере GitHub | Локально, до коммита |
| Стоимость приватных репо | От $19/коммитер/мес | Бесплатно |
| Custom-паттерны | Да, через UI и dry run | Да, через plugins и regex |
| Обход | Push protection bypass с логом | Флаг --no-verify без следа |
| Проверка старой истории | Да, полное сканирование | Только baseline-снапшот |
Разработчики, экономящие на приватных репо, часто ставят detect-secrets как единственный слой. Рискованно: --no-verify не оставляет запись нигде, и один невнимательный коммит проходит незамеченным. Комбинация обоих слоев закрывает и обход хука, и брешь до момента его установки у нового участника команды.
Первый шаг всегда один: ротация секрета, а не попытка вычистить историю коммитов.
Удаление секрета из кода коммита переписывает все последующие хеши коммитов и требует force push, что может сломать форки и локальные копии у всей команды. Смысла в этом обычно меньше, чем кажется: если токен уже засветился публично, его достаточно просто инвалидировать на стороне провайдера.
Дальше в GitHub: откройте алерт в Secret Scanning, посмотрите все места, где найден токен (иногда он дублируется в нескольких файлах), закройте алерт с пометкой revoked после ротации. Незакрытые алерты не пропадают сами, GitHub не отслеживает удаление секрета из кода автоматически.

Работает ли secret scanning для приватных репозиториев бесплатно? Нет. Для публичных репозиториев функция всегда бесплатна, для приватных нужен платный GitHub Secret Protection, $19 за активного коммитера в месяц.
Push protection можно обойти? Да, если роль пользователя это разрешает. Каждый обход попадает в audit log организации с причиной и именем того, кто нажал allow.
Custom pattern сразу блокирует пуш? Нет. После публикации паттерна push protection для него нужно включить отдельно, публикация сама по себе только добавляет паттерн в сканирование.
detect-secrets заменяет GitHub Secret Scanning? Нет, это разные уровни защиты. detect-secrets ловит секрет до пуша локально, GitHub Secret Scanning подстраховывает на сервере, если хук обошли или не установили.
Что делать с false positive в detect-secrets? Добавить # pragma: allowlist secret в конце строки или занести значение в исключения через --exclude-secrets.
Нужно ли переписывать историю Git после утечки секрета? Обычно нет. Достаточно ротировать (инвалидировать) секрет у провайдера и закрыть алерт. Force push с переписыванием истории ломает форки и чаще создает проблем больше, чем решает.
Сколько времени занимает настройка detect-secrets в проекте? Baseline-скан плюс подключение к pre-commit занимает 10-15 минут на средний репозиторий, дальше хук работает автоматически при каждом коммите.
Secret scanning — автоматический поиск утекших токенов и паролей по паттернам в коде, issues и pull request'ах.
Push protection — блокировка коммита с секретом в момент пуша, до того как он попадет в удаленный репозиторий.
Pre-commit hook — скрипт, который запускается перед каждым git commit и может заблокировать его локально.
Baseline file — JSON-файл с хешами уже существующих секретов, которые detect-secrets считает известными и не блокирует повторно.
Custom pattern — собственное regex-правило для поиска токенов, которых нет в стандартном списке партнерских паттернов GitHub.
Validity check — проверка, активен ли найденный токен прямо сейчас, через запрос к API провайдера.
Настроить push protection и custom patterns стоит в первый же день работы над репозиторием, а не после первой утечки. Полный каталог AI-инструментов для разработки, включая GitHub Copilot, смотрите в каталоге VibeCoderz. Если нужна помощь с настройкой безопасности проекта или выбором стека, запишитесь на консультацию к Максиму.
Обновлено: август 2026