Studiuesit nga JFrog kanë identifikuar modele keqdashëse të mësimit të makinerive në depon e Hugging Face, instalimi i të cilave mund të çojë në ekzekutimin e kodit të sulmuesit për të fituar kontrollin e sistemit të përdoruesit. Problemi shkaktohet nga fakti se disa formate të shpërndarjes së modeleve lejojnë futjen e kodit të ekzekutueshëm, për shembull, modelet që përdorin formatin "turshi" mund të përfshijnë objekte të serializuara Python si dhe kodin e ekzekutuar kur skedari ngarkohet, dhe modelet Tensorflow Keras mund të ekzekutojnë kodi përmes Lambda Layer.
Për të parandaluar përhapjen e modeleve të tilla me qëllim të keq, Hugging Face përdor skanimin e zëvendësimit të kodit të serializuar, por modelet me qëllim të keq të identifikuar tregojnë se kontrollet ekzistuese mund të anashkalohen. Përveç kësaj, Hugging Face në shumicën e rasteve vetëm i shënon modelet si të rrezikshme, pa bllokuar aksesin në to. Në total, u identifikuan rreth 100 modele potencialisht me qëllim të keq, 95% e të cilave janë të destinuara për përdorim me kornizën PyTorch dhe 5% me Tensorflow. Ndryshimet më të zakonshme me qëllim të keq përfshijnë kapjen e një objekti, organizimin e një hyrjeje të jashtme (predha e kundërt), nisjen e aplikacioneve dhe shkrimin në një skedar.

Vihet re se, duke gjykuar nga veprimet e ndërmarra, shumica e modeleve me qëllim të keq të identifikuar u krijuan nga studiues të sigurisë që përpiqeshin të merrnin një shpërblim për zbulimin e dobësive dhe metodave për anashkalimin e mbrojtjes nga Hugging Face (për shembull, në vend të një sulmi aktual, modele të tilla provojnë për të nisur një kalkulator ose për të dërguar një kërkesë rrjeti me informacion në lidhje me suksesin e sulmit). Në të njëjtën kohë, ka edhe raste që lëshojnë një predhë të kundërt për të lidhur sulmuesin me sistemin.
Për shembull, modelet "baller423/goober2" dhe "star23/baller13" synojnë të sulmojnë sistemet që ngarkojnë një skedar modeli në PyTorch duke përdorur funksionin torch.load(). Për të organizuar ekzekutimin e kodit, përdoret metoda "__reduce__" nga moduli pickle, e cila ju lejon të futni kodin arbitrar të Python në procesin e deserializimit të kryer gjatë ngarkimit të modelit.
Burimi: opennet.ru
