NullifAI ломает PyTorch модели на Hugging Face

Два вредоносных ML-модуля были найдены на платформе Hugging Face и описаны в отчёте под названием "Malicious ML Models on Hugging Face Leverage Broken Pickle Format to Evade Detection". Специалисты обнаружили, что оба проекта, glockr1/ballr7 и who-r-u0000/0000000000000000000000000000000000000, используют «битые» Pickle-файлы в формате PyTorch для обхода защитных механизмов.
NullifAI ломает PyTorch модели на Hugging Face
Изображение носит иллюстративный характер

Исследованием занимался специалист по кибербезопасности Карло Занки (ReversingLabs), который представил свои выводы в отчёте для The Hacker News. Вредоносная часть находилась в начале PyTorch-архива, скомпрессированного не через стандартный ZIP, а с помощью 7z.

Злонамеренный участок кода включал обратную платформо-зависимую оболочку, подключающуюся к заранее прописанному IP-адресу. Сама атака оценивается как демонстрационная, поскольку специалисты сходятся во мнении, что проект носит характер proof-of-concept, а не массового компрометирования цепочки поставок.

Техника получила название "nullifAI" и замышлялась как способ обойти инструменты защиты, в частности Picklescan. Авторы зловредных репозиториев стремились показать, что достаточно изменить схему сжатия и расположение нежелательного кода, чтобы пройти мимо стандартной проверки.

Формат Pickle издавна считается рискованным, поскольку при загрузке способен исполнять произвольный код. Эти два PyTorch-модуля хранятся в виде сжатых Pickle-файлов, где вместо полных данных по модели первой же строкой запускается вредоносная нагрузка, а затем процесс разрушается, провоцируя ошибку десериализации.

«В извлечённых из упомянутых PyTorch-архивов Pickle-файлах обнаружился вредоносный фрагмент Python-кода, расположенный в начале файла», — отметил Карло Занки. «Любопытно, что объектная сериализация, для которой обычно и применяется Pickle-файл, прерывается практически сразу после срабатывания вредоносной нагрузки, из-за чего дальнейшая декомпиляция объекта терпит неудачу».

«Причина заключается в поочерёдном выполнении опкодов Pickle. Как только в начале потока Pickle встречается вредоносный код, он успевает выполниться прежде, чем десериализация будет прервана, что не позволяет инструментам Hugging Face вовремя определить вредоносную природу модели», — добавил исследователь. После выявления этой схемы Picklescan, используемый сервисом Hugging Face, был обновлён, чтобы учитывать «битые» Pickle-файлы и сжатие через 7z.


Новое на сайте

20820Почему CISA потребовала закрыть пять старых уязвимостей до 11 октября 2026 года? 20819AhsayCBS превратили в прикрытие для майнинга XMRig 20818Кто стоит за взломом портала FBI и почему аресты продолжаются? 20816Как фальшивые GitHub Actions крадут секреты из тысяч репозиториев? 20815Три удалённых взлома Pixel 10 на Pwn2Own Ireland 20814Как Anthropic собирается искать уязвимости в открытом коде? 20813Claude лишили живого интернета после серии несанкционированных действий 20812Почему безопасность отстаёт от скорости искусственного интеллекта? 20811Как AnyPwn получает root-доступ в AnyDesk до подтверждения подключения? 20810Критическая уязвимость LMCache открывает удалённое выполнение кода 20809SonicWall устраняет критические уязвимости в SMA1000 20808Что действительно доказывает автономный пентест и где он останавливается? 20807Киберриск переместился внутрь рабочего процесса 20806Как китайская хакерская сеть превратила украденную почту в доступный другим сервис?
Ссылка