Распространенные галлюцинации LLM расширяют поверхность атаки разработчиков кода

Распространенные галлюцинации LLM расширяют поверхность атаки разработчиков кода

Распространенные галлюцинации LLM расширяют поверхность атаки разработчиков кода. Разведка данных PlatoBlockchain. Вертикальный поиск. Ай.

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

Исследование, проведенное поставщиком систем безопасности LLM Lasso Security, является продолжением прошлогоднего отчета о потенциале злоумышленники злоупотребляют склонностью студентов-магистров к галлюцинациямили генерировать кажущиеся правдоподобными, но не обоснованные фактически результаты в ответ на ввод пользователя.

Галлюцинация пакета ИИ

Ассоциация Предыдущее исследование сосредоточился на склонности ChatGPT фабриковать имена библиотек кода — среди других фабрикаций — когда разработчики программного обеспечения обращались за помощью к чат-боту с поддержкой искусственного интеллекта в среде разработки. Другими словами, чат-бот иногда выдавал ссылки на несуществующие пакеты в общедоступных репозиториях кода, когда разработчик мог попросить его предложить пакеты для использования в проекте.

Исследователь безопасности Бар Ланьядо, автор исследования и сейчас работающий в Lasso Security, обнаружил, что злоумышленники могут легко разместить реальный вредоносный пакет в том месте, на которое указывает ChatGPT, и дать ему то же имя, что и у галлюцинированного пакета. Любой разработчик, который загружает пакет по рекомендации ChatGPT, может в конечном итоге добавить вредоносное ПО в свою среду разработки.

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

Для тестов Ланьядо составил список из тысяч вопросов «как сделать», на которые разработчики в разных средах программирования — python, node.js, go, .net, Ruby — чаще всего обращаются за помощью к LLM в средах разработки. Затем Ланьядо задал каждой модели вопрос, связанный с кодированием, а также порекомендовал пакет, связанный с этим вопросом. Он также попросил каждую модель порекомендовать еще 10 пакетов для решения той же проблемы.

Повторяющиеся результаты

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

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

Ланьядо говорит, что даже если разные разработчики задали LLM вопрос по одной и той же теме, но составили вопросы по-разному, существует вероятность, что LLM порекомендует один и тот же галлюцинаторный пакет в каждом случае. Другими словами, любой разработчик, использующий LLM для помощи в кодировании, скорее всего, столкнется со многими одними и теми же призрачными пакетами.

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

Легко использовать

Например, злоумышленник, вооружившись именами нескольких призрачных пакетов, может загрузить пакеты с такими же именами в соответствующие репозитории, зная, что существует большая вероятность, что LLM укажет на них разработчикам. Чтобы продемонстрировать, что угроза не является теоретической, Ланьядо взял один галлюцинированный пакет под названием «huggingface-cli», с которым он столкнулся во время своих тестов, и загрузил пустой пакет с таким же именем в репозиторий Hugging Face для моделей машинного обучения. По его словам, разработчики загрузили этот пакет более 32,000 XNUMX раз.

С точки зрения злоумышленника, галлюцинации пакетов представляют собой относительно простой вектор распространения вредоносного ПО. «Как мы [увидели] из результатов исследования, это не так уж и сложно», — говорит он. В среднем у всех моделей галлюцинации возникали в 35% случаев на почти 48,000 3.5 вопросов, добавляет Ланьядо. У GPT-18 был самый низкий процент галлюцинаций; Gemini набрал самый высокий балл со средней повторяемостью XNUMX% для всех четырех моделей, отмечает он.

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

Отметка времени:

Больше от Темное чтение