CodeMender: агент DeepMind на базе Gemini, который автоматически исправляет критические уязвимости
Что делает CodeMender
CodeMender — агент на базе ИИ от Google DeepMind, который генерирует, проверяет и отправляет в апстрим исправления реальных уязвимостей. Он может локализовать первопричину, синтезировать кандидатные исправления, автоматически доказывать их корректность с помощью анализа и тестирования, а затем создавать запросы на интеграцию для обзора. Система работает как реактивно, исправляя известные ошибки, так и проактивно, переписывая код для устранения целых классов уязвимостей.
Архитектура и набор инструментов
Агент сочетает масштабное рассуждение о коде с набором инструментов программного анализа: статический и динамический анализ, дифференциальное тестирование, fuzzing и SMT-солверы. Многoагентная архитектура включает специализированных рецензентов-критиков, которые изучают семантические диффы и инициируют самокоррекции при обнаружении регрессий или нежелательных изменений. Gemini Deep Think обеспечивает планировочное рассуждение над трассировками отладчика, результатами поиска по коду и результатами тестов, направляя агент по этапам локализации, синтеза патча и валидации.
Пайплайн валидации и человеческий фильтр
До того как предложенное исправление попадет к мейнтейнеру, CodeMender выполняет автоматическую валидацию: проверяет устранение первопричины, функциональную корректность, отсутствие регрессий и соответствие стилю кода. Только патчи с высокой степенью уверенности, прошедшие эти проверки, предлагаются для человеческого обзора, что снижает объем ручной триажа и риск шумных изменений.
Проактивное упрочнение на уровне компилятора
Помимо единичных исправлений, CodeMender может применять масштабные трансформации для повышения безопасности. Пример: автоматическая вставка аннотаций Clang -fbounds-safety в libwebp для принудительной проверки границ на уровне компилятора. Такие аннотации могли бы нейтрализовать heap overflow из 2023 года в libwebp (CVE-2023-4863) и предотвратить похожие классы ошибок с выходом за границы буфера.
Кейсы и результаты
DeepMind приводит два нетривиальных исправления: крах, помеченный как heap overflow, который оказался связан с некорректным управлением XML-стеком, и ошибку времени жизни, потребовавшую правок в пользовательском генераторе C-кода. В обоих случаях сгенерированные агентом патчи прошли автоматический программный анализ и проверку LLM-judge на функциональное эквивалентность перед предложением. За шесть месяцев внутреннего развертывания CodeMender внес 72 патча безопасности в проекты с открытым исходным кодом, включая кодовые базы до ~4.5M строк.
Контекст развёртывания и сопутствующие инициативы
CodeMender представлен как часть защитного стека, куда также входят новая AI Vulnerability Reward Program и Secure AI Framework 2.0 для безопасности агентов. DeepMind подчеркивает, что по мере масштабирования AI-инструментов для обнаружения уязвимостей, таких как BigSleep и OSS-Fuzz, масштабирование автоматического устранения уязвимостей становится критичным.
Наблюдения и ограничения
Система объединяет Gemini Deep Think с инструментами программного анализа для локализации первопричин и предложения валидационных патчей до человеческого обзора. Ранние показатели эффективности измеряются количеством валидированных апстрим патчей и областью проактивно упрочненного кода. Публичных данных по задержкам, пропускной способности и другим операционным метрикам пока нет, поэтому долгосрочное влияние будет зависеть от дальнейших данных о развёртывании и принятия предложений мейнтейнерами.
Для технических подробностей и ссылок см. публикацию DeepMind и связанные ресурсы на их сайте и в репозиториях.