Использование генеративного ИИ ухудшает качество кода

Использование генеративного ИИ ухудшает качество кода

Использование генеративного ИИ ухудшает качество кода

Использование генеративного искусственного интеллекта (ИИ) в разработке программного обеспечения может негативно сказываться на качестве кода. Это связано с так называемыми «галлюцинациями» больших языковых моделей, риском утечек кода, а также с тем, что ИИ нередко воспроизводит уже существующие ошибки и уязвимости.

Влиянию генеративного ИИ на процессы разработки было посвящено выступление основателя компании CodeScoring Алексея Смирнова на конференции «День безопасной разработки», организованной Ассоциацией разработчиков программных продуктов (АРПП) «Отечественный софт».

Как отметил Алексей Смирнов, галлюцинации ИИ в контексте программирования чаще всего проявляются в рекомендациях использовать несуществующие библиотеки — таких случаев может быть до 20%. Причём ещё год назад эта проблема практически не наблюдалась.

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

Смирнов также сообщил, что с появлением ИИ-ассистентов количество утечек кода увеличилось на 40%. Утечки данных, использованных для обучения нейросетей, в целом являются типичной проблемой. Например, в модели угроз, разработанной в Сбере, такая угроза считается одной из ключевых.

Кроме того, по данным CodeScoring, в каждом третьем случае ИИ-ассистенты воспроизводят уязвимости в коде. Таким образом, надежды на то, что генеративные инструменты смогут автоматически находить и устранять уязвимости, не оправдались. Более того, как подчеркнул Алексей Смирнов, накопленный опыт показывает, что применение генеративного ИИ затрудняет работу статических анализаторов кода.

AppSec.Track научился проверять код, написанный ИИ

AppSec.Track добавил поддержку работы с ИИ и стал первым российским SCA-анализатором, который умеет проверять код прямо в связке с ИИ-ассистентами. Обновление рассчитано в том числе на так называемых «вайб-кодеров» — разработчиков, которые активно используют LLM и ИИ-редакторы для генерации кода.

Новый функционал решает вполне практичную проблему: ИИ всё чаще пишет код сам, но далеко не всегда делает это безопасно.

Модель может «галлюцинировать», предлагать несуществующие пакеты, устаревшие версии библиотек или компоненты с известными уязвимостями. AppSec.Track теперь умеет отлавливать такие ситуации автоматически.

Разработчик может прямо в диалоге с ИИ-ассистентом запросить проверку сгенерированного кода через AppSec.Track. Система проанализирует используемые сторонние компоненты, подсветит потенциальные угрозы и предложит варианты исправления. В основе механизма — протокол MCP (Model Context Protocol), который позволяет безопасно подключать инструменты анализа к LLM.

Как поясняет директор по продукту AppSec.Track Константин Крючков, разработчики всё чаще пишут код «по-новому», а значит, и инструменты анализа должны меняться. Редакторы вроде Cursor или Windsurf уже умеют многое, но им всё равно нужна качественная и актуальная база уязвимостей. Именно её и даёт AppSec.Track, включая учёт внутренних требований безопасности конкретной компании. В итоге даже разработчик без глубокой экспертизы в ИБ может получить более надёжный результат.

Проблема особенно заметна на фоне роста low-coding и vibe-coding подходов. Код создаётся быстрее, а иногда — почти без участия человека, но с точки зрения безопасности в нём могут скрываться неприятные сюрпризы: SQL-инъекции, логические ошибки или небезопасные зависимости. Как отмечает старший управляющий директор AppSec Solutions Антон Башарин, ИИ-ассистенты не заменяют классические практики DevSecOps — особенно когда речь идёт об open source, где информация об угрозах обновляется быстрее, чем обучаются модели.

Новый функционал AppSec.Track ориентирован на профессиональные команды разработки, которые уже внедряют ИИ в свои процессы. Он позволяет сохранить требования Secure by Design и снизить риски даже в условиях активного использования генеративного кода.

RSS: Новости на портале Anti-Malware.ru