- Google DeepMind представила CodeMender – автономного ИИ-агента для поиска и исправления уязвимостей в исходном коде.
- Система использует модель Gemini Deep Think и сочетает методы машинного рассуждения с классическим статическим и динамическим анализом.
- За полгода CodeMender внес 72 патча в крупные open-source проекты и планируется интеграция в процессы DevSecOps.
Компания Google DeepMind недавно анонсировала новую разработку — CodeMender, искусственный интеллект, способный самостоятельно обнаруживать уязвимости в программном коде и вносить соответствующие исправления. В отличие от популярных ассистентов по автодополнению кода, таких как Copilot, CodeMender фокусируется не на создании нового кода, а на детальном анализе уже существующего кода для выявления первопричин ошибок и уязвимостей. Внесённые изменения проходят автоматическую и ручную проверку перед тем, как их предложат к внедрению.
Архитектурной основой CodeMender стала языковая модель Gemini Deep Think с усовершенствованным механизмом рассуждения. Вокруг неё построена комплексная система инструментов, включающая поиск по исходникам, отладчик, тесты, компилятор и фреймворк для фаззинга. Кодмейдер способен локализовать баги, предлагать исправления, пересобирать проект, сравнивать поведение приложения до и после изменений и, при необходимости, самостоятельно корректировать свои действия.
За первые шесть месяцев работы CodeMender успешно внес 72 патча в крупные проекты с открытым исходным кодом, включая репозитории, содержащие до 4,5 миллионов строк кода. В числе примеров – библиотека libwebp, где ИИ-агент автоматически добавил аннотации -fbounds-safety, включающие проверки границ указателей во время компиляции. Это способствует предотвращению проблем с переполнением буфера, известных как одна из ключевых уязвимостей CVE-2023-4863, эксплуатируемой в атаках на iOS.
Главным преимуществом CodeMender является его проактивный подход: он не просто исправляет уже обнаруженные ошибки, но и укрепляет код, устраняя целые классы потенциальных проблем. DeepMind подчёркивает, что такой метод синтезирует современные методы машинного рассуждения с классическими подходами статического и динамического анализа.
В текущем виде CodeMender функционирует в ограниченном режиме, и все его исправления проходят обязательный экспертный ревью. В перспективе разработчики планируют открыть доступ к ИИ-агенту для широкого круга пользователей и интегрировать его в DevSecOps-процессы, что позволит ускорить и повысить качество выпуска безопасных обновлений ПО.
