Галюцинації штучного інтелекту становлять нову загрозу для ланцюжка поставок програмного забезпечення

У новій жахливій розробці для розробників і організацій, які покладаються на штучний інтелект для кодування, дослідники виявили нову загрозу для ланцюга поставок, яку створюють галюцинації ШІ в моделях генерації коду. Цей новий вектор атаки, який отримав назву slopsquatting , може дозволити зловмисникам проникнути в екосистеми програмного забезпечення, скориставшись фіктивними пакетами, створеними Large Language Models (LLM).
Небезпека полягає в тому, що LLM часто «галюцинують» пакети, пропонуючи або вставляючи посилання на залежності програмного забезпечення, яких просто не існує. У дослідженні, проведеному спільно Техаським університетом у Сан-Антоніо, Університетом Оклахоми та Virginia Tech, було виявлено, що жоден із 16 популярних тестованих LLM не був захищений від цього явища.
Зміст
Що таке слопсквотінг і як він працює?
Slopsquatting використовує цей недолік галюцинацій і перетворює його на зброю. Коли LLM пропонує неіснуючий пакет під час створення коду, кіберзлочинці можуть швидко зареєструвати шкідливий пакет під таким іменем. Після публікації будь-який розробник, який приймає згенерований ШІ код за чисту монету, може несвідомо імпортувати та запустити шкідливий пакет. Це не тільки ставить під загрозу окремий проект, але й може поширюватися на весь ланцюжок постачання програмного забезпечення, якщо заражений код повторно використовуватиметься або поширюватиметься.
Дослідження показало, що з 2,23 мільйона пакетів, згенерованих за сценаріями тестування на Python і JavaScript, майже 440 000, або близько 19,7%, були галюцинаціями. З них приголомшливі 205 474 були унікальними вигаданими іменами пакетів. Більшість галюцинованих пакунків — 81% — були унікальними для конкретної моделі, яка їх створила, що вказувало на неузгоджену поведінку в різних LLM.
Комерційні моделі штучного інтелекту викликали галюцинації пакетів принаймні в 5,2% випадків, тоді як моделі з відкритим кодом показали значно гірші показники галюцинацій у 21,7%. Викликає тривогу те, що ці помилки не були просто випадковими випадками. Більше половини галюцинованих пакунків (58%) повторювалися лише протягом 10 ітерацій, демонструючи чітку тенденцію до стійкості.
Зростаючий ризик коду, згенерованого ШІ, у розробці програмного забезпечення
У той час як попередні дослідження визнавали загрозу typosquatting, коли зловмисники використовують неправильно введені або оманливі назви пакетів, ця нова атака slopsquatting представляє недооцінений і потенційно набагато небезпечніший варіант. На відміну від typosquatting, який полює на людські помилки, slopskvotting використовує сприйманий авторитет і надійність коду, згенерованого ШІ.
Можливо, найцікавішим — і не менш тривожним — дослідники виявили, що LLMs здатні розпізнавати багато власних галюцинацій. Це говорить про невикористаний потенціал саморегуляції, який може бути використаний у майбутніх механізмах безпеки. Він також натякає на можливість розгортання інструментів виявлення в моделі, щоб запобігти розповсюдженню помилкового чи небезпечного коду.
Як розробники можуть захистити від галюцинацій пакетів AI
Щоб протистояти загрозі, дослідники пропонують низку засобів пом’якшення. До них належать вдосконалені методи оперативного проектування, такі як Retrieval Augmented Generation (RAG), швидке налаштування та самопокращення. Що стосується розробки моделі, такі стратегії, як точне налаштування під наглядом і вдосконалені алгоритми декодування, можуть допомогти зменшити рівень галюцинацій.
Оскільки генеративний штучний інтелект продовжує трансформувати розробку програмного забезпечення, це дослідження є яскравим нагадуванням про те, що зручність може коштувати дорого. Розробники повинні залишатися пильними та критично ставитися до коду, створеного ШІ, особливо коли йдеться про керування залежностями. Інтеграція інструментів статичного аналізу та перевірки вручну перед установкою будь-яких рекомендованих пакетів зараз важливіша, ніж будь-коли.
Ландшафт загроз стрімко змінюється, і, як показує це дослідження, також повинні розвиватися наші засоби захисту. Те, що колись здавалося науковою фантастикою — штучний інтелект, який уявляє програмне забезпечення, якого не існує, — стало дуже реальною проблемою кібербезпеки з широкомасштабними наслідками.