Hugging Face, крупнейшее в мире хранилище моделей с открытым исходным кодом (более 4 миллионов разработчиков), становится полем для атак на цепочки поставок ИИ. Этот инцидент обнажает внутреннее противоречие между платформами для совместной работы и безопасностью.
Технические детали атаки:
Злоупотребление файлами Pickle: модуль Pickle стандартной библиотеки Python используется для сериализации ML-моделей, но его десериализация по своей сути выполняет произвольный код Python. pyTorch по умолчанию полагается на Pickle, что делает его идеальным средством для скрытия вредоносного кода.
Обход Picklescan: Hugging Face использует инструмент Picklescan для обнаружения опасных функций (например, os.system, subprocess и т. д.) на основе механизма черных списков. Атакующий обходит два уровня:
Изменение формата сжатия: стандартное сжатие ZIP в PyTorch заменено на формат 7z, Picklescan не может его распаковать
Эксплойт для взлома файла: вставляя поврежденные байты в конец потока Pickle, Picklescan не проверяет их, а затем выпускает напрямую; однако интерпретатор Python выполняет их последовательно, и вредоносный код срабатывает еще до того, как файл будет взломан
Скрытая загрузка: вредоносный код располагается в начале сериализованного потока, а сразу после выполнения файл обрывается, чтобы сбить с толку средства обнаружения.
Образец реального мира:
模型库”glockr1/ballr7″、”who-r-u0000/0000000000000000000000000000000000000″含反向Shell
Имплантированный IP-адрес: 107.173.7.141 (сервер C2)
Масштаб воздействия: неизвестно, сколько разработчиков загрузили эти модели для интеграции в производственный код.
Защитные слои:
Уровень платформы: Hugging Face обновила Picklescan для поддержки распаковки 7z и обнаружения битых файлов; SafeTensors продвигался как альтернатива Pickle.
Уровень разработчика: отключение неизвестных моделей, включение проверки подписи модели, изоляция процесса загрузки модели, сканирование файлов Pickle в цепочке зависимостей
Уровень обнаружения: реализация песочницы времени выполнения для мониторинга сетевого подключения и поведения при создании процессов во время загрузки модели
Итог: ценой демократизации ИИ является накопление долгов по безопасности. Каждый файл Pickle - это потенциальный "троянский конь", а защита от "черных списков" не работает.