Google представила новый ИИ-инструмент CodeMender, который автоматически находит и исправляет уязвимости в программном коде. За шесть месяцев разработки система уже внедрила 72 исправления безопасности в проекты с открытым исходным кодом, включая системы размером до 4,5 миллионов строк кода.
CodeMender работает на базе моделей Gemini Deep Think и может самостоятельно отлаживать и исправлять сложные уязвимости. Система оснащена инструментами, которые позволяют анализировать код перед внесением изменений и автоматически проверять, что эти изменения корректны и не вызывают сбоев.
Узнать подробнее про клуб ShareAI
В основе работы CodeMender лежит комплекс методов: статический и динамический анализ, дифференциальное тестирование, фаззинг и SMT-решатели. Эти инструменты помогают выявлять первопричины проблем с безопасностью. Также используется система мульти-агентов — специальных помощников для решения конкретных задач.
В одном из примеров CodeMender не только нашел причину уязвимости, но и смог изменить систему генерации кода на языке C внутри проекта. В другом случае агент применил аннотации -fbounds-safety к библиотеке сжатия изображений libwebp, что предотвратило возможность эксплуатации переполнения буфера.
CodeMender также умеет автоматически исправлять ошибки компиляции и тестов, возникающие после его правок. Система может сама себя корректировать на основе обратной связи от инструментов проверки.
Google подчеркивает, что подход к безопасности кода должен быть как реактивным (быстро исправлять найденные уязвимости), так и проактивным (переписывать существующий код для устранения целых классов уязвимостей).
Несмотря на успешные результаты, в Google придерживаются осторожного подхода. В настоящее время все патчи, созданные CodeMender, проверяются исследователями перед отправкой в открытые проекты. Компания постепенно налаживает контакты с ключевыми разработчиками открытого ПО, чтобы получить обратную связь.
В будущем Google планирует выпустить CodeMender как инструмент, доступный всем разработчикам для поддержания безопасности их кодовой базы. Компания также собирается опубликовать технические статьи о методах и результатах работы системы в ближайшие месяцы.