GitHub внедряет ModernBERT для защиты секретов в коде

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

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

Одновременно GitHub отмечает, что разработчики лучше осознают риск утечек. Доля случаев, когда разработчики вручную обходили блокировку пуша из‑за подозрения на секрет, снизилась с 6,63% до 3,93% за девять кварталов. Эти цифры, по оценке команды, ставят под сомнение распространённый тезис, что агенты делают разработчиков менее осторожными.

Проблема в другом: при фиксированной частоте утечек рост объёма кода линейно увеличивает число экспозиций. Если каждая утечка требует одинакового человеческого вмешательства, нагрузка на команды безопасности также растёт. Среднее время ручной ревокации секретов сейчас составляет около 40 дней, при этом примерно каждый пятый случай занимает более 90 дней. Человеческие процессы не успевают за скоростью разработки и генерации кода ИИ.

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

Эрин Хейвенс, продакт-менеджер GitHub по продуктам безопасности, описывает эволюцию системы Secret Scanning. Компания делает ставку на связку автоматического обнаружения и систем, которые могут сразу действовать, а не только уведомлять людей.

Каталог GitHub по secret scanning охватывает более 150 технических партнёров. В рамках партнёрской программы платформа совместно с поставщиками токенов и API разрабатывает детекторы и сообщает им об утечках в публичных репозиториях, чтобы они могли оперативно реагировать. Во втором квартале 2026 года публичное сканирование фиксировало и передавало партнёрам в среднем 26 совпадений по учётным данным в секунду, включая повторные срабатывания.

Многие партнёры, по данным GitHub, сразу же отзывают скомпрометированные токены. Среди таких секретов — ключи OpenAI API, учётные данные Google Cloud, вебхуки Slack, токены пользователей Hugging Face, ключи SendGrid и другие. Владельцу по‑прежнему нужно заменить токен, но его отзыв происходит без ожидания, пока разработчик заметит и обработает предупреждение GitHub.

Следующий уровень защиты — push protection. Эта функция останавливает узнаваемые секреты до того, как они попадут в историю репозитория, давая разработчику или агенту шанс исправить коммит до фактической экспозиции. GitHub работает с партнёрами, чтобы повысить точность детекторов до уровня, при котором можно включать такую защиту по умолчанию для сообществ разработчиков.

По данным компании, в прошлом месяце push protection блокировала как минимум один секрет каждую секунду. Для привязанных к конкретным провайдерам секретов GitHub уже предотвращает больше утечек, чем пропускает. В общем случае, с учётом дополнительных типов секретов, push protection останавливает около 30% новых секретов до попадания в историю, а оставшиеся 70% находят уже после утечки.

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

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

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

Для решения этой задачи GitHub совместно с Microsoft Applied Sciences разработала новый классификатор ModernBERT. Эта модель анализирует кандидатов на секреты в контексте кода, не генерируя текст и не выступая как чат‑модель. По данным компании, ModernBERT работает точнее прежних конвейеров на базе больших языковых моделей и достаточно быстра: она оценивает партии кандидатов менее чем за две миллисекунды.

ModernBERT также отличается низкой стоимостью запуска, что позволяет использовать её в масштабах GitHub в критически важной части конвейера — непосредственно в push protection. По расчётам компании, включение модели в этот контур позволит более чем вдвое увеличить число предотвращаемых утечек секретов.

Обновлённая push protection с ModernBERT сейчас доступна в формате закрытого предпросмотра. Ожидается, что уже в этом месяце функция станет доступна для организаций, использующих GitHub Secret Protection в тарифах Enterprise Cloud и GitHub Teams. Использование возможностей модели будет расходовать AI‑кредиты этих организаций.

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

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

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

Источник: материалы GitHub

Читать новости ИИ и технологий в Telegram.


Оцените статью
Gimal-Ai