+− THE DAILY DIFFdev & AI news
NEEDS REVIEW

Hugging Face'i mudelifailid võivad käivitada peidetud koodi

Pahatahtlikud mudelipaketid võivad ohtliku laadimise käigus koodi käivitada.

Pahatahtlikud mudelipaketid võivad ohtliku laadimise käigus koodi käivitada. Kolm dokumenteeritud näidet selgitavad Pickle'i pöördkestasid, katkiste failide skanneri käitumist ja uuringutega demonstreeritud mudelinime segadust, selgete piirangutega mandaadivarguse väidetele.

Loe kirjalikku väljaannet (inglise keeles) ↗

Mida see video hõlmab

  • Numbrilised mudeli kaalud, käivitatav serialiseerimine ja kohandatud hoidla kood on erinevad asjad.
  • JFrog ja ReversingLabs dokumenteerisid pöördkesta laadimise; nende valitud aruanded ei kinnita mandaatide vargust nimetatud ohvritelt.
  • Checkmarxi mudelikonfusioon oli uurimisdemonstratsioon, mis nõudis sobivat kaugmudelit ja ebaturvalist laadimist.
  • Eelistage safetensoreid ja parandatud laadijaid, vaadake üle ja kinnitage kohandatud kood ning isoleerige tundmatud paketid isiklikest saladustest ja ebavajalikust võrgujuurdepääsust.

Tõlgitud transkriptsioon

Tõlgitud ingliskeelsest originaaljutustusest. Saadaolevat heli ja subtiitreid kontrollib YouTube.

Kuidas saab mudeli allalaadimine kutsuda külalise?

0:00 Mudelifail on lihtsalt kettal olevad numbrid. Ühe pahatahtliku Hugging Face'i paketi laadimine avas kauglkesta, mis on ambitsioonikas tõlgendus kohalikust tehisintellektist. Kuidas muutub laadimine käivitamiseks? Milliseid saladusi see kätte saab? Mis seda tegelikult peatab? Ja pidage meeles üks mõistatus. Mudel võib ebaõnnestuda laadimisel pärast seda, kui ohtlik osa on juba toimunud.

0:18 See on The Daily Diff, kulisside taga. Hugging Face on platvorm masinõppemudelite jagamiseks, andmestikud ja rakendused. Mudeli kaalud on õpitud numbrid. Hoidla võib sisaldada ka konfiguratsiooni ja Pythoni koodi. Siin on oht see, et käivitatav pakend jõuab teie arvutisse, kui te selle laadite. Pickle salvestab Pythoni objektid koos juhistega nende uuesti ehitamiseks.

Kuidas laadija täidab paki juhiseid?

0:37 Ebaturvaline laadija saab neid juhiseid järgida ja funktsioone välja kutsumise ajal paki lahti pakkida. Baitide allalaadimine paneb paki teie kettale. Deserialiseerimine avab selle. Kuskil on failivormingut edutatud tasustamata süsteemiadministraatoriks. JFrog teatas Goober Two-st veebruaris kaks tuhat kakskümmend neli. Selle Pickle'i laadimine avas pöördkesta, luues väljapoole ühenduse, et pakkuda kaugjuurdepääsu käskudele. Hoidla kustutati. JFrog leidis ka vihjeid, mis viitavad teadlaste seotusele,

1:02 nii et omistamine on ebakindel. Soovimatu külaline dokumenteeriti. Tegelikelt ohvritelt mandaatide varastamist ei tuvastatud.

Millised saladused on protsessi käeulatuses?

1:09 Teie kasutajana töötav kood saab lugeda kõike, mida see protsess lugeda saab. Paigaldatud pilvevõti või ligipääsetav token muutub võimalikuks sihtmärgiks. Selle välja saatmiseks on vaja ka töötavat võrguteed. Ainuüksi numbrilistel kaaludel puuduvad maagilised mandaadi volitused. Teie õigused pakuvad mudelikaardi huvitavat osa. On veel üks uks. Mõned mudelid paluvad teil usaldada kaugkoodi, mis autoriseerib Pythoni hoidlast. Turvalised tensorifailid võivad selle koodi kõrval asuda.

