tgoop.com/pwnai/1041
Last Update:
Недавно 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-решения, автофиксы и обучение разработчиков правильному использованию ИИ при генерации кода.