ДомойZ - Баннер Главная итальянскийПровальное «кодирование по вайбу» в сфере безопасности: 57% кода ИИ работает, но...

Провальное «кодирование по вайбу» в сфере безопасности: 57% кода ИИ работает, но только 11,8% является безопасным

Новый академический бенчмарк показывает, что код, создаваемый самыми популярными на сегодняшний день AI‑агентами для программирования, может вполне корректно работать — и при этом оставаться опасно уязвимым для взлома. Эти результаты поднимают новые вопросы о безопасности vibe‑кодинга — практике, при которой агент на базе большой языковой модели пишет программное обеспечение при минимальном участии человека, — как раз в тот момент, когда этот подход набирает популярность среди разработчиков и компаний, стремящихся ускорить работу.

Ключевые выводы

  • Vibe‑кодинг позволяет LLM‑агенту выполнять сложные задачи программирования по простому человеческому запросу, с минимальным контролем во время выполнения.
  • Исследователи создали SUSVIBES — бенчмарк из 186 реальных задач по разработке ПО, взятых из проектов с открытым исходным кодом, где человеческие программисты ранее допускали уязвимый код.
  • Дюжина широко используемых агентных конфигураций для программирования, работающих на передовых AI‑моделях, была протестирована на этом бенчмарке, и каждая из них показала слабые результаты по безопасности.
  • SWE‑Agent в паре с Claude 4 Sonnet выдавал функционально корректный код в 57% случаев, но лишь 11,8% этих решений были действительно безопасными.
  • Добавление подсказок об уязвимостях в промпты для кодирования — простая стратегия смягчения рисков — не привело к заметному улучшению показателей безопасности.

Что такое vibe‑кодинг и почему растут опасения по поводу безопасности

Vibe‑кодинг описывает стиль разработки, при котором инженеры передают задачу по программированию AI‑агенту и позволяют ему работать с минимальными промежуточными проверками. Вместо того чтобы писать каждую строку кода самостоятельно, человеческие программисты формулируют запрос модели, просматривают результат на высоком уровне и переходят к следующей задаче. Такой подход набрал популярность, потому что он может радикально ускорить поставку программного обеспечения, особенно для запросов на новые функции, реализация которых вручную заняла бы у разработчика часы.

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

Внутреннее устройство бенчмарка SUSVIBES

SUSVIBES отвечает на прямой вопрос: как часто код, сгенерированный агентом, повторяет ошибки безопасности, которые реальные разработчики уже допускали? Бенчмарк берёт тестовые кейсы прямо из истории, а не из гипотетических сценариев.

Он состоит из 186 задач по реализации функциональности, взятых из реальных проектов с открытым исходным кодом. Каждая задача соответствует случаю, когда человеческие программисты в какой‑то момент закоммитили уязвимую реализацию при создании именно этой функции. Такой дизайн позволяет исследователям проверить, попадёт ли AI‑агент, решающий ту же задачу, в ту же ловушку или сумеет её обойти.

Чтобы широко нагрузить всю область, в исследовании оценивались 12 широко используемых агентных конфигураций для программирования, работающих на передовых AI‑моделях. Идея заключалась в том, чтобы зафиксировать реалистичную картину того, как разработчики на самом деле используют эти инструменты сегодня, а не тестировать одну модель в изоляции. Одна из конфигураций, выбранных для более детального анализа, сочетала фреймворк SWE‑Agent с Claude 4 Sonnet.

Функционально корректно, но небезопасно: результаты SUSVIBES

Главный результат сформулирован жёстко: каждая агентная конфигурация, протестированная на SUSVIBES, показала слабые результаты по безопасности программного обеспечения, независимо от того, какая передовая модель лежала в её основе. Эта однородность сама по себе примечательна — она указывает на то, что проблема связана не с одной слабой моделью, а с более широкой лакуной в том, как эти агенты обучаются и как их настраивают на написание кода.

Комбинация SWE‑Agent и Claude 4 Sonnet наглядно демонстрирует этот разрыв. Из всех решений, которые она выдала, 57% были функционально корректными, то есть делали то, что требовалось по запросу на реализацию функции. Но когда исследователи проверили эти же решения на наличие известных шаблонов уязвимостей, только 11,8% оказались безопасными. Иными словами, более четырёх из пяти функционально корректных решений всё равно содержали тот тип изъяна, который ранее допустил человеческий программист в том же месте.

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

Подсказки об уязвимостях не решают проблему

Исследователи не ограничились констатацией проблемы — они попытались её исправить. Одна предварительная стратегия заключалась в дополнении исходного запроса на реализацию функции явными подсказками об уязвимостях, по сути подталкивая агента к тому типу риска, на который ему следует обратить внимание.

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

В совокупности эти выводы вызывают серьёзные опасения по поводу использования vibe‑кодинга в приложениях с повышенными требованиями к безопасности — от финансовых систем до инфраструктурного ПО, где одна пропущенная уязвимость может иметь непропорционально серьёзные последствия. Исследователи, стоящие за SUSVIBES, выложили код и датасет в открытый доступ на GitHub, а также запустили публичную таблицу лидеров, отслеживающую, как различные конфигурации агентов показывают себя на этом бенчмарке со временем.

Для индустрии, спешащей внедрять AI‑агентов для программирования, это исследование — не приговор технологии, а предупреждение о том, где текущие защитные механизмы дают сбой. Функциональный код — это не то же самое, что безопасный код, и пока этот разрыв не сократится, безопасность vibe‑кодинга, вероятно, останется камнем преткновения для любых команд, создающих ПО, где цена скрытого изъяна высока.

FAQ

Что такое vibe‑кодинг?

Vibe‑кодинг — это подход к разработке программного обеспечения, при котором агенты на базе больших языковых моделей выполняют задачи программирования при минимальном контроле со стороны инженеров‑людей.

Что оценивает бенчмарк SUSVIBES?

SUSVIBES — это бенчмарк из 186 реальных задач по разработке программного обеспечения с известными уязвимостями, используемый для оценки показателей безопасности кода, сгенерированного агентами.

Насколько безопасен код, генерируемый текущими LLM‑агентами в рамках vibe‑кодинга?

Тестирование SWE‑Agent с Claude 4 Sonnet показало, что хотя 57% сгенерированного кода функционально корректны, только 11,8% устойчивы к уязвимостям.

Улучшают ли стратегии вроде добавления подсказок об уязвимостях безопасность при vibe‑кодинге?

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

{«@context»:»https://schema.org»,»@type»:»FAQPage»,»mainEntity»:[{«@type»:»Question»,»name»:»Что такое vibe‑кодинг?»,»acceptedAnswer»:{«@type»:»Answer»,»text»:»Vibe‑кодинг — это подход к разработке программного обеспечения, при котором агенты на базе больших языковых моделей выполняют задачи программирования при минимальном контроле со стороны инженеров‑людей.»}},{«@type»:»Question»,»name»:»Что оценивает бенчмарк SUSVIBES?»,»acceptedAnswer»:{«@type»:»Answer»,»text»:»SUSVIBES — это бенчмарк из 186 реальных задач по разработке программного обеспечения с известными уязвимостями, используемый для оценки показателей безопасности кода, сгенерированного агентами.»}},{«@type»:»Question»,»name»:»Насколько безопасен код, генерируемый текущими LLM‑агентами в рамках vibe‑кодинга?»,»acceptedAnswer»:{«@type»:»Answer»,»text»:»Тестирование SWE‑Agent с Claude 4 Sonnet показало, что хотя 57% сгенерированного кода функционально корректны, только 11,8% устойчивы к уязвимостям.»}},{«@type»:»Question»,»name»:»Улучшают ли стратегии вроде добавления подсказок об уязвимостях безопасность при vibe‑кодинге?»,»acceptedAnswer»:{«@type»:»Answer»,»text»:»Предварительные попытки, такие как добавление подсказок об уязвимостях, не привели к значимому улучшению показателей безопасности кода, сгенерированного агентами.»}}]}

Статья подготовлена при содействии искусственного интеллекта и проверена редакционной командой.

RELATED ARTICLES

Stay updated on all the news about cryptocurrencies and the entire world of blockchain.

Featured video

LATEST