Халюцинациите на пакетите представляват често срещан проблем в генериращите кодове големи езикови модели (LLM), който отваря вратата за нов вид атака по веригата за доставки, предупреждават изследователи от три американски университета.
Пакетната халюцинация, наричана „slopsquatting“, възниква, когато кодът, генериран от LLM, препоръчва или препраща към фиктивен пакет.
Изследователите от Тексаския университет в Сан Антонио, Университета на Оклахома и Техническия университет на Вирджиния предупреждават, че заплахи могат да се възползват от това, като публикуват злонамерени пакети с халюцинирани имена.
„Тъй като впоследствие на други нищо неподозиращи и доверяващи се на LLM потребители се препоръчва същият фиктивен пакет в генерирания от тях код, те в крайна сметка изтеглят създадения от противника зловреден пакет, което води до успешен компромат“, обясняват учените в наскоро публикуван изследователски документ.
Смятано за разновидност на класическата атака за объркване на пакети, slopsquatting може да доведе до компрометиране на цяла кодова база или верига от софтуерни зависимости, тъй като всеки код, разчитащ на злонамерения пакет, може да се окаже заразен.
Учените показват, че от 16 популярни LLM за генериране на код, нито един не е свободен от халюцинация на пакети. Като цяло те са генерирали 205 474 уникални фиктивни имена на пакети. Повечето от халюцинираните пакети (81%) са били уникални за модела, който ги е генерирал.
При комерсиалните модели халюцинираните пакети са се появили в поне 5,2 % от случаите, а при моделите с отворен код процентът е скочил до 21,7 %. Тези халюцинации често са устойчиви в рамките на един и същ модел, тъй като 58 % от тях се повтарят в рамките на 10 итерации.
Учените също така предупреждават, че макар рискът LLM да препоръчват злонамерени или типизирани пакети да е бил документиран и преди, той е бил считан за нисък и че концепцията за халюцинации на пакетите не е била разглеждана. С бързото развитие на Gen-AI рисковете, свързани с използването му, също са се увеличили.
Изследователите са провели 30 теста (16 за Python и 14 за JavaScript), за да получат общо 576 000 образци на код. По време на оценяването моделите бяха подканени два пъти за имена на пакети, което доведе до общо 1 152 000 подканяния за пакети.
„Тези 30 теста генерираха общо 2,23 милиона пакета в отговор на нашите подсказки, от които 440 445 (19,7%) бяха определени като халюцинации, включително 205 474 уникални несъществуващи пакета“, отбелязват учените.
Учените откриват също така, че моделите са в състояние да открият повечето от собствените си халюцинации, което би означавало, че „специфичните модели на грешки на всеки модел са откриваеми от същите механизми, които ги генерират, което предполага присъща способност за саморегулиране“.
За смекчаване на халюцинациите на пакетите изследователите предлагат методи за инженеринг на подсказките, като например Retrieval Augmented Generation (RAG), самоусъвършенстване и подсказкова настройка, заедно с техники за разработване на модели, като стратегии за декодиране или контролирана фина настройка на LLM.









