Новый вектор атаки - использование ИИ для внедрения вредоносного кода
Галлюцинации ИИ
Исследователи от Vulcan Cyber опубликовали в своем блоге 6 июня 2023 года материал о новом методе распространения вредоносных пакетов, названном "пакеты ИИ-галлюцинации". Этот метод основан на том, что иногда ChatGPT и другие искусственные интеллектуальные платформы отвечают на запросы пользователей созданными ими ссылками, источниками, блогами и статистикой.
Большие языковые модели, такие как ChatGPT, могут создавать подобные галлюцинации - URL, ссылки и даже целые фрагменты кода и функции, которые на самом деле не существуют. Исследователи утверждают, что ChatGPT даже предлагает сомнительные исправления для уязвимостей и может предоставлять ссылки на несуществующие библиотеки кода.
ИИ выдумывает несуществующие программные пакеты
Готовность искусственного интеллекта (ИИ) создавать ссылки на несуществующие судебные дела уже хорошо известна, и это вызывает беспокойство среди адвокатов, которые не осведомлены об этой тенденции. Теперь выясняется, что генеративные модели ИИ будут делать то же самое с программными пакетами.
Для проверки этого предположения компания Lasso Security провела исследование. С использованием тысяч вопросов о том, "как сделать", Бар Ланьядо опросил четыре модели ИИ (GPT-3.5-Turbo, GPT-4, Gemini Pro aka Bard и Cohere Command) относительно задач программирования на пяти различных языках программирования (Python, Node.js, Go, .Net и Ruby), каждый из которых имеет свою собственную систему упаковки.
Обнаружение уязвимости
Оказалось, что некоторые имена, которые эти чат-боты извлекают, сохраняются, причем это наблюдается в различных моделях. Постоянство в повторении вымышленного имени - это ключевой момент, который превращает каприз ИИ в функциональную атаку. Злоумышленнику нужно, чтобы модель ИИ использовала названия галлюцинированных пакетов в своих ответах пользователям, чтобы вредоносные программы, созданные под этими именами, могли быть найдены и загружены.
Ланьядо случайным образом выбрал 20 вопросов для генерации галлюцинаций, которые привели к нулевым результатам, и задал каждый из них 100 раз каждой модели. Его целью было оценить, насколько часто название галлюцинирующего пакета оставалось неизменным. Результаты его теста показали, что названия довольно часто сохраняются, что делает это функциональным вектором атаки, хотя не всегда, и чаще всего в некоторых упаковочных экосистемах, чем в других.
По словам Ланьядо, в GPT-4 24,2% ответов на вопросы привели к появлению галлюцинаций, из которых 19,6% были повторяющимися. В таблице, предоставленной изданию The Register, приведена более подробная разбивка ответов на GPT-4. В GPT-3.5 22,2% ответов на вопросы вызывали галлюцинации, а 13,6% повторялись. Для Gemini 64,5% вопросов вызывали выдуманные имена, из которых 14% повторялись. А в Cohere 29,1% галлюцинаций и 24,2% повторов.
Бар Ланьядо из компании Lasso Security создал несуществующую библиотеку для Python, huggingface-cli, обнаружив, что модели искусственного интеллекта "галлюцинируют" это имя при запросах пользователей. Проведенный эксперимент показал, что крупные компании, включая Alibaba, Tencent и Baidu, включили этот несуществующий пакет в свою документацию.
Искусственный интеллект советует скачивать поддельные пакеты
Huggingface-cli получил значительное количество загрузок, хотя был фальшивым пакетом, распространяемым через индекс пакетов Python (PyPI). Несмотря на отсутствие реальной атаки на компании, некоторые из них использовали или рекомендовали этот пакет в своих репозиториях. Это указывает на потенциальную новую угрозу для разработчиков.
Новая угроза для разработчиков
Ситуация выявила новую возможность взлома, где искусственный интеллект может рекомендовать программистам несуществующие пакеты, созданные злоумышленниками. Это может привести к тому, что вредоносные пакеты могут попасть на устройства разработчиков через системы искусственного интеллекта.
Причины галлюцинаций
Галлюцинации могут быть вызваны различными причинами, включая анпример ошибками в алгоритмах обработки данных, переобучением моделей, неправильной интерпретацией шума как сигнала, недостаточной обработкой данных и архитектурными особенностями моделей. Ошибка в алгоритмах или переобучение может привести к генерации ложных сигналов, а недостаточная обработка данных или неправильная интерпретация шума могут привести к восприятию несуществующих шаблонов. В целом, контроль качества данных, тщательный процесс обучения и выбор подходящей архитектуры модели помогают предотвратить галлюцинации в ИИ.