- BrainTools - https://www.braintools.ru -

Фантазии LLM воплощаются в реальности — фальшивые опенсорсные библиотеки

Использование галлюцинаций LLM для распространения вредоносного кода через опенсорсные репозитории

Использование галлюцинаций LLM для распространения вредоносного кода через опенсорсные репозитории

В результате галлюцинаций чатботов в интернете возникли потоки трафика к несуществующим сайтам в поиске выдуманных вещей. Некоторые разработчики, столкнувшись с таким запросом, предпочитают действительно выкатить функции, которые придумала нейросеть, как сделал разработчик сканера нот Soundslice [1], куда пошёл большой поток пользователей по выдуманному совету LLM, будто бы сервис умеет генерировать ноты из текстового файла с разметкой Markdown. Теперь действительно умеет [2].

Пример галлюцинации ChatGPT, которую воплотил разработчик

Пример галлюцинации ChatGPT, которую воплотил разработчик

На первый взгляд кажется, что разработчик «исполнил волю ИИ» и сделал то, что должен был сделать раньше. Но на самом деле он использовал несовершенство программного обеспечения ML на пользу людям.

То же самое происходит в опенсорсе, где LLM придумывает названия несуществующих библиотек и предлагает вайбкодерам скачать эти пакеты. Если есть спрос — возникнет и предложение. Вскоре такие библиотеки действительно появляются в реальности [3], но уже с вредоносным кодом.

Так реагируют злоумышленники, которые специализируются на атаках типа supply chain в программном обеспечении. В марте 2025 года стало известно о новой атаке типа slopsquatting (слопсквоттинг), которая заключается в создании вредоносных опенсорсных пакетов и библиотек, сгаллюцинированных в LLM. Специалисты из Техасского университета в Сан-Антонио и Оклахомского университета (США) описали суть атаки в научной статье [3], которая опубликована на сайте препринтов arXiv.org с идентификатором arXiv:2406.10279v3.

Слопсквоттинг

Термин «слопсквоттинг» придумал Сет Ларсон , специалист по безопасности Python Software Foundation, по аналогии с тайпсквоттингом — захватом доменных имён, куда пользователи ошибочно заходят в результате опечаток.

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

Тесты показали, что значительное количество рекомендованных опенсорсных библиотек в сгенерированном коде являются поддельными.

Галлюцинации LLM

Атака начинается с изучения галлюцинаций. Хотя научное исследование проводилось в начале 2025 года и последние модели не вошли в него, уровень галлюцинаций остался примерно на том же уровне, а в некоторых случаях даже вырос, так что выводы из статьи применимы также к новым версиям.

Уровень галлюцинаций на Python и JavaScript

Уровень галлюцинаций на Python и JavaScript

Для промтов, которые имеют отношение к более свежей информации (за последний год) уровень галлюцинаций примерно на 10% выше:

Фантазии LLM воплощаются в реальности — фальшивые опенсорсные библиотеки - 4

Естественно, количество фантазий зависит от установленной температуры:

Фантазии LLM воплощаются в реальности — фальшивые опенсорсные библиотеки - 5

Более многословные модели, которые предлагают много вариантов библиотек, проявляют и более высокий уровень галлюцинаций, что проявляется в большем количестве вымышленных опенсорсных пакетов:

Фантазии LLM воплощаются в реальности — фальшивые опенсорсные библиотеки - 6

Выдуманные галлюцинации опенсорсных пакетов особенно опасны, поскольку они стойкие повторяющиеся и правдоподобные. Когда исследователи повторно запустили 500 запросов, которые ранее приводили к галлюцинациям, то 43% галлюцинаций появлялись в каждом из десяти последовательных запусков, а 58% — более чем в одном.

Фантазии LLM воплощаются в реальности — фальшивые опенсорсные библиотеки - 7

Такая устойчивость указывает на то, что большинство галлюцинаций — не просто случайный шум, а повторяемые артефакты того, как модели реагируют на определённые запросы. Это повышает их ценность для злоумышленников. Исследователи отмечают «семантическую убедительность» вымышленных названий пакетов: 38% демонстрируют аналогичную структуру именования. Только 13% галлюцинаций были простыми опечатками на одну позицию.

Исходный код для повторения [4] тестов доступен в репозитории на Github [5]:

.
├── run_test.py                 # Runs a full hallucination detection experiment
├── Models/                     # Place tested models here (one default model included)
├── Data/                       # Prompt datasets & per-language resources
│   ├── Python/
│   │   ├── LLM_AT.json
│   │   ├── LLM_LY.json
│   │   ├── SO_AT.json
│   │   └── SO_LY.json
│   └── JavaScript/
│       ├── LLM_AT.json
│       ├── LLM_LY.json
│       ├── SO_AT.json
│       └── SO_LY.json
├── Tests/                      # Output directory for experiment results (starts empty)
├── Mitigation/                 # Mitigation experiments
│   ├── run_model_RAG.py
│   ├── run_model_SD.py
│   ├── run_model_combined.py
│   ├── Data/                   # RAG DB + build data
│   ├── Fine_tuned/             # Fine-tuned & quantized models used in mitigation testing
│   └── RAG_setup.py            # Builds the vector DB from Mitigation/Data
├── Plots/                      # Code and data to reproduce paper figures
├── environment.yml             # Conda environment
├── requirements.txt            # (Optional) pip dependencies
└── README.md`

Защита

В качестве мер защиты специалисты рекомендуют несколько стратегий, в том числе использование RAG, самопроверку кода и файнтюнинг.

Эффективность защитных мер

В таблице показано, насколько уменьшается уровень галлюцинаций после применения разных способов защиты.

DeepSeek

CodeLlama

База (без защиты)

51,4%

19,6%

RAG

25,3%

16,4%

Самоулучшение

51,4%

19,6%

Файнтюнинг

51,4%

19,6%

Цепочка из всех методов

51,4%

19,6%

В целом все реализованные стратегии привели к снижению частоты галлюцинаций. Наиболее эффективны RAG и файнтюнинг, особенно для модели DeepSeek, где галлюцинации сократились на 83%.

К сожалению, с уменьшением уровня галлюцинаций упало качество кода:

Качество кода после файнтюнинга

DeepSeek

CodeLlama

Оригинальная модель, один проход

51,4%

19,6%

Модель после файнтюнинга, один проход

25,3%

16,4%

Выводы

По результатам исследования 19,7% предложенных пакетов оказались фиктивными. По мнению авторов научной работы, атаки с подменой пакетов представляют критическую угрозу для безопасности ПО. Необходимы дальнейшие исследования и разработка новых методов файнтюнинга, которые сохранят высокое качество кода, уменьшив уровень галлюцинаций.

Автор: GlobalSign_admin

Источник [6]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/19493

URLs in this post:

[1] как сделал разработчик сканера нот Soundslice: https://www.holovaty.com/writing/chatgpt-fake-feature/

[2] действительно умеет: https://www.soundslice.com/help/en/creating/importing/331/ascii-tab/

[3] действительно появляются в реальности: https://www.csoonline.com/article/3961304/ai-hallucinations-lead-to-new-cyber-threat-slopsquatting.html

[4] повторения: http://www.braintools.ru/article/4012

[5] репозитории на Github: https://github.com/Spracks/PackageHallucination

[6] Источник: https://habr.com/ru/companies/globalsign/articles/946872/?utm_source=habrahabr&utm_medium=rss&utm_campaign=946872

www.BrainTools.ru

Rambler's Top100