Slopsquatting и supply chain для ИИ
Supply chain для ИИ шире, чем pip install. Это npm/PyPI-пакеты из сгенерированного кода, веса моделей с Hugging Face, MCP-серверы, датасеты для fine-tuning и ИИ-сканеры в CI, которые атакующие научились обходить. OWASP — LLM03, LLM04; обзор — статья 1.
Slopsquatting (галлюцинации пакетов)
Slopsquatting — атака на доверие к коду от LLM.
- Разработчик просит ChatGPT/Copilot написать скрипт.
- Модель придумывает имя библиотеки (
fastapi-auth-utils,pandas-ml-helper) — пакета не существует. - Хакер заранее зарегистрировал это имя в PyPI/npm с malware.
- Разработчик копирует код →
pip install→ заражение.
Защита
| Мера | Действие |
|---|---|
| Проверка | Пакет существует? Автор легитимен? Звёзды, возраст, downloads |
| Lock-файлы | package-lock.json, poetry.lock, requirements.txt с хешами |
pip install --require-hashes | Только фиксированные артефакты |
| Не слепое копирование | Code review сгенерированного import |
| Сканеры | Socket, Snyk, npm audit, Dependabot |
См. генерацию кода и заботу о коде.
Отравленные модели (Poisoned Models)
На Hugging Face и зеркалах публикуют популярные fine-tune варианты Llama, Mistral с бэкдором в весах:
- модель ведёт себя нормально;
- при тригере (секретная фраза в промпте) — вредоносный вывод или утечка.
Защита:
- скачивать только от верифицированных org/user;
- сверять хеш файлов;
- предпочитать
.safetensorsвместо произвольных бинарников.
Pickle и произвольный код при загрузке
Формат Pickle (.pkl) и некоторые legacy-сериализации выполняют код при pickle.load() / torch.load().
| Формат | Риск RCE при загрузке |
|---|---|
.pkl, старые .bin | Высокий |
.safetensors | Низкий (только тензоры) |
| ONNX с проверкой | Средний — смотреть провайдера |
Правило: не загружать веса из неизвестных источников на машину с prod-доступом.
Отравление данных (Data Poisoning)
Атака на обучение / fine-tuning / RAG index:
- спам с "белым" логотипом → модератор пропускает спам с этим логотипом;
- ложные факты в wiki → бот цитирует их как истину.
Защита: provenance, human review ingestion, мониторинг аномалий — RAG security.
Обход ИИ-сканеров в репозиториях пакетов
Кампании в PyPI (и аналоги): в начало файла кладут комментарии с темами WMD / биологического оружия. ИИ-сканер платформы отказывается анализировать файл по этике; ошибка трактуется как сбой проверки, пакет проходит в каталог.
Урок: ИИ-malware scan — дополнение, не замена:
- сигнатурный AV;
- reputation автора;
- песочница выполнения;
- ручной триаж подозрительных публикаций.
Подробнее — обзор атаки Socket в статье 1.
MCP и npm в цепочке ИИ
- Malicious MCP в туториалах — typosquatting имён серверов.
- Зависимости MCP-серверов — обычный npm supply chain.
Ревью mcp.json и lock-файлов — как для приложения. См. Безопасность MCP.
Чек-лист CI/CD
- Lock-файлы обязательны; CI падает при незакреплённых версиях
- Скан зависимостей (Snyk, Socket, OSV)
- Запрет
torch.loadна untrusted файлах без sandbox - Модели только из allow-list репозиториев
- Нет слепого
pip installстрок из LLM-ответа в prod pipeline
Итоги
ИИ ускоряет supply chain атаки — от выдуманных пакетов до отравленных весов. Дисциплина та же, что в классическом DevSecOps, плюс недоверие к галлюцинациям модели. Тестирование — Red team; OWASP — глава 2.