Google DeepMind представила CodeMender — автономного ИИ-агента, который сам находит и исправляет уязвимости в исходном коде. В отличие от обычных помощников вроде Copilot, CodeMender не дописывает код, а анализирует уже существующий, выявляя первопричины уязвимостей и внося патчи, которые проходят автоматическую и ручную проверку перед отправкой.
Система основана на модели Gemini Deep Think, версии языковой модели (LLM) с расширенным механизмом рассуждения. Вокруг нее DeepMind построила связку инструментов — поиск по исходникам, отладчик, тесты, компилятор и фреймворк для фаззинга. Агент локализует баг, предлагает исправление, пересобирает проект, сравнивает поведение старой и новой версии и при необходимости сам себя корректирует.
За первые шесть месяцев CodeMender успел внести 72 патча в крупные open-source проекты, включая репозитории с объемом до 4,5 млн строк кода. Один из примеров — библиотека libwebp, где агент автоматически добавил аннотации -fbounds-safety, которые включают проверки границ указателей на уровне компиляции. Такие меры предотвращают переполнения буферов — тот тип уязвимостей, что лежал в основе громкой CVE-2023-4863, использовавшейся в атаках на iOS.
Главное отличие CodeMender в том, что он не просто реагирует на найденные баги, а проактивно укрепляет код, устраняя целые классы потенциальных проблем. DeepMind подчеркивает, что агент комбинирует методы машинного рассуждения с классическими подходами вроде статического и динамического анализа.
Пока CodeMender работает в ограниченном режиме: все его исправления проходят ревью у исследователей перед отправкой. В будущем DeepMind планирует открыть широкий доступ к системе и интегрировать ее в процессы DevSecOps, чтобы ускорить выпуск безопасных обновлений.
P.S. Поддержать меня можно подпиской на канал «сбежавшая нейросеть», где я рассказываю про ИИ с творческой стороны.
Источник: habr.com