# nullifAI: вредоносные модели на Hugging Face обошли сканер pickle-файлов

> ReversingLabs обнаружила на Hugging Face две модели, которые при загрузке открывали обратную оболочку (reverse shell) на машине пользователя. Модели обходили штатный сканер платформы за счёт нестандартного сжатия и намеренно повреждённой структуры pickle-файла. По оценке исследователей, это были проверочные образцы новой техники, но они оставались незамеченными более восьми месяцев.

- Канонический HTML: [/incidents/hugging-face-nullifai-malicious-models](https://ai-first.tech/incidents/hugging-face-nullifai-malicious-models)
- Язык: русский
- Редакционный принцип: защитный контекст без вредоносных полезных нагрузок и инструкций обхода.

- Дата: 2025-02-06
- Категория: Цепочка поставки
- Затронуто: Платформа Hugging Face Hub и пользователи, загружающие модели в формате PyTorch (pickle)
- Критичность: Средний

## Что произошло

20 января 2025 года ReversingLabs сообщила Hugging Face о двух вредоносных моделях в формате PyTorch. Вместо стандартного ZIP-архива модели были упакованы в 7z, из-за чего инструмент Picklescan не распознавал их как опасные. Кроме того, поток данных pickle был намеренно повреждён: сканер останавливался на ошибке, а интерпретатор Python успевал исполнить вредоносную часть до сбоя. Полезная нагрузка открывала обратную оболочку к жёстко заданному IP-адресу с учётом операционной системы. Hugging Face удалила модели в течение 24 часов и доработала Picklescan. Исследование опубликовано 6 февраля 2025 года.

## Где нарушилась защита

Формат pickle по своей природе позволяет выполнять произвольный код при загрузке, поэтому безопасность держится на внешнем сканировании. Граница доверия нарушилась из-за расхождения между тем, как файл разбирает сканер, и тем, как его исполняет Python: сканер считал повреждённый файл неопасным, а десериализатор выполнял команды до точки ошибки. Пользователь, загружающий модель из публичного хаба, по сути запускает непроверенный код.

## Последствия

- Две вредоносные модели были доступны для загрузки на Hugging Face более восьми месяцев
- При загрузке модели на машине пользователя открывалась обратная оболочка, дающая удалённый доступ
- Показана возможность обхода штатного сканера крупнейшей платформы моделей

## Реакция

Hugging Face удалила модели в течение суток после уведомления и обновила Picklescan для обнаружения повреждённых pickle-файлов. ReversingLabs опубликовала индикаторы компрометации.

## Уроки для бизнеса

- Файл модели — это потенциально исполняемый код, а не просто данные
- Отметка сканера платформы не гарантирует безопасность модели
- Загрузка моделей из публичных хабов требует такого же контроля, как установка программ
- Безопасные форматы хранения весов снижают целый класс рисков

## Меры защиты

- Использование формата safetensors и запрет загрузки pickle-моделей из непроверенных источников
- Внутренний реестр одобренных моделей с собственным сканированием перед допуском
- Загрузка и проверка новых моделей в изолированной среде без доступа к сети и секретам
- Список доверенных авторов и организаций на публичных хабах

Связанные карточки угроз: A20, A21, A50

## Первоисточники

- [Malicious ML models discovered on Hugging Face platform](https://www.reversinglabs.com/blog/rl-identifies-malware-ml-model-hosted-on-hugging-face) — ReversingLabs
- [ReversingLabs Identifies Novel ML Malware Hosted on Leading Hugging Face AI Model Platform](https://www.reversinglabs.com/press-releases/reversinglabs-identifies-novel-ml-malware-hosted-on-leading-hugging-face-ai-model-platform) — ReversingLabs
- [Malicious ML models found on Hugging Face Hub](https://www.helpnetsecurity.com/2025/02/10/malicious-ml-models-found-on-hugging-face-hub/) — Help Net Security