1:32 Kaaluformaadi kontrollimine katab ühe sissepääsu, samas kui hoidla kood oodab endiselt, et annaksite sellele külastajapääsme.

Miks võib puuduv kohalik tee muutuda kaugmudeliks?

1:38 Checkmarx demonstreeris mudelikonfusiooni. Puuduv kohalik mudelitee võis lahendada avaliku hoidla sobiva nimega. Kombineerige see kaugkoodiga lubatud, ja vale pakett saab käivituda. See oli uurimisdemonstratsioon, mis hõlmas nimetu ettevõtte näidet, parandati ühe päevaga. Puuduv kaust sai omaniku. ReversingLabs teatas kahest näitest veebruaris kaks tuhat kakskümmend viis,

Kuidas katkised paketid vanast skannerist mööda hiilisid?

1:58 nimetades tehnikat nullify AI-ks. Mõlemad sisaldasid pöördkestasid. Nende seitse zip-pakendit blokeeris tavalise PyTorchi laadimise, nii et see tee nõudis väljavõtmist ja ebaturvalist deserialiseerimist. Katkised Pickle'i vooged paljastasid ka skanneri pimeala. Ebaõnnestunud skann väärib uurimist, enne kui keegi paki avab. Teadlaste kahjutuses testis juhised kirjutasid faili enne laadijat

2:18 jõudis katkise osani ja tekitas vea. Kujutage ette, et avate paki, lasege pesukarul välja, siis märkate, et saateleht on kehtetu. Veateade saabub suurepärase grammatikaga ja kohutava ajastusega. Hugging Face eemaldas teatatud näidised kahekümne nelja tunni jooksul ja muutis skannerit. See konkreetne leid ajendas paranduse. Turvaskaneering on kasulik tõend ja iga skanneri vea käsitlemine kui puhta tervise tunnistuse on ikka veel märkimisväärselt helde tõlgendus ebaõnnestumisest.

2:43 Eelistage turvalisi tensoreid ja praeguseid parandatud laadijaid.

Mis hoiab võtme külalise käeulatusest eemal?

2:46 PyTorch kitsendas oma vaikelaadurit alates versioonist kaks punkti kuus. Vaadake üle kohandatud kood ja kinnitage ülevaadatud versioon. Käivitage tundmatuid pakette isoleeritult ilma isiklike võtmeteta, piiratud võrgujuurdepääsuga. Konteiner, mis on täis paigaldatud mandaate, on kingikorv nimede ruumidega. Sellel avamismõistatusel on vastus. Laadimise ebaõnnestumine ütleb teile, kus käivitamine peatus. Varasemad juhised võisid juba käivituda.

3:08 Hoidke saladused selle käeulatusest eemal enne paki avamist. Otsus, kulisside taga.

Miks ma sellele "VAJAB ÜLEVAATUST" pitseri paneksin?

3:16 laadija. Tasuta allalaadimisega peaks kaasnema mudel ja külaliste nimekiri peaks jääma minu otsustada. Kui eelistate seda lugeda, mitte kuulda, siis ilmub diff teie postkasti igal hommikul, tasuta the daily diff dot dev-is, link allpool. Ja see on tänane diff. Mina olen Niko Axrisist. Ühenda vastutustundlikult.

Allikad

  1. Data Scientists Targeted by Malicious Hugging Face ML Models with Silent BackdoorJFrog
  2. Malicious ML models discovered on Hugging Face platformReversingLabs
  3. AI Model Confusion: An LLM/AI Model Supply Chain AttackCheckmarx Zero
  4. Pickle ScanningHugging Face
  5. SafetensorsHugging Face
  6. Loading custom modelsHugging Face
  7. Serialization semanticsPyTorch

Seotud videod