Исследователи из компании Snyk обнаружили, что GitHub Copilot и похожие ИИ-помощники могут генерировать ошибочные результаты, если их базы уже содержат небезопасный код. Опасность заключается в том, что некоторые разработчики могут не замечать этой проблемы.
По мнению исследователей, GitHub Copilot может усугубить уязвимости в программном обеспечении из-за склонности генеративного ИИ-ассистента к копированию небезопасного кода.
Если разработчики вносят в GitHub код, имеющий проблемы с безопасностью или технические ошибки, то модель ИИ может поддаться теории «разбитых окон», черпая вдохновение из проблемного окружения.
По сути, если GitHub Copilot будет получать подсказки, содержащие уязвимый материал, то он научится воспроизводить этот материал в ответ на действия пользователя.
– Генеративные помощники ИИ по кодированию, такие как Copilot, на самом деле не понимают семантику кода и, как следствие, не могут ее оценивать, – говорится в исследовании.
По словам исследователей, неопытные или недобросовестные программисты могут начать вырабатывать «вредные» привычки, поскольку предложения кода Copilot усиливают ошибки или плохую практику разработчиков. Аналогичным образом Copilot может обнаружить шаблоны кодирования, которые, хотя и были приемлемы ранее, могли устареть и стать уязвимыми.
ИИ-помощники по кодированию также порождают культуру, в которой отсутствует надзор, говорится в исследовании. Это означает, что проблемный код может не проверяться и, следовательно, широко распространяться.