Перейти к основному содержимому

Slopsquatting и supply chain для ИИ

Разработчику Инженеру

Supply chain для ИИ шире, чем pip install. Это npm/PyPI-пакеты из сгенерированного кода, веса моделей с Hugging Face, MCP-серверы, датасеты для fine-tuning и ИИ-сканеры в CI, которые атакующие научились обходить. OWASP — LLM03, LLM04; обзор — статья 1.


Slopsquatting (галлюцинации пакетов)

Slopsquatting — атака на доверие к коду от LLM.

  1. Разработчик просит ChatGPT/Copilot написать скрипт.
  2. Модель придумывает имя библиотеки (fastapi-auth-utils, pandas-ml-helper) — пакета не существует.
  3. Хакер заранее зарегистрировал это имя в PyPI/npm с malware.
  4. Разработчик копирует код → 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.