GitHub описала ML-классификатор для поиска секретов в коде
GitHub представила контекстный классификатор для secret scanning. По описанию компании, он помогает отличать реальные учётные данные от строк, похожих на секреты, и снижает число лишних предупреждений.
В официальном блоге GitHub 13 октября 2026 года описала новый конвейер для обнаружения секретов в репозиториях. Компания сообщает, что специально обучила классификатор под задачи своего продукта: он должен отличать реальные учётные данные от плейсхолдеров, тестовых значений, документации и других строк, которые лишь похожи на секреты.
Схема сохраняет регулярные выражения на этапе поиска кандидатов, а затем передаёт найденные строки дообученному ModernBERT вместе с путём к файлу, именами переменных и окружающим кодом. По описанию GitHub, модель оценивает вероятность того, что строка действительно является секретом: уверенные находки превращаются в предупреждения, а вероятные ложные срабатывания подавляются.
GitHub заявляет, что новый классификатор повысил взвешенную долю принятых пользователями предупреждений на 11,5%, а медианное время post-push-сканирования сократилось на 86% по сравнению с прежним конвейером на базе LLM. Компания также указывает на экономию более 98% стоимости обслуживания относительно этого конвейера.
Эффективность позволила, по описанию GitHub, расширить обнаружение общих секретов на push protection — проверку изменений до принятия отправки в репозиторий. При этом постпуш-сканирование продолжает работать после коммита и создавать предупреждения для последующего расследования и устранения.
Почему это важно
Для разработчиков это означает более точную фильтрацию строк, похожих на ключи и пароли. GitHub пытается совместить широкий первичный поиск с контекстной ML-проверкой, чтобы реальные секреты не пропускались, а лишние предупреждения реже отвлекали команды.