Использование генеративного искусственного интеллекта (ИИ) в разработке программного обеспечения может негативно сказываться на качестве кода. Это связано с так называемыми «галлюцинациями» больших языковых моделей, риском утечек кода, а также с тем, что ИИ нередко воспроизводит уже существующие ошибки и уязвимости.
Влиянию генеративного ИИ на процессы разработки было посвящено выступление основателя компании CodeScoring Алексея Смирнова на конференции «День безопасной разработки», организованной Ассоциацией разработчиков программных продуктов (АРПП) «Отечественный софт».
Как отметил Алексей Смирнов, галлюцинации ИИ в контексте программирования чаще всего проявляются в рекомендациях использовать несуществующие библиотеки — таких случаев может быть до 20%. Причём ещё год назад эта проблема практически не наблюдалась.
По его мнению, этим недостатком могут воспользоваться злоумышленники, подсовывая разработчикам заведомо уязвимые или вредоносные компоненты. Особенно опасно то, что в 58% случаев галлюцинации ИИ повторяются — а значит, подобрать нужное название несуществующей библиотеки становится проще.
Смирнов также сообщил, что с появлением ИИ-ассистентов количество утечек кода увеличилось на 40%. Утечки данных, использованных для обучения нейросетей, в целом являются типичной проблемой. Например, в модели угроз, разработанной в Сбере, такая угроза считается одной из ключевых.
Кроме того, по данным CodeScoring, в каждом третьем случае ИИ-ассистенты воспроизводят уязвимости в коде. Таким образом, надежды на то, что генеративные инструменты смогут автоматически находить и устранять уязвимости, не оправдались. Более того, как подчеркнул Алексей Смирнов, накопленный опыт показывает, что применение генеративного ИИ затрудняет работу статических анализаторов кода.