Google представила ИИ-инструмент CodeMender для исправления уязвимостей в коде

Google представила новый ИИ-инструмент CodeMender, который автоматически находит и исправляет уязвимости в программном коде.

За шесть месяцев разработки система уже внедрила 72 исправления безопасности в проекты с открытым исходным кодом, включая системы размером до 4,5 миллионов строк кода.

CodeMender работает на базе моделей Gemini Deep Think и может самостоятельно отлаживать и исправлять сложные уязвимости. Система оснащена инструментами, которые позволяют анализировать код перед внесением изменений и автоматически проверять, что эти изменения корректны и не вызывают сбоев.

Методы работы CodeMender

В основе работы CodeMender лежит комплекс методов:

  • статический и динамический анализ;
  • дифференциальное тестирование;
  • фаззинг;
  • SMT-решатели.

Эти инструменты помогают выявлять первопричины проблем с безопасностью. Также используется система мульти-агентов — специальных помощников для решения конкретных задач.

Примеры работы системы

В одном из примеров CodeMender не только нашёл причину уязвимости, но и смог изменить систему генерации кода на языке C внутри проекта. В другом случае агент применил аннотации -fbounds-safety к библиотеке сжатия изображений libwebp, что предотвратило возможность эксплуатации переполнения буфера.

CodeMender также умеет автоматически исправлять ошибки компиляции и тестов, возникающие после его правок. Система может сама себя корректировать на основе обратной связи от инструментов проверки.

Подход Google к безопасности кода

Google подчёркивает, что подход к безопасности кода должен быть как реактивным (быстро исправлять найденные уязвимости), так и проактивным (переписывать существующий код для устранения целых классов уязвимостей).

Несмотря на успешные результаты, в Google придерживаются осторожного подхода. В настоящее время все патчи, созданные CodeMender, проверяются исследователями перед отправкой в открытые проекты. Компания постепенно налаживает контакты с ключевыми разработчиками открытого ПО, чтобы получить обратную связь.

Планы на будущее

В будущем Google планирует выпустить CodeMender как инструмент, доступный всем разработчикам для поддержания безопасности их кодовой базы. Компания также собирается опубликовать технические статьи о методах и результатах работы системы в ближайшие месяцы.

Источник: mltimes.ai

Авторизация