Лидеры мнений
Искусственно сгенерированный код здесь, чтобы остаться. Становимся ли мы менее безопасными в результате?

Программирование в 2025 году не означает трудиться над фрагментами или тратить долгие часы на отладку. Это совершенно другой настрой. Искусственно сгенерированный код скоро станет большинством кода в будущих продуктах и уже стал необходимым инструментом для современного разработчика. Известный как “вайб-кодинг”, использование кода, сгенерированного инструментами như Github Copilot, Amazon CodeWhisperer и Chat GPT, станет нормой, а не исключением, для сокращения времени сборки и увеличения эффективности. Но не несет ли удобство искусственно сгенерированного кода более темную угрозу? Увеличивает ли генеративный ИИ уязвимости в безопасности архитектуры или есть ли способы для разработчиков “вайб-кодить” безопасно?
“Инциденты безопасности, вызванные уязвимостями в искусственно сгенерированном коде, – одна из наименее обсуждаемых тем сегодня”, – сказал Санкет Саурав, основатель DeepSource. “Еще много кода, сгенерированного платформами như Copilot или Chat GPT, не проходит человеческий обзор, и нарушения безопасности могут быть катастрофическими для компаний, которые пострадали.”
Разработчик открытой платформы, использующей статический анализ для качества и безопасности кода, Саурав сослался на хакерскую атаку на SolarWinds в 2020 году как на пример “события вымирания”, с которым могут столкнуться компании, если они не установили правильные гарантии безопасности при использовании искусственно сгенерированного кода. “Статический анализ позволяет выявить не安全ные шаблоны кода и плохие практики программирования”, – сказал Саурав.
Атака через библиотеку
Угрозы безопасности искусственно сгенерированному коду могут принимать изобретательные формы и могут быть направлены на библиотеки. Библиотеки в программировании – это полезный многоразовый код, который разработчики используют, чтобы сэкономить время при написании.
Они часто решают обычные задачи программирования, такие как управление взаимодействиями с базой данных, и помогают программистам не переписывать код с нуля.
Одна из таких угроз для библиотек известна как “галлюцинации”, когда искусственно сгенерированный код демонстрирует уязвимость, используя вымышленные библиотеки. Другая, более недавняя линия атак на искусственно сгенерированный код, называется “слопскваттинг”, когда атакующие могут напрямую нацеливаться на библиотеки, чтобы проникнуть в базу данных.
Прямое решение этих угроз может потребовать больше осознанности, чем может показаться в термине “вайб-кодинг”. Профессор Рафаэль Хури, говоря из своего офиса в Университете Квебека в Утауа, внимательно следил за развитием безопасности искусственно сгенерированного кода и уверен, что новые методы улучшат его безопасность.
В статье 2023 года профессор Хури исследовал результаты запроса к ChatGPT на генерацию кода без дополнительного контекста или информации, что привело к не安全ному коду. Это были ранние дни Chat GPT, и Хури теперь оптимистично смотрит на будущее. “С тех пор было много исследований, и будущее выглядит перспективным для использования стратегии LLM, которая может привести к лучшим результатам”, – сказал Хури, добавив, что “безопасность улучшается, но мы еще не находимся на этапе, когда можем дать прямую команду и получить безопасный код.”
Хури продолжил описывать перспективное исследование, где они сгенерировали код, а затем отправили этот код в инструмент, который анализирует его на уязвимости. Метод, используемый инструментом, называется “Поиск линейных аномалий с помощью генеративного ИИ” (FLAG).
“Эти инструменты отправляют флаги, которые могут выявить уязвимость в строке 24, например, которую разработчик может затем отправить обратно в LLM с информацией и попросить его изучить и исправить проблему”, – сказал он.
Хури предположил, что этот обмен может быть решающим для исправления уязвимого кода. “Это исследование показывает, что с пятью итерациями можно снизить уязвимости до нуля.”
Однако метод FLAG не без проблем, особенно поскольку он может привести к ложным положительным и ложным отрицательным результатам. Кроме того, существуют ограничения в длине кода, который могут создать LLM, и акт соединения фрагментов может добавить еще один слой риска.
Сохранение человека в цикле
Некоторые участники “вайб-кодинга” рекомендуют фрагментировать код и обеспечить, чтобы люди оставались на переднем плане в наиболее важных редакциях кодовой базы. “При написании кода думайте в терминах коммитов”, – сказал Кевин Хоу, руководитель отдела инженерии в Windsurf, пропагандируя мудрость небольших кусков.
“Разделите большой проект на более мелкие части, которые обычно являются коммитами или запросами на вытягивание. Пусть агент строит меньший масштаб, одну изолированную функцию за раз. Это может обеспечить, что выходной код хорошо протестирован и хорошо понят”, – добавил он.
На момент написания Windsurf обработал более 5 миллиардов строк искусственно сгенерированного кода (под своим предыдущим названием Codeium). Хоу сказал, что наиболее насущным вопросом, на который они отвечали, было осознание разработчиком процесса.
“ИИ способен делать много редактирований одновременно, поэтому как мы можем убедиться, что разработчик действительно понимает и проверяет, что происходит, а не просто слепо принимает все?” – спросил Хоу, добавив, что они вложили много средств в UX Windsurf “с множеством интуитивных способов оставаться полностью в шаге с тем, что делает ИИ, и сохранять человека полностью в цикле.”
Именно поэтому, когда “вайб-кодинг” становится более распространенным, люди в цикле должны быть более осторожными с его уязвимостями. От “галлюцинаций” до угроз “слопскваттинга” проблемы реальны, но реальны и решения.
Появляющиеся инструменты, такие как статический анализ, итеративные методы совершенствования, такие как FLAG, и вдумчивый UX-дизайн показывают, что безопасность и скорость не должны быть взаимоисключающими.
Ключом является сохранение разработчиков вовлеченными, информированными и контролирующими. С правильными гарантиями безопасности и подходом “доверяй, но проверяй” кодирование с помощью ИИ может быть одновременно революционным и ответственным.












