Інформація про дані Платона.
Вертикальний пошук і штучний інтелект.

Поширені галюцинації LLM Розгорніть поверхню атаки розробника коду

Дата:

Згідно з нещодавно оприлюдненим дослідженням, використання розробниками програмного забезпечення великих мовних моделей (LLM) дає зловмисникам більше можливостей, ніж вважалося раніше, для поширення шкідливих пакетів у середовищах розробки.

Дослідження постачальника безпеки LLM Lasso Security є продовженням минулорічного звіту про потенціал для нападники зловживали схильністю LLM до галюцинацій, або генерувати результати, які виглядають правдоподібними, але не обґрунтованими фактами, у відповідь на введення користувача.

AI Package Галюцинація

Команда Попереднє дослідження зосереджено на тенденції ChatGPT вигадувати назви бібліотек коду — серед інших вигадок — коли розробники програмного забезпечення звернулися за допомогою до чат-бота з підтримкою ШІ в середовищі розробки. Іншими словами, чат-бот іноді викидав посилання на неіснуючі пакети в загальнодоступних сховищах коду, коли розробник міг попросити його запропонувати пакети для використання в проекті.

Дослідник безпеки Бар Ланьядо, автор дослідження, який зараз працює в Lasso Security, виявив, що зловмисники можуть легко скинути справжній шкідливий пакет у місці, на яке вказує ChatGPT, і дати йому те саме ім’я, що й галюцинований пакет. Будь-який розробник, який завантажить пакет на основі рекомендацій ChatGPT, може в кінцевому підсумку запровадити зловмисне програмне забезпечення у своє середовище розробки.

Ланьядо подальше дослідження досліджував поширеність проблеми галюцинації пакетів у чотирьох різних великих мовних моделях: GPT-3.5-Turbo, GPT-4, Gemini Pro (раніше Bard) і Coral (Cohere). Він також перевірив схильність кожної моделі генерувати галюциновані пакети різними мовами програмування та частоту, з якою вони генерували той самий галюцинований пакет.

Для тестів Ланьядо склав список із тисяч запитань «як це зробити», з якими розробники в різних середовищах програмування — python, node.js, go, .net, ruby ​​— найчастіше звертаються за допомогою до магістрів права в середовищах розробки. Потім Lanyado поставив кожній моделі питання, пов’язане з кодуванням, а також рекомендацію щодо пакета, пов’язаного з цим питанням. Він також попросив кожну модель порекомендувати ще 10 пакетів для вирішення тієї ж проблеми.

Повторювані результати

Результати були тривожними. Вражаючі 64.5% «розмов» Ланьядо з Близнюками породили галюцинаційні пакети. З Coral це число становило 29.1%; інші магістратури, такі як GPT-4 (24.2%) і GPT3.5 (22.5%), не досягли кращих результатів.

Коли Ланьядо поставив кожній моделі один і той самий набір запитань 100 разів, щоб побачити, як часто моделі будуть галюцинувати ті самі пакунки, він виявив, що частота повторень також викликала дивовижне ставлення. Cohere, наприклад, вивергав ті самі галюциновані пакети понад 24% часу; Chat GPT-3.5 і Gemini близько 14%, а GPT-4 на 20%. У кількох випадках різні моделі галюцинували однакові або схожі пакунки. Найбільша кількість таких моделей перехресних галюцинацій відбулася між GPT-3.5 і Gemini.

Ланьядо каже, що навіть якби різні розробники задали LLM запитання на ту саму тему, але по-різному сформулювали питання, існує ймовірність того, що LLM рекомендував би той самий галюцинований пакет у кожному випадку. Іншими словами, будь-який розробник, який використовує LLM для допомоги в кодуванні, швидше за все, зіткнеться з багатьма такими самими галюцинованими пакетами.

«Питання може бути зовсім іншим, але на подібну тему, і галюцинація все одно відбудеться, що зробить цю техніку дуже ефективною», — каже Ланьядо. «У поточному дослідженні ми отримали «повторювані пакети» для багатьох різних питань і предметів і навіть для різних моделей, що збільшує ймовірність використання цих галюцинованих пакетів».

Легко використовувати

Зловмисник, озброєний іменами кількох галюцинованих пакунків, наприклад, може завантажити пакунки з такими ж назвами у відповідні репозиторії, знаючи, що існує велика ймовірність того, що магістр права вкаже на це розробникам. Щоб продемонструвати, що загроза не є теоретичною, Ланьядо взяв один галюцинований пакет під назвою «huggingface-cli», з яким він зіткнувся під час своїх тестів, і завантажив порожній пакет із такою ж назвою в репозиторій Hugging Face для моделей машинного навчання. За його словами, розробники завантажили цей пакет понад 32,000 XNUMX разів.

З точки зору суб’єкта загрози, галюцинації пакетів пропонують відносно простий вектор розповсюдження зловмисного програмного забезпечення. «Як ми [побачили] з результатів дослідження, це не так вже й складно», — каже він. У середньому всі моделі разом галюцинували на 35% для майже 48,000 3.5 запитань, додає Ланьядо. GPT-18 мав найнижчий відсоток галюцинацій; Gemini отримав найвищий бал із середньою повторюваністю XNUMX% для всіх чотирьох моделей, зазначає він.

Ланьядо радить розробникам бути обережними, керуючись рекомендаціями пакетів від LLM, якщо вони не повністю впевнені в їх точності. Він також каже, що коли розробники стикаються з незнайомим пакетом з відкритим вихідним кодом, їм потрібно відвідати репозиторій пакетів і перевірити розмір спільноти, записи про технічне обслуговування, відомі вразливості та загальний рівень залучення. Розробники також повинні ретельно просканувати пакет, перш ніж вводити його в середовище розробки.

spot_img

Остання розвідка

spot_img

Зв'яжіться з нами!

Привіт! Чим я можу вам допомогти?