Безопасность

«Защита должна расти вместе с объёмом кода»: GitHub подключила к push protection классификатор на ModernBERT

7 октября 2026 года GitHub опубликовала эссе с данными девяти кварталов наблюдений: сегодня каждый третий pull request на платформе связан с AI-агентом, а новый секрет появляется в публично видимом коде примерно раз в две секунды. Против этого GitHub вместе с Microsoft Applied Sciences построила классификатор на ModernBERT, который оценивает пакеты кандидатов в секреты менее чем за две миллисекунды и, по оценке компании, способен более чем удвоить число предотвращаемых секретов. Функция сейчас в приватном превью и позднее в этом месяце станет доступна организациям с GitHub Secret Protection в Enterprise Cloud и GitHub Teams.

«Защита должна расти вместе с объёмом кода»: GitHub подключила к push protection классификатор на ModernBERT

Один pull request из трёх уже связан с агентом

GitHub приводит данные своих девяти кварталов наблюдений: сегодня каждый третий pull request на платформе связан с AI-агентом, тогда как год назад таких было меньше одного из десяти. Если темп сохранится, в течение следующих двух лет большая часть кода, попадающего на GitHub, может быть написана агентом, и значительную её часть человек может вообще не прочитать полностью.

Автор эссе Эрин Хейвенс, продакт-менеджер GitHub по продуктам безопасности, формулирует вывод без обвинений: разработчики не становятся небрежнее — их обгоняют; инструменты, позволяющие создавать больше кода, должны брать на себя и больше работы по его защите.

Секреты не стали встречаться на пуш чаще

Новый секрет появляется в публично видимом коде примерно раз в две секунды, и этот показатель удваивался ежегодно последние три года. Однако популярное объяснение «ИИ сделал разработчиков беспечными» данными GitHub не подтверждается: с Q2 2024 по Q2 2026 число проверенных пушей выросло в 2,84 раза, пушей с учётными данными — в 2,59 раза, а статистически значимого тренда по доле на пуш за девять полных кварталов обнаружить не удалось.

Больше того, за тот же период доля блокировок на пути пуша, которые разработчики обходили, линейно упала с 6,63% до 3,93% — то есть готовность принимать риск у разработчиков снизилась. В Q2 2026, по данным GitHub, было 574 млн пушей, из которых 0,47% содержали секреты.

Профилактика масштабируется вычислениями, устранение — людьми

GitHub разделяет две стороны проблемы. Профилактика масштабируется вычислениями: каталог компании охватывает более 150 технических партнёров, а публичное сканирование в Q2 2026 в среднем сообщало 26 совпадений учётных данных в секунду, включая повторные наблюдения, после чего многие партнёры немедленно отзывают токен. Push protection работает раньше — она останавливает распознаваемые учётные данные до того, как они попадут в историю репозитория, и за последний месяц секрет блокировался как минимум раз в секунду.

Устранение же по-прежнему масштабируется людьми, и это узкое место. Ручной отзыв секрета занимает в среднем около 40 дней, а примерно один из пяти случаев — больше 90 дней. Push protection останавливает около 30% вновь обнаруженных секретов до входа в историю, а оставшиеся 70% находятся уже после того, как учётные данные потеряны.

«Задача четырёх тел» для защиты секретов

До того как секрет пересёк границу пуша, цена его остановки мала, а решение бинарно — заблокировать или пропустить. После — та же строка может аутентифицироваться в реальной системе, и цена становится неограниченной.

GitHub называет это «задачей четырёх тел» для защиты секретов: точность, задержка, пропускная способность и стоимость — связанные ограничения. Находка, пригодная для последующего разбора, может не оправдывать блокировку пуша; ложное срабатывание прерывает разработчика и подрывает доверие к следующей блокировке; а слишком медленная или дорогая проверка ограничивает, как часто её можно запускать.

При этом единственной подсказкой для детекции часто остаётся окружающий код и контекст: у токена провайдера может быть узнаваемый префикс, а внутренний пароль базы данных может быть полностью неструктурированным, без опознаваемого шаблона.

Классификатор на ModernBERT меньше чем за 2 миллисекунды

Решение — новый классификатор на ModernBERT, построенный вместе с Microsoft Applied Sciences. Модель оценивает кандидатов в секреты в контексте, не генерируя код или прозу: она не только точнее существующих пайплайнов на базе LLM, но и разбирает пакеты кандидатов менее чем за две миллисекунды, то есть достаточно дёшева для критического пути.

По оценке GitHub, включение модели в push protection позволяет более чем удвоить число секретов, которые удаётся предотвратить. Функция сейчас в приватном превью; позднее в этом месяце она станет доступна организациям с GitHub Secret Protection в Enterprise Cloud и GitHub Teams, при этом будет расходовать AI credits.

Куда идёт классификатор

GitHub расширяет область применения модели за пределы пуша. С сегодняшнего дня любая организация с AI secret detection автоматически переводится на новую модель, а алерты, открытые по пост-пуш-сканированиям, остаются включёнными в покупку secret scanning без дополнительной платы.

Модель также выйдет с GitHub Enterprise Server 3.23 в публичном превью, чтобы AI-алерты доходили до клиентов Secret Protection даже в изолированных (air-gapped) средах. Кроме того, классификатор добавляется в команду /security-review для Copilot CLI и Copilot App — так пользователи Copilot смогут разбираться с секретами до пуша, даже не имея плана GitHub Secret Protection, а расход AI credits будет отнесён на GitHub Secret Protection в отчётах об использовании.

Итог GitHub формулирует как задачу роста: способность защищать код должна расти вместе со способностью его создавать.

Первоисточники

  1. The GitHub Blog — «Secret protection must scale with software» (7 октября 2026)