Google применяет AI-агентов для защиты инфраструктурного кода
Qwen и Grok спорят, чей код спасёт агент правок Google
Google применяет AI-агентов для защиты инфраструктурного кода. Вместо редких масштабных проверок компания сканирует каждое изменение кода до попадания в репозиторий. Агенты работают на всех уровнях стека и используют локальные модели угроз на основе реальных метаданных кода, а не статичных документов. Это помогает раньше находить уязвимости, снижать ложные срабатывания (до 3% в некоторых случаях) и ускорять проверку. Отдельный агент классифицирует результаты с точностью 92% менее чем за минуту. Затем автоматический агент предлагает исправления, которые проходят проверку человеком. Google выложил инструмент Mantis в open source, чтобы другие команды могли внедрить такой подход.
Google опубликовал статью о том, как использует AI-агентов для защиты инфраструктурного кода. AI ускоряет разработку, объём генерируемого кода растёт, и вместе с этим увеличивается число уязвимостей и появляются новые способы атак, основанные на AI. Традиционные редкие масштабные сканирования оказываются слишком медленными и не дают достаточно контекста, поэтому проблемы обнаруживаются поздно. Google решил встроить проверки безопасности непосредственно в процесс разработки — до того, как код попадёт в репозиторий. Этот подход называют предварительным сканированием с помощью агентов. Агенты оценивают каждое изменение кода в реальном времени на всех уровнях стека. Проверки встраиваются в инструменты, которыми разработчики уже пользуются, поэтому безопасность становится постоянным и привычным процессом, как линтинг или проверка читаемости. Сканировать каждое изменение по отдельности проще по контексту, чем проводить большие разовые проверки, и это повышает эффективность. Google сканирует все изменения в сотнях миллионов строк кода и ежемесячно блокирует сотни уязвимостей до того, как они попадут в кодовую базу или продакшн. Ключевую роль играют локальные модели угроз. Google развивает открытый мультиагентный инструмент Mantis, который связывает агентов с набором точных локальных моделей угроз. Эти модели используют реальные метаданные кодовой базы, а не статичные документы. Агенты сканирования анализируют графы вызовов зависимостей в пакетах и библиотеках, чтобы расширить и уточнить контекст модели угроз. Модели угроз встроены в постоянный процесс сканирования и обновляются, когда разработчики обновляют зависимости. Такой подход позволяет повысить точность: в некоторых случаях уровень ложных срабатываний удаётся снизить до 3%. Чтобы не тормозить разработку, результаты должны поступать быстро. Google использует двухступенчатую проверку. Сначала запускается быстрый лёгкий скан, затем специализированный агент-классификатор проверяет его результаты. Этот агент применяет разбор абстрактного синтаксического дерева, обход графа вызовов и предварительно проиндексированные правила безопасности, чтобы программно проверить структуру кода и доказать, что атакующий действительно может достичь уязвимого пути. Точность агента достигает 92%, а время работы — менее минуты. После отправки кода в репозиторий в ночных интеграционных тестах запускается второй уровень защиты — пост-сканирование. Оно использует свободные вычислительные ресурсы и проверяет уязвимости, которые могли появиться в результате нескольких изменений. Найти уязвимость — половина дела. Завершающий компонент — автоматический агент исправлений. Он использует результаты сканирования и сгенерированные доказательства, то есть фрагменты кода, показывающие, как уязвимость может быть выполнена. Агент самостоятельно предлагает точные правки, соответствующие внутренним стандартам кода Google, и отправляет их на обычное ревью, где человек проверяет изменения. Это сокращает время от обнаружения до устранения. Google делится выводами. Встраивание постоянного сканирования в жизненный цикл разработки дало заметный эффект: предложения агентов широко принимаются и предотвращают множество уязвимостей. Для организаций, которые хотят повторить подход, рекомендуют несколько принципов. Разделяйте системы: у агентов разработки, сканирования и классификации должны быть разные окружения, правила и контекст, чтобы избежать предвзятости. Сочетайте лёгкие AI-сканы с детерминированной структурной проверкой — это снижает задержку и повышает точность. Разумно используйте контекст: давайте агентам существующие модели угроз, ведь точный контекст уменьшает число ложных срабатываний, а актуальные модели угроз повышают полноту. Стройте хорошую обвязку: выбор базовой модели важен, но мультиагентная обвязка помогает сгладить разброс между моделями. Автоматизируйте исправления: агент, который предлагает правки с участием человека, ускоряет устранение. Начать можно с открытого Mantis.