Почти половина сгенерированных ИИ программных кодов содержат опасные уязвимости безопасности

Все больше программистов при написании кода обращаются к инструментам ИИ, что влечет за собой серьезные последствия. Язык программирования Java оказался особенно уязвимым для генерации кода с помощью ИИ.
31 июля 2025, четверг 19:29
kosmos_news для раздела Блоги

Недавний эксперимент генерального директора сообщества и конференции для стартапов в сфере SaaS Saastr Джейсона Лемкина продемонстрировал, насколько опасной может быть генерация исходного кода с использованием ИИ. Этот метод программирования, использующий большие языковые модели (LLM), называется вайб-кодинг. Попытка создать приложение, используя только ИИ Replit, закончилась тем, что инструмент удалил важную базу данных.

Протестировано более 100 LLM: ИИ создает множество уязвимостей безопасности при написании кода

Исследование, проведенное компанией Veracode, занимающейся ИТ-безопасностью, демонстрирует долгосрочные негативные последствия, которые может иметь программирование с использованием ИИ. Согласно исследованию, 45 процентов кода, сгенерированного ИИ, содержат опасные и эксплуатируемые уязвимости безопасности.

Для исследования Veracode использовала более 100 крупных языковых моделей (LLM), каждая из которых включала 80 проектов кода с известными потенциальными уязвимостями безопасности. Затем результаты были проанализированы исследовательской группой поставщика услуг ИТ-безопасности.

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

«Наше исследование показывает, что ИИ-модели становятся более точными с точки зрения создания кода, но не с точки зрения безопасности», — говорит Весслинг. 

Более крупные модели не показали лучших результатов в испытаниях, чем мелкие. Это говорит о том, что «это скорее системная проблема, чем проблема масштабирования LLM».

Согласно исследованию, Java оказался особенно рискованным языком программирования для генерации кода ИИ: уровень ошибок превысил 70 процентов. По данным Veracode, другие основные языки программирования, такие как Python, C# и JavaScript, также представляют значительный риск.

Однако очевидно, что программирование с поддержкой ИИ представляет собой будущее разработки программного обеспечения, считает Весслинг. Используемые инструменты ИИ должны быть обучены соответствовать правилам безопасности. Кроме того, при проведении проверки результата желательно полагаться на человеческий опыт, а не на предложения ИИ.