GitHub сократил очередь secret scanning-alerts с 20 тысяч до нуля за девять месяцев

GitHub рассказал, как свёл к нулю количество открытых alert’ов в системе secret scanning после того, как обнаружил более 20 тысяч секретов в 15 тысячах репозиториев. Как пишет GitHub Blog (Engineering / Copilot / AI), внутренняя проверка началась несколько лет назад в рамках инициативы по улучшению practices управления секретами.
Анализ показал, что большая часть alert’ов не несла реального риска. Около 18 тысяч предупреждений относились всего к пяти репозиториям: речь шла о неактивных тестовых данных, деактивированных credentials и фальшивых, но формально валидных секретах. После фильтрации осталось более 2 тысяч alert’ов с потенциально рабочими credentials.
В GitHub также отметили, что секреты находили не только в исходном коде. Они встречались в support-тикетах, bug bounty-отчётах, заметках по инцидентам и на wiki-страницах. Для работы с такими случаями компания подключила команды customer support, incident response и bug bounty. Параллельно подготовили общие playbook’и, чтобы во время remediation секреты не распространялись повторно.
Процесс разделили на несколько этапов. Сначала GitHub включил secret scanning и push protection для всех enterprise и organization, при этом отдельные команды не могли отключить эти настройки. После этого компания классифицировала alert’ы по репозиториям, типам секретов и возрасту, чтобы отделить шум от случаев, где требовались ротация credentials и другие действия.
Ключевые факты
GitHub обнаружил более 20 тысяч секретов в более чем 15 тысячах репозиториев
Около 18 тысяч alert’ов были сосредоточены в пяти репозиториях и относились к неактивным тестовым данным
После фильтрации ложного шума компании осталось обработать более 2 тысяч alert’ов с потенциально рабочими credentials
Secret scanning и push protection были включены на уровне всех enterprise и organization через настройки GitHub Advanced Security