Согласно недавно опубликованному исследованию, использование разработчиками программного обеспечения больших языковых моделей (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, если они не полностью уверены в их точности. Он также говорит, что когда разработчики сталкиваются с незнакомым пакетом с открытым исходным кодом, им необходимо посетить репозиторий пакетов и изучить размер его сообщества, записи о его обслуживании, известные уязвимости и общий уровень вовлеченности. Разработчикам также следует тщательно сканировать пакет перед его внедрением в среду разработки.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- ПлатонЗдоровье. Биотехнологии и клинические исследования. Доступ здесь.
- Источник: https://www.darkreading.com/application-security/pervasive-llm-hallucinations-expand-code-developer-attack-surface
- :является
- :нет
- $UP
- 000
- 10
- 100
- 2%
- 22
- 24
- 29
- 32
- 35%
- 7
- a
- злоупотребление
- По
- точность
- через
- действующий
- фактического соединения
- Добавляет
- AI
- Все
- почти
- причислены
- среди
- an
- и
- любой
- соответствующий
- МЫ
- вооруженный
- около
- AS
- спросить
- Помощь
- At
- атаковать
- нападающий
- автор
- в среднем
- бар
- основанный
- BE
- до
- Лучшая
- между
- больший
- но
- под названием
- случаев
- осторожность
- чат
- Chatbot
- ChatGPT
- код
- Кодирование
- обычно
- сообщество
- скомпилированный
- полностью
- Беседы
- коралловый
- может
- проработаны
- Текущий
- демонстрировать
- Застройщик
- застройщиков
- Развитие
- А не было
- различный
- по-разному
- распространять
- распределительный
- скачанный
- загрузок
- Падение
- в течение
- каждый
- легко
- легко
- Эффективный
- столкновение
- конец
- обязательство
- Окружающая среда
- средах
- Даже
- исследовать
- Упражнение
- Расширьте
- Эксплуатировать
- Face
- несколько
- внимание
- Что касается
- раньше
- найденный
- 4
- частота
- часто
- от
- Gemini
- порождать
- генерируется
- Дайте
- Go
- хорошо
- заземленный
- было
- происходить
- Жесткий
- he
- помощь
- наивысший
- его
- Как
- How To
- HTTPS
- if
- in
- В других
- Увеличивает
- вход
- пример
- в
- введение
- IT
- ЕГО
- JPG
- знание
- известный
- язык
- Языки
- большой
- Фамилия
- В прошлом году
- изучение
- библиотеки
- такое как
- вероятность
- Вероятно
- связи
- Список
- LLM
- расположение
- низший
- машина
- обучение с помощью машины
- техническое обслуживание
- Создание
- злонамеренный
- вредоносных программ
- многих
- может быть
- модель
- Модели
- БОЛЕЕ
- самых
- много
- имя
- имена
- Необходимость
- сеть
- узел
- Node.js
- несуществующий
- Заметки
- сейчас
- номер
- произошло
- of
- предлагают
- on
- ONE
- открытый
- с открытым исходным кодом
- Возможность
- or
- Другое
- внешний
- за
- общий
- пакет
- пакеты
- процент
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- правдоподобный
- Точка
- пунктов
- потенциал
- разрабатывает
- предварительно
- Pro
- Проблема
- Программирование
- языки программирования
- Проект
- что такое варган?
- Питон
- вопрос
- Вопросы
- Обменный курс
- Стоимость
- получила
- недавно
- рекомендовать
- Рекомендация
- рекомендаций
- учет
- Связанный
- относительно
- выпустил
- повторяющийся
- отчету
- хранилище
- исследованиям
- исследователь
- ответ
- Итоги
- s
- то же
- видел
- говорит
- сканирование
- забил
- безопасность
- посмотреть
- Искать
- по-видимому
- набор
- несколько
- должен
- аналогичный
- Размер
- Software
- Разработчики программного обеспечения
- РЕШАТЬ
- иногда
- Источник
- точка зрения
- поразительный
- По-прежнему
- простой
- Кабинет
- предмет
- такие
- предлагать
- Предлагает
- Убедитесь
- Поверхность
- техника
- тенденция
- проверенный
- тестов
- чем
- который
- Ассоциация
- их
- тогда
- теоретический
- Там.
- Эти
- они
- этой
- тщательно
- мысль
- тысячи
- угроза
- время
- раз
- в
- вместе
- приняли
- тема
- ПОЛНОСТЬЮ
- тревожный
- незнакомый
- загружено
- использование
- используемый
- Информация о пользователе
- через
- продавец
- очень
- Войти
- Уязвимости
- законопроект
- we
- ЧТО Ж
- были
- когда
- который
- слова
- бы
- год
- зефирнет