Недавно Veracode опубликовал отчёт, в котором исследовал безопасность кода, сгенерированного различными LLM.
Результаты оказались тревожными и ожидаемыми: в 45% случаев ИИ-сгенерированный код содержал уязвимости, включённые в список OWASP Top 10 для веба.💯
Исследование охватило более 100 моделей и 80 программных задач на четырёх языках: Java, JavaScript, C# и Python. Выяснилось, что ни масштаб модели, ни её актуальность не влияют на безопасность генерируемого кода. Хотя синтаксическая корректность за два года существенно возросла, уровень безопасности остался практически неизменным.🤔
Наименее защищённый код генерируется для Java: лишь 28,5% решений оказались безопасными. Этот показатель в 2,1 раза ниже, чем у Python (61,7%), и на 28,5% хуже результата по JavaScript (57%). Причина — в обучающих данных: в Java-проектах исторически преобладают уязвимые примеры, например реализации с SQL-инъекциями.
По разным типам уязвимостей результаты сильно варьируются.😩 Модели эффективно предотвращают SQL-инъекции и некорректное использование криптографических алгоритмов (80–85% безопасного кода). Однако защита от XSS и Log Injection остаётся низкой: безопасные решения встречаются лишь в 13–14% случаев. Причина в том, что для предотвращения таких уязвимостей требуется анализ контекста использования данных и понимание, какие данные нуждаются в очистке. LLM не способны на такой глубокий анализ.
Проблема связана с качеством обучающих данных. В открытых источниках, очевидно, преобладает код с уязвимостями, включая заведомо уязвимые приложения. Модели не умеют различать безопасные и уязвимые паттерны, интерпретируя оба варианта как допустимые решения
Veracode предупреждает, что компании, активно внедряющие ИИ в разработку, могут незаметно увеличивать тех.долг и риски кибербезопасности. Вайб-кодинг создаёт проблемы стабильности решения, а код требует серьёзных усилий по проверке и доработке.🧐
Вывод отчёта однозначен: LLM не могут самостоятельно обеспечить безопасность кода, несмотря на технический прогресс. Обязательными мерами должны быть (кто же, ну конечно) SAST-решения, автофиксы и обучение разработчиков правильному использованию ИИ при генерации кода.
Post #153
189
Forwarded from PWN AI (Artyom Semenov)


