# LLM04 Отравление данных и модели (Data and Model Poisoning)

> Перевод OWASP Top 10 for LLM Applications 2025 (OWASP GenAI Security Project), лицензия CC BY-SA 4.0. Перевод неофициальный.

- Канонический HTML: [/owasp-llm-top-10/llm04](https://ai-first.tech/owasp-llm-top-10/llm04)
- Язык: русский
- Редакционный принцип: защитный контекст без вредоносных полезных нагрузок и инструкций обхода.

## LLM04 Отравление данных и модели (Data and Model Poisoning)

Отравление данных (data poisoning) происходит, когда данные для предварительного обучения, дообучения или построения эмбеддингов подвергаются манипуляциям с целью внедрения уязвимостей, бэкдоров или искажений (biases). Такие манипуляции могут подорвать безопасность модели, ее производительность или этичность поведения, приводя к вредным результатам или ухудшению возможностей. Типичные риски — снижение качества работы модели, предвзятый или токсичный контент и эксплуатация зависимых (downstream) систем.

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

Кроме того, модели, распространяемые через общие репозитории или платформы с открытым исходным кодом, могут нести риски помимо отравления данных — например, вредоносное ПО, внедренное с помощью таких методов, как вредоносная сериализация pickle (malicious pickling), которое может выполнить вредоносный код при загрузке модели. Следует также учитывать, что отравление может позволить внедрить бэкдор. Такие бэкдоры могут никак не влиять на поведение модели до тех пор, пока определенный триггер не изменит его. Это может сильно затруднить тестирование и обнаружение подобных изменений, по сути создавая возможность превращения модели в «спящего агента» (sleeper agent).

### Типовые примеры

- 1. Злоумышленники вносят вредные данные в процессе обучения, что приводит к предвзятым результатам. Для этого используются особенности динамики обучения модели, например методы Split-View Data Poisoning и Frontrunning Poisoning (см.: Split-View Data Poisoning, https://github.com/GangGreenTemperTatum/speaking/blob/aad68f8521119596abb567d94fbd10bdd652ac82/docs/conferences/dc604/hacker-summer-camp-23/Ads%20_%20Poisoning%20Web%20Training%20Datasets%20_%20Flow%20Diagram%20-%20Exploit%201%20Split-View%20Data%20Poisoning.jpeg; Frontrunning Poisoning, https://github.com/GangGreenTemperTatum/speaking/blob/aad68f8521119596abb567d94fbd10bdd652ac82/docs/conferences/dc604/hacker-summer-camp-23/Ads%20_%20Poisoning%20Web%20Training%20Datasets%20_%20Flow%20Diagram%20-%20Exploit%202%20Frontrunning%20Data%20Poisoning.jpeg).
- 2. Атакующие могут внедрять вредный контент непосредственно в процесс обучения, ухудшая качество выходных данных модели.
- 3. Пользователи в ходе взаимодействия неосознанно вводят конфиденциальную или проприетарную информацию, которая может быть раскрыта в последующих ответах.
- 4. Непроверенные обучающие данные повышают риск предвзятых или ошибочных результатов.
- 5. Отсутствие ограничений доступа к ресурсам может позволить загрузку небезопасных данных, что приводит к предвзятым результатам.

### Меры предотвращения

- 1. Отслеживайте происхождение данных и их преобразования с помощью таких инструментов, как OWASP CycloneDX или ML-BOM, и используйте инструменты вроде Dyana (https://github.com/dreadnode/dyana) для динамического анализа стороннего ПО. Проверяйте легитимность данных на всех этапах разработки модели.
- 2. Тщательно проверяйте поставщиков данных и сверяйте выходные данные модели с доверенными источниками, чтобы выявлять признаки отравления.
- 3. Применяйте строгую изоляцию (sandboxing), чтобы ограничить доступ модели к непроверенным источникам данных. Используйте методы обнаружения аномалий для отсеивания состязательных (adversarial) данных.
- 4. Адаптируйте модели к разным сценариям использования, применяя для дообучения специализированные наборы данных. Это помогает получать более точные результаты в соответствии с поставленными целями.
- 5. Обеспечьте достаточные меры контроля на уровне инфраструктуры, чтобы модель не могла обращаться к непредусмотренным источникам данных.
- 6. Используйте системы контроля версий данных (data version control, DVC) для отслеживания изменений в наборах данных и выявления манипуляций. Версионирование критически важно для поддержания целостности модели.
- 7. Храните информацию, предоставленную пользователями, в векторной базе данных, что позволяет вносить корректировки без повторного обучения всей модели.
- 8. Проверяйте устойчивость модели с помощью кампаний red team и состязательных методов, например федеративного обучения, чтобы минимизировать влияние искажений данных.
- 9. Отслеживайте функцию потерь при обучении (training loss) и анализируйте поведение модели на предмет признаков отравления. Используйте пороговые значения для обнаружения аномальных выходных данных.
- 10. На этапе инференса применяйте генерацию с дополненной выборкой (RAG) и методы заземления (grounding), чтобы снизить риск галлюцинаций.

### Сценарии атак

- Сценарий 1. Атакующий искажает выходные данные модели, манипулируя обучающими данными или используя методы внедрения инструкций, и тем самым распространяет дезинформацию.
- Сценарий 2. Токсичные данные без надлежащей фильтрации могут приводить к вредным или предвзятым результатам и распространению опасной информации.
- Сценарий 3. Злоумышленник или конкурент создает фальсифицированные документы для обучения, в результате чего выходные данные модели отражают эти неточности.
- Сценарий 4. Недостаточная фильтрация позволяет атакующему внедрить вводящие в заблуждение данные с помощью внедрения инструкций, что приводит к искаженным результатам.
- Сценарий 5. Атакующий с помощью методов отравления внедряет в модель триггер бэкдора. Это может открыть возможность обхода аутентификации, эксфильтрации данных или скрытого выполнения команд.
