Операция выполнена!
Закрыть

Код, созданный искусственным интеллектом, регулярно содержит ссылки на несуществующие сторонние библиотеки, что открывает возможности для атак на цепочку поставок программного обеспечения. К такому выводу пришли исследователи из Университета Техаса в Сан-Антонио, чья работа будет представлена на симпозиуме USENIX Security Symposium. Учёные проанализировали 576 тыс. образцов кода, сгенерированных 16 популярными языковыми моделями, включая OpenAI и открытые решения. В 19,7% случаев зависимости (сторонние компоненты, необходимые для работы кода) оказались «галлюцинациями» — пакетами, которых не существует в публичных репозиториях.

Особую опасность такие ошибки представляют из-за повторяемости: 43% «галлюцинированных» названий появлялись в более чем 10 запросах, а 58% — повторялись хотя бы раз в 10 итерациях. Это позволяет злоумышленникам предсказуемо создавать вредоносные пакеты с такими именами и внедрять их в легитимные программы. Как объяснил ведущий автор исследования Джозеф Спраклен, если разработчик установит поддельную зависимость, то код злоумышленника выполнится на его системе, что может привести к утечке данных или установке бэкдоров.

Иллюстрация: Leonardo

Наиболее уязвимыми оказались открытые модели, такие как CodeLlama и DeepSeek, — они «галлюцинировали» в 22% случаев против 5% у коммерческих аналогов. Учёные связывают это с размером моделей: коммерческие решения, такие как ChatGPT, имеют в 10 раз больше параметров, что улучшает точность. При этом в рамках открытых моделей разница в размере не влияла на частоту ошибок, что указывает на роль других факторов: обучающих данных, тонкой настройки и механизмов безопасности.

Язык программирования также имел значение: JavaScript-код содержал 21% несуществующих зависимостей против 16% у Python. Исследователи предполагают, что причина — в 10-кратном превосходстве экосистемы JavaScript по числу пакетов и сложности неймспейсов, что затрудняет точное воспроизведение названий.

Проблема усугубляет риски «подмены зависимостей» — атак, при которых злоумышленник публикует вредоносный пакет с именем, совпадающим с легитимным, но более новой версией. В 2021 году подобная техника использовалась против Apple, Microsoft и Tesla. С ростом популярности ИИ-генераторов кода, по прогнозам Microsoft CTO Кевина Скотта, к 2030 году 95% программ может создаваться с их помощью, что увеличит масштаб угрозы.

«Галлюцинации в LLM — это не случайные ошибки, а системная уязвимость, — подчеркнул Спраклен. — Разработчикам критически важно проверять каждую зависимость, даже если её предложил ИИ». Исследователи призвали сообщество усилить механизмы верификации кода и разработать инструменты для автоматического обнаружения «галлюцинированных» пакетов, чтобы снизить риски для всей экосистемы разработки.

Читайте также
СТАТЬ АВТОРОМ
ЛЕНТА

ПИШИТЕ

Техническая поддержка проекта ВсеТут

info@vsetut.pro