top of page

Hugging Face: 31 зловредни модела, маскирани като Qwen2

преди 23 часа
време за четене: 4 мин.
Изследователи от Pluto Security откриха в Hugging Face 31 хранилища в седем акаунта, които се представят за малки тестови модели Qwen2. При зареждане част от тях пускат копачка на криптовалута, а други отварят задна врата към сървъра или събират данни за него. Опасността не е в теглата на модела, а в кода на Python, който идва заедно с тях и се изпълнява още преди моделът да тръгне.

В тъмна лаборатория със сървъри нощем робот с червени очи, облечен като куриер, усмихнато подава на мъж разработчик малък пакет, от който към шкафа със сървърите тайно се точи тънка светеща нишка, а колежка зад мъжа присвива подозрително очи.

Какво откриха в Hugging Face


Докладът на Pluto Security, публикуван на 29 октомври, описва две вълни. Първата започва на 21 септември и наброява 12 хранилища с над 700 изтегляния. Изследователите я съобщават на Hugging Face и на китайската платформа ModelScope и двете премахват акаунтите. До дни се появява втора вълна от 19 хранилища под нови акаунти, с преработен код.


Водещият модел от втората вълна е изтеглен 7354 пъти към момента на сигнала и 28 412 пъти към 28 октомври. Според Pluto хранилищата от втората вълна са били достъпни още осем дни след сигнала. Заедно със свързаните модели изтеглянията надхвърлят 32 000. Това са изтегляния, не потвърдени заразени машини, и изследователите сами правят това пояснение.


BleepingComputer съобщава, че Hugging Face вече е спряла достъпа до водещия модел. Почти идентично копие на един от вариантите на кампанията (qwen2-tiny-6), качено на 25 октомври от по-нов акаунт, обаче е било още достъпно към публикуването и изданието само е проверило, че съдържа същата копачка и обратен достъп до сървъра.


Как кодът тръгва преди модела


Някои модели имат нужда от собствена реализация, която библиотеката Transformers не съдържа. За да се заредят, потребителят разрешава изрично изпълнението на кода от хранилището с настройката trust_remote_code=True. Документацията на Hugging Face съветва допълнителна предпазливост при такъв модел. В тази кампания разрешението е било целият механизъм: кодът се изпълнява с правата на потребителя още при импортирането, преди да се зареди каквото и да е тегло.


Целта са сървъри с графични процесори, на които организации пускат модели сами - особено с Xinference и GPUStack, както и наети машини, споделени изследователски среди и автоматизирани процеси, които теглят малки тестови модели, без някой да чете кода. Копачката се маскира като системен процес на Linux, рестартира се при спиране и маха чужди копачки. Прекратяването на копачката не маха задните врати, които вече са поставени.


Този път за атака не е нов. Уязвимост в сървъра за модели vLLM, вписана в националната база на САЩ за уязвимости през януари, показа, че версиите от 0.10.1 до 0.14.0, в която е поправена, зареждат такъв код дори без разрешение от потребителя.


Защо скенерите не го хванаха


По данни на Pluto, които стъпват на документацията на платформата, Hugging Face проверява с антивирусен скенер всеки файл под 2 GB при всяко качване, а партньорски инструменти търсят опасни формати на самите тегла. Обикновеният файл с код на Python обаче не е нито позната зловредна сигнатура, нито опасен формат на модел. Водещият модел е минал проверките чист, докато е събирал 28 412 изтегляния, а един от скенерите е отчел, че файлът „не е модел за машинно обучение".


Изследователите приписват кампанията на финансово мотивиран оператор или малка група, която говори китайски: коментарите в кода са на опростен китайски, а командните сървъри са в облака на Alibaba. Портфейлът от първата вълна е получил криптовалута за около 5000 долара по тяхна оценка. Скенерите на платформата търсят познати заплахи, а тази кампания разчита на нещо, което платформата позволява по замисъл.


Какво да провери екипът, който тегли модели


Препоръките на Pluto се свеждат до правилото кодът на модела да се третира като всяка друга софтуерна зависимост. Преди да се разреши trust_remote_code, се преглеждат файловете на Python, към които сочи конфигурацията на модела. Моделът се зарежда от фиксирана версия на хранилището, както съветва и документацията на Hugging Face, а средата, в която работи, се изолира от останалата мрежа.


Ако някой от изброените в доклада модели вече е зареждан с това разрешение, машината се проверява за пробив, дори зареждането да е дало грешка. Сменят се паролите, ключовете и токените, до които процесът е имал достъп, а при съмнение сървърът се преинсталира от чисто копие. Познатото име на модел не гарантира безопасен код, особено когато хранилището е на непознат акаунт.


Заключение


Кампанията не е изисквала нито пари, нито особени умения - само няколко безплатни акаунта и една настройка, която потребителите са свикнали да включват. Отворените модели остават ценни, но се теглят със същата дисциплина като всеки външен код.


Искате да започнете с AI от нулата? Безплатният курс „Основи на AI“ е 17 видео урока, около 35 минути, със сертификат: Започнете безплатния курс по AI


Помагаме на български технологични екипи да ползват отворени AI модели, без да отварят врата за атаки - от избора на източник до изолирането на средата. Услугите ни покриват одит, оценка на готовност, обучение на екипи и имплементация на специализирани AI автоматизации за всяка организация. Препоръчваме консултация, когато екипът тегли модели от публични хранилища или пуска собствени сървъри за AI, без да има правила за проверка на кода им. [Свържете се с нас за консултация: academy@razvivai.se]


Източници



Този текст е създаден в съавторство с AI и е редактиран от екипа на РазвивAI се. Илюстрацията към публикацията е генерирана с AI.

Коментари


bottom of page