GitHub secret scanning — облачные ключи и обновление детекторов
GitHub secret scanning — облачные ключи и обновление детекторов
Публикация повода: 5 ноября 2026 года. Проверка источников: 6 ноября, Asia/Yekaterinburg (UTC+5). Это памятка по проверке покрытия и обработке находок, не результат сканирования рабочих репозиториев или облачных аккаунтов.
Что изменилось 5 ноября
По GitHub Changelog, добавлен детектор starlink_public_api_v2_secret и партнёр SpaceX. Обнаруженные в публичных репозиториях партнёрские секреты передаются эмитенту; это не гарантия автоматического отзыва любого ключа.
Также уменьшены ложные совпадения для Alibaba, AWS, Google Cloud Storage, OpenVSX, Pydantic Logfire и Tencent. У ряда AWS/GCS-детекторов одиночное совпадение подавляется, если фильтрация не оставила подходящую парную часть. Это уточнение распознавания, не требование хранить обе части ключа вместе. Обновление не означает появления поддержки всех S3-совместимых провайдеров.
Сначала проверить покрытие
В списке поддерживаемых шаблонов найти точный тип секрета. Название облака или совместимость API недостаточны. Отдельно проверить доступность уведомления пользователю, партнёрского уведомления, проверки действительности и push protection: это разные возможности, зависящие от типа секрета и условий продукта.
По описанию secret scanning, сканирование ищет известные типы секретов; отсутствие alert не является доказательством отсутствия утечки. Для приватного репозитория отдельно проверить доступность и включение функции. Не считать параметры своего публичного репозитория автоматически применимыми ко всем другим аккаунтам.
Рабочая таблица аудита без самих секретов:
| Ресурс | Тип доступа | Где хранится | Поддерживаемый pattern | Оповещение / защита | Дата проверки |
|---|---|---|---|---|---|
| Учебный S3-бакет | Только тестовые операции | Менеджер секретов | Подтвердить по документации | Проверить отдельно | Заполнить |
| CI-деплой | Минимальные права на среду | Хранилище CI-секретов | Подтвердить по документации | Проверить отдельно | Заполнить |
Безопасная проверка процесса
Не публиковать рабочие, временные или якобы уже отозванные облачные ключи ради проверки детектора. Синтетическая строка SEO_RECIPES_TEST_CREDENTIAL_NOT_A_SECRET пригодна только для собственного учебного сценария обработки и маскирования; она не обязана вызывать встроенный alert GitHub и не является тестом покрытия AWS/GCS.
В отдельном разрешённом учебном репозитории проверить маршрут уведомления, ответственного, запрет публикации полного значения в тикете и процедуру закрытия. Проверка custom pattern допустима только при наличии соответствующей функции и отдельном согласовании настроек. В этой статье такие настройки не включались, токены не создавались и push с секретами не выполнялся.
При настоящей утечке
Практический план реагирования: ограничить или отозвать скомпрометированный доступ у эмитента; выпустить замену с минимальными правами; обновить зависимые сервисы и проверить их работу. Затем исследовать логи доступа и распространение секрета в истории Git, CI-логах, артефактах и других копиях. Удаление строки из текущего файла не делает прежнее значение безопасным.
Перед закрытием находки сохранить доказательство отзыва или документированное объяснение ложного совпадения, не копируя секрет в обсуждение. Массовая ротация, переписывание истории и изменение push protection требуют отдельного решения и здесь автоматически не выполняются.
Границы материала
Прочитаны официальные анонс и документация. Реальные alerts, настройки аккаунта, тариф, журналы облака и срабатывание детекторов не тестировались. Статья не заменяет проверку секретов вне GitHub и не обещает автоматическую защиту от всех утечек.
