Вместо строгих протоколов безопасности вайб-кодинг даёт лишь скорость и надежду на чудо.

Автоматизация программирования с помощью ИИ уже не фантастика, а повседневность. Создание приложений с помощью генераторов кода стремительно становится привычной практикой. Однако вместе с удобством приходит и новая волна рисков — безопасность таких решений часто оказывается под вопросом.
Специалисты из компании Tenzai провели сравнительное тестирование пяти популярных ИИ-инструментов для генерации кода: Cursor, Claude Code, Codex от OpenAI, Replit и Devin. Каждому инструменту предложили одинаковые задания — разработать 15 приложений на схожем технологическом стеке, имитируя стандартный процесс поэтапной разработки. Затем каждое приложение было проанализировано на наличие уязвимостей. В результате выявлено 69 проблем, в том числе критические — от неправильно настроенной авторизации до отсутствия базовых защитных механизмов.
Авторы отчёта отметили, что с некоторыми классами уязвимостей ИИ-агенты справились довольно успешно. Например, в коде не было обнаружено случаев SQL-инъекций и XSS — здесь сработали встроенные защитные механизмы используемых фреймворков. В подобных сценариях генераторы кода чаще всего корректно применяли параметризированные запросы и автоматически экранировали пользовательский ввод, что предотвращало эксплуатацию.
Однако при отсутствии чётких технических ограничений результаты резко ухудшались. Наиболее частыми проблемами стали нарушения в логике авторизации. Например, в одном из приложений, созданном Codex, пользователи с ролью продавца могли просматривать чужие заказы, поскольку в коде отсутствовала соответствующая проверка. Claude Code и вовсе позволял неавторизованным пользователям удалять товары, если запрос обходил проверку подлинности.
Ещё одна распространённая ошибка — уязвимости бизнес-логики. Без чётких инструкций ИИ не добавлял базовые проверки на значения. В некоторых случаях приложения позволяли заказывать товары с отрицательным количеством или создавать продукты с отрицательной ценой. Это указывает на то, что генераторы кода не обладают достаточным уровнем «понимания» процессов, чтобы выявлять логические ошибки без прямых указаний.
Особенно заметны провалы в реализации защитных механизмов. Ни один из протестированных агентов не добавил защиту от CSRF-атак, не настроил заголовки безопасности, такие как CSP, X-Frame-Options и HSTS, и не ограничил количество попыток входа в систему. Даже в тех немногих случаях, когда подобные меры были предприняты, реализованы они были с ошибками — например, защита от перебора паролей могла быть обойдена через X-Forwarded-For.
Все пять решений допустили ошибки, но наихудший результат показал Claude Code, с наибольшим числом критических уязвимостей. Лучше всего справились Cursor и Replit, не допустившие ни одной проблемы высокого уровня. Однако даже эти инструменты оставили в коде по 13 уязвимостей каждый.
Попытки повысить безопасность путём уточнения инструкций в запросах — например, добавлением общих указаний избегать определённых ошибок — не дали ощутимого эффекта. Современные ИИ-системы, по выводам авторов, не способны самостоятельно сформировать «интуицию» в области безопасности. Им недостаёт понимания архитектурных рисков и способности внедрять меры защиты превентивно.
На этом фоне единственным эффективным решением становится тестирование. Как и в случае с людьми, автоматическая генерация кода не исключает ошибок. Но ИИ может быть полезен и на этапе проверки — именно такие инструменты, как система анализа Tenzai, способны быстро находить типовые уязвимости в больших объёмах кода. Если разработка с использованием ИИ будет нарастать, то подход к обеспечению безопасности также должен адаптироваться — и использовать эти же технологии для защиты.