JFrog pētnieki ir identificējuši ļaunprātīgus mašīnmācīšanās modeļus Hugging Face repozitorijā. Šo modeļu instalēšana var izraisīt uzbrucēja koda izpildi, lai iegūtu kontroli pār lietotāja sistēmu. Problēma rodas tāpēc, ka daži modeļu izplatīšanas formāti ļauj iegult izpildāmu kodu. Piemēram, modeļi, kas izmanto "pickle" formātu, var ietvert serializētus Python objektus un kodu, kas tiek izpildīts faila lejupielādes laikā, savukārt Tensorflow Keras modeļi var izpildīt kodu, izmantojot Lambda slāni.
Lai novērstu šādu ļaunprātīgu modeļu izplatīšanos, Hugging Face izmanto serializētu koda ievietošanas skenēšanu, taču atklātie ļaunprātīgie modeļi parāda, ka šīs pārbaudes var apiet. Turklāt vairumā gadījumu Hugging Face atzīmē modeļus kā bīstamus tikai tad, nebloķējot piekļuvi tiem. Kopumā tika atklāti aptuveni 100 potenciāli ļaunprātīgi modeļi, no kuriem 95% bija paredzēti lietošanai ar PyTorch ietvaru un 5% ar Tensorflow. Visizplatītākās ļaunprātīgās modifikācijas bija objektu nolaupīšana, apgrieztā apvalkošana, lietojumprogrammu palaišana un failu rakstīšana.

Tiek atzīmēts, ka, spriežot pēc viņu darbībām, lielāko daļu identificēto ļaunprātīgo modeļu izveidoja drošības pētnieki, kuri vēlējās nopelnīt atlīdzību par ievainojamību atklāšanu un metodēm, kā apiet Hugging Face aizsardzību (piemēram, šādi modeļi mēģina nevis veikt reālu uzbrukumu, bet gan palaist kalkulatoru vai nosūtīt tīkla pieprasījumu ar informāciju par uzbrukuma panākumiem). Ir arī gadījumi, kad tiek palaista apgrieztā čaula, lai savienotu uzbrucēju ar sistēmu.
Piemēram, modeļi "baller423/goober2" un "star23/baller13" ir izstrādāti, lai uzbruktu sistēmām, kas ielādē modeļa failu PyTorch, izmantojot funkciju torch.load(). Koda izpildes vadīšanai tiek izmantota metode "__reduce__" no pickle moduļa, ļaujot deserializācijas procesā, kas notiek modeļa ielādes laikā, ievietot patvaļīgu Python kodu.
Avots: opennet.ru
