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.


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

20204Дыра в Argo CD: почему 18 месяцев без патча — это катастрофа? 20203WhatsApp запускает имена пользователей: теперь можно общаться без раскрытия номера... 20202Почему США пришлось заморозить сильнейший ИИ Anthropic — и чего это стоило отрасли? 20201Ousaban: бразильский банковский троян, который охотится на клиентов испанских и... 20200Три новые группировки вымогателей: Citrix Bleed 2, уязвимые драйверы и атаки через... 20198Тупиковый майнинг биткоина тратит столько энергии, сколько вырабатывают все гэс Швейцарии... 20197DuneSlide: как два скрытых промпта позволяли захватить машину разработчика через Cursor 20196Уязвимость в Progress Kemp LoadMaster: кто уже пытается взломать ваш балансировщик? 20194Критическая уязвимость в SimpleHelp позволяет красть данные из облаков, кошельков и... 20193Ультрабыстрые лазеры поместились на чип: как журналистика о науке работает без самой науки 20192Почему Adobe выпускает патчи дважды в месяц и что скрывается за семью уязвимостями с... 20191Два миллиона домашних устройств работали прокси-сетью — и никто из владельцев об этом не...
Ссылка