OX Security: искусственный интеллект генерирует код с ошибками, типичными для начинающих разработчиков, и это создаёт кризис безопасности

Изображение: recraft
Компания OX Security представила исследование, в котором описывается растущий дисбаланс между скоростью генерации кода с помощью ИИ и способностью команд обеспечить его проверку и защиту. Анализ более 300 репозиториев, в т. ч. 50, где применялись инструменты на базе искусственного интеллекта — GitHub Copilot, Claude, Cursor и другие — показал, что хотя сгенерированный код по строке не уязвимее, чем код, написанный человеком, он чаще проникает в эксплуатацию до того, как его успевают проверить.
По словам аналитиков, отрасль столкнулась с новым явлением: код создаётся и развёртывается темпами, несоизмеримыми с существующими механизмами контроля. Те процессы, которые раньше включали планирование, код-ревью, рефакторинг и командное обсуждение, теперь практически отсутствуют. Софт, на который раньше уходили месяцы, можно сгенерировать за пару дней — и сразу внедрить. Этот темп исключает критический анализ и увеличивает шансы появления скрытых уязвимостей.
Согласно данным OX Security, даже до массового внедрения ИИ службы информационной защиты не справлялись с объёмом рисков: в среднем организации одновременно отслеживали более 500 тыс. уведомлений о потенциальных угрозах. Ситуация усугубилась, когда код, создаваемый ИИ, стал поступать на продакшн быстрее, чем успевают срабатывать системы безопасности.
В отчёте подробно описано 10 распространённых моделей некачественного проектирования, которые регулярно воспроизводятся генеративными ИИ-моделями. Исследователи сравнили их с «поведением джуниора», который способен создать работающий фрагмент, но не задумывается о масштабировании, поддержке, повторном использовании и надёжности архитектуры. Среди самых частых проблем — избыточные комментарии в коде. Такие элементы не добавляют пользы разработчику, но служат маркерами контекста для самой модели, из-за чего репозитории оказываются захламлены бессмысленной пояснительной информацией.
Кроме того, ИИ практически не занимается рефакторингом — он не улучшает структуру, не оптимизирует алгоритмы и не устраняет дублирование. Если код выполняет задачу на базовом уровне, модель не предлагает улучшения, что со временем создаёт технический долг. В ряде случаев ИИ генерирует чрезмерно узкие решения, лишённые универсальности. Это мешает повторному использованию кода, требует написания новых фрагментов даже для простых вариаций, что повышает сложность поддержки.
Также отмечается склонность моделей к следованию установленным правилам без анализа их актуальности. Такие системы создают безопасный, но однообразный код, не предлагая инновационных или более эффективных подходов. При этом ИИ часто отказывается использовать готовые библиотеки, предпочитая повторно реализовывать уже существующие функции — иногда даже в более примитивном виде.


