ИИ-код почти всегда работает, но безопасным оказывается лишь в 56% случаев

Компания Veracode опубликовала отчёт GenAI Code Security Report 2026, в котором подчеркнула разрыв между способностью ИИ писать рабочий код и его безопасностью.

В 4 тестовых срезах более 100 моделей показали в среднем 56% успешных результатов по безопасности — почти столько же, сколько годом ранее. При этом синтаксические тесты модели проходили почти в 100% случаев. Иными словами, код может корректно выполняться, но при этом содержать уязвимую реализацию.

Veracode проверяла исходные модели на стандартизированных заданиях по генерации кода на разных языках и для разных категорий уязвимостей. Запросы не содержали специальных указаний по безопасности. В этих условиях примерно в 44% случаев сгенерированный код не проходил проверку безопасности. Компания отдельно отмечает, что показатель нельзя трактовать как долю уязвимого кода в реальных проектах: тесты отражают только выбранные задания и условия и не учитывают дополнительные меры защиты вроде статического анализа, политик, защитных ограничений и проверки человеком.

Изображение сгенерировано: Nano Banana

Специализированные модели для программирования неожиданного преимущества не показали: их средний результат составил 51% против 52% у универсальных моделей. Размер также почти не повлиял на безопасность: крупные модели набрали в среднем 53%, средние и малые — 51%. Лучше выглядели модели с режимом рассуждений — 56% против 51% у остальных. В рейтинге Veracode GPT-5.5 показала 68%, тогда как 6 из 11 представленных моделей получили от 50% до 53%.

Сильнее различались результаты по языкам программирования. Python показал лучший средний результат — 63%, а Java оказался последним с 30%, хотя его показатель улучшался. В отчёте отмечается, что корректность синтаксиса сама по себе не является надёжным признаком безопасности: сгенерированный код может успешно компилироваться и выполнять поставленную задачу, одновременно используя небезопасный способ реализации.

Veracode рекомендует относиться к ИИ-сгенерированному коду как к непроверенному и пропускать его через проверки безопасности до объединения с основной кодовой базой, включая анализ зависимостей и самого сгенерированного кода. Главный практический вывод тестов — скорость генерации рабочего кода не заменяет контроль, способный обнаружить уязвимости, которые функциональные проверки не выявляют.

©  iXBT