Укр Рус
7 октября, 10:04
2

Google создала инструмент, который сам находит и исправляет ошибки в коде

Основні тези
  • Google DeepMind представила CodeMender, ИИ-агента, что самостоятельно находит, исправляет и переписывает уязвимый код в программном обеспечении.
  • CodeMender уже отправил 72 исправления безопасности в проекты с открытым кодом и использует статический и динамический анализ, фазинг и символьное исполнение для решения проблем в коде.

Лаборатория Google DeepMind представила нового ИИ-агента CodeMender. Он может самостоятельно находить, исправлять и переписывать уязвимый код в программном обеспечении, чтобы предотвратить будущие атаки. Проект еще на стадии исследования, но уже показал первые результаты.

CodeMender является развитием предыдущих проектов DeepMind, таких как OSS-Fuzz и Big Sleep, и сочетает возможности моделей Gemini с передовыми методами программного анализа. Главная цель разработки – автономная отладка и исправление сложных ошибок в больших кодовых базах, рассказывает 24 Канал со ссылкой на DeepMind.

Смотрите также OpenAI меняет будущее генеративных видео: платформа, похоже, решила проблему правообладателей

Хотя проект еще находится на этапе исследования, он уже прислал 72 исправления безопасности в проекты с открытым исходным кодом, некоторые из которых содержат более 4,5 миллиона строк кода. По словам компании, ИИ-агент позволяет разработчикам сосредоточиться на создании качественного ПО, пока система автоматически генерирует и применяет надежные патчи безопасности.

Как работает CodeMender?

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

В качестве примера, исследователи приводят работу с библиотекой сжатия изображений libwebp, которую использовали в атаке на iOS в 2023 году. Агент применил к ней специальные аннотации, после чего, по заявлению разработчиков, уязвимости переполнения буфера стали "невозможными для эксплуатации навсегда".

Как это устроено?

Внутренняя архитектура CodeMender содержит набор инструментов: статический и динамический анализ, фазинг и символьное исполнение, объясняет SiliconAngle. Также есть так называемый "судья LLM", который проверяет, сохраняют ли предложенные изменения первоначальную функциональность.

Если во время проверки обнаруживается проблема, система способна к самокоррекции. Все изменения перед отправкой проходят тщательную проверку на корректность, соответствие стандартам стиля и отсутствие регрессий.

В то же время в DeepMind отмечают, что все сгенерированные патчи проверяются людьми-исследователями перед их отправкой в проекты.

После полноценного запуска инструмент предложит новый подход, отличающийся от традиционных методов, которые находят уязвимости, но все еще сильно зависят от опыта человека. Искусственный интеллект сможет самостоятельно выявлять и устранять ошибки, что является критически важным шагом, поскольку размер и сложность современных кодовых баз растут экспоненциально.