Veracode: 4 года без прогресса — 44% ИИ-кода содержат уязвимости OWASP Top 10

Коротко о главном
Компания Veracode опубликовала 28 июля 2026 года отчёт 2026 GenAI Code Security Report, протестировав более 100 языковых моделей на 80 задачах по генерации кода. Итог: средний показатель безопасности ИИ-генерируемого кода составил 56% — и не изменился за четыре года наблюдений. Примерно 44% всех сгенерированных фрагментов содержат уязвимости из списка OWASP Top 10, хотя синтаксически корректный код модели выдают почти в 100% случаев.
Это имеет прямое значение для команд, которые используют GitHub Copilot, Cursor, Claude или любой другой ИИ-ассистент для разработки: инструменты пишут больше кода, чем когда-либо, но вероятность уязвимого результата остаётся неизменно высокой. Если ваши инженеры не проверяют ИИ-код так же строго, как написанный человеком, — риск накапливается с каждым PR. Именно поэтому качественное тестирование ПО и аудит кода приложения становятся обязательным этапом в пайплайне, где ИИ участвует в генерации.
Что показало исследование Veracode
Veracode тестировала модели на четырёх классах уязвимостей: SQL-инъекции (CWE-89), межсайтовый скриптинг XSS (CWE-80), инъекции в журналы (CWE-117) и небезопасные криптографические алгоритмы (CWE-327). Все четыре входят в OWASP Top 10 и регулярно встречаются в реальных инцидентах — это не теоретические угрозы.
Ключевые цифры отчёта:
- Средний показатель безопасного кода по всем моделям и языкам — 56%, без изменений с 2022 года.
- Около 44% задач на генерацию кода приводят к появлению хотя бы одной уязвимости OWASP Top 10.
- ИИ теперь генерирует примерно половину всего кода, который коммитится в корпоративных репозиториях.
- Синтаксическая корректность кода при этом близка к 100% — модели умеют «писать», но не «писать безопасно».
Иными словами: технические возможности моделей выросли многократно, скорость и объём генерации — тоже, а вот уровень безопасности результата оказался «застрявшим» на отметке 2022 года.
Java — аутсайдер, Python — лидер среди языков
Картина существенно отличается в зависимости от языка программирования:
- Java — худший результат: средний показатель безопасности составил лишь 30%. Veracode объясняет это тем, что современные LLM обучались на огромном массиве публичного Java-кода, написанного до формирования современных стандартов безопасности. Когда модель пишет Java, она воспроизводит паттерны из легаси-репозиториев, а не из актуальных security best practices.
- Python — лучший результат среди проверенных языков: 63% безопасного кода. Python-экосистема моложе, а сообщество активнее документировало безопасные паттерны в публичных репозиториях.
- C# и JavaScript занимают промежуточные позиции.
Для продуктовых команд это конкретный сигнал: если ваш бэкенд на Java и ИИ-ассистент активно используется в разработке, контроль безопасности кода должен быть строже, а не такой же, как для Python-сервисов.
GPT-5.5 лидирует, но всё равно проваливает каждую третью задачу
Лучший результат в летнем срезе 2026 года показала модель GPT-5.5: показатель безопасного кода составил 68%. Это лучше среднего по индустрии, однако означает, что даже самая сильная на текущий момент модель проваливает примерно каждую третью задачу на безопасный код.
Veracode отслеживает более 100 моделей и делает четыре среза в год. Тренд стабильный: несмотря на то что модели становятся умнее, быстрее и дешевле, уровень безопасности генерируемого ими кода не растёт вместе с другими показателями. Это структурная проблема обучающих данных, а не конкретной модели.
Почему безопасность ИИ-кода не движется
Veracode выдвигает гипотезу, которая объясняет застывший показатель: языковые модели обучены на публичных репозиториях, собранных за десятилетия. Значительная часть этого кода написана до того, как сформировались современные стандарты безопасности. Когда модель генерирует код, она воспроизводит статистически типичные паттерны из обучающей выборки — включая небезопасные.
Из этого следуют важные практические выводы:
- Инструкции помогают, но не решают проблему. Если давать модели явные указания по безопасности («не используй MD5», «параметризуй SQL-запросы»), результат улучшается — но не до приемлемого уровня без дополнительной проверки.
- Язык программирования важнее выбора модели. Переход с GPT-4 на GPT-5.5 улучшает безопасность меньше, чем переход с Java на Python при той же модели.
- Масштаб — новая переменная. Когда ИИ генерирует половину всего кода в репозитории, даже 44% уязвимых задач означают резкий рост потенциальных проблем в абсолютных числах.
Что делать команде разработки прямо сейчас
Отчёт Veracode не означает, что от ИИ-ассистентов нужно отказываться — они дают реальный прирост производительности. Но он означает, что процесс контроля качества и безопасности кода требует обновления.
Практические шаги для команд:
1. Не доверяйте ИИ-коду молча. Относитесь к сгенерированному коду как к коду стажёра: он может быть правильным синтаксически, но содержать логические и безопасностные ошибки. Обязательное code review — не опция, а норма.
2. Внедрите SAST в CI/CD. Инструменты статического анализа (Static Application Security Testing) — SonarQube, Checkmarx, Semgrep — ловят уязвимости вроде SQL-инъекций и XSS автоматически, до попадания кода на прод. Это дешевле, чем исправлять после релиза.
3. Учтите язык при оценке рисков. Если Java-сервис активно дорабатывается с ИИ, повышайте частоту аудитов кода — данные Veracode показывают, что Java-генерация в 2 раза опаснее, чем Python.
4. Обновите security requirements для ИИ-ассистентов. Добавьте в корпоративные guidelines запреты на использование конкретных уязвимых паттернов: незащищённые запросы к БД, конкатенация пользовательского ввода, устаревшие алгоритмы хеширования.
5. Проведите аудит кода, написанного с ИИ за последние 12 месяцев. Если в вашей команде ИИ-ассистенты появились в 2024–2025 году и без изменений в процессах проверки — в кодовой базе, вероятно, уже накопились уязвимости, которые ещё не проявились.
Часто задаваемые вопросы
Насколько опасен ИИ-генерируемый код по сравнению с кодом человека? Veracode не сравнивает их напрямую в одном тесте, но контекст понятен: профессиональные разработчики с хорошим ревью и инструментами SAST достигают существенно более высоких показателей безопасности. Проблема ИИ-кода в том, что он генерируется быстро и в больших объёмах, а риск проскальзывания уязвимостей без проверки выше.
Какие уязвимости чаще всего встречаются в ИИ-коде? Согласно отчёту Veracode 2026, четыре самых частых класса — SQL-инъекции (CWE-89), XSS (CWE-80), инъекции в лог-файлы (CWE-117) и использование небезопасных криптографических алгоритмов (CWE-327). Все они из OWASP Top 10.
Стоит ли выбирать модель с лучшим security-рейтингом? Это полезно, но не достаточно. GPT-5.5 с показателем 68% — лучшая модель в тесте, но всё равно проваливает треть задач. Комбинация «лучшая модель + автоматический SAST в pipeline» надёжнее, чем просто смена модели.
Почему Java даёт такие плохие результаты? По гипотезе Veracode — из-за структуры обучающих данных. Публичные Java-репозитории содержат много кода, написанного до современных security-стандартов. Модели воспроизводят статистически типичные паттерны, включая небезопасные.
Изменится ли ситуация с выходом более мощных моделей? Данные Veracode за 4 года говорят об отсутствии тренда к улучшению. Производительность и «умность» растут, безопасность — нет. Это означает, что проблема системная, и внешний контроль качества кода (SAST, ревью, аудиты) останется необходимым вне зависимости от прогресса моделей.
Источники
Veracode, официальный пресс-релиз, BusinessWire — LLMs Are Getting Smarter, But Not Safer: Veracode 2026 GenAI Code Security Report Finds AI-Generated Code Security Has Stalled at 56% Pass Rate, 28 июля 2026 года.
Veracode Blog — 2026 GenAI Code Security Report: AI Is Writing More of Your Code but Security Hasn't Caught Up, veracode.com, 2026.
eSecurity Planet — Veracode Finds AI-Generated Code Still Struggles With Security, esecurityplanet.com, 2026.
SD Times — Veracode Finds AI-Generated Code Security Has Barely Improved Since Last Year, sdtimes.com, 2026.
ИИ написал код — а кто проверил его безопасность?
Veracode зафиксировала: 44% ИИ-генерируемого кода содержат уязвимости OWASP Top 10, и за 4 года этот показатель не улучшился. Если ваша команда активно использует Copilot, Cursor или Claude для разработки — в кодовой базе могут накапливаться SQL-инъекции, XSS и слабая криптография. Мы проводим аудит кода с поиском уязвимостей и выдаём конкретный план устранения.