+− THE DAILY DIFFdev & AI news
NEEDS REVIEW

Datoteke modelov Hugging Face lahko izvajajo skrito kodo

Zlonamerni paketi modelov lahko izvajajo kodo med nevarnim nalaganjem.

Zlonamerni paketi modelov lahko izvajajo kodo med nevarnim nalaganjem. Trije dokumentirani primeri razlagajo reverzne lupine Pickle, obnašanje skenerja poškodovanih datotek in raziskovalno dokazano zmedo imena modela, z jasnimi omejitvami glede trditev o kraji poverilnic.

Preberi pisno izdajo (angleščina) ↗

Kaj zajema ta videoposnetek

  • Številčne uteži modela, izvedljiva serializacija in koda repozitorija po meri so različne stvari.
  • JFrog in ReversingLabs sta dokumentirala reverzne lupine; njihova izbrana poročila ne potrjujejo kraje poverilnic od imenovanih žrtev.
  • Checkmarx Model Confusion je bila raziskovalna demonstracija, ki je zahtevala ustrezen oddaljeni model in nezaščiteno nalaganje.
  • Raje uporabite safetensors in popravljene nalagalnike, preglejte in pripnite kodo po meri ter izolirajte neznane pakete od osebnih skrivnosti in nepotrebnega omrežnega dostopa.

Preveden prepis

Prevedeno iz izvirnega angleškega pripovedovanja. Razpoložljivi zvok in podnapisi so nadzorovani s strani YouTuba.

Kako lahko prenos modela povabi gosta?

0:00 Datoteka modela so samo številke na disku. Nalaganje enega zlonamernega paketa Hugging Face je odprlo oddaljeno lupino, kar je ambiciozna interpretacija lokalne umetne inteligence. Kako nalaganje postane izvajanje? Do katerih skrivnosti lahko dostopa? Kaj to dejansko ustavi? In imejte v mislih eno uganko. Model se lahko ne naloži, ko se je nevarni del že zgodil.

0:18 To je The Daily Diff, pod pokrovom. Hugging Face je platforma za deljenje modelov strojnega učenja, podatkovnih zbirk in aplikacij. Uteži modela so naučene številke. Repozitorij lahko vsebuje tudi konfiguracijo in kodo Python. Nevarnost je tukaj v izvedljivi embalaži, ki pride v vaš računalnik, ko jo naložite. Pickle shranjuje objekte Python z navodili za njihovo obnovo.

Kako nalagalnik zažene navodila paketa?

0:37 Nezavarovani nalagalnik lahko sledi tem navodilom in kliče funkcije med razpakiranjem. Prenos bajtov postavi paket na vaš disk. Deserializacija ga odpre. Nekje je bil format datoteke povišan v neplačanega sistemskega administratorja. JFrog je februarja 2024 poročal o Goober Two. Njegova vsebina Pickle je odprla reverzno lupino, ki se je povezala navzven, da bi ponudila oddaljen dostop do ukazov. Repozitorij je bil izbrisan. JFrog je našel tudi namige, ki so nakazovali vpletenost raziskovalcev,

1:02 zato je atribucija negotova. Nezaželen gost je bil dokumentiran. Kraja poverilnic od dejanskih žrtev ni bila ugotovljena.

Katere skrivnosti so dosegljive znotraj procesa?

1:09 Koda, ki se izvaja kot vaš uporabnik, lahko bere vse, kar lahko bere ta proces. Pripet oblak ključ ali dostopen žeton postaneta možna tarča. Za pošiljanje je potrebna tudi delujoča omrežna pot. Samo številčne uteži nimajo čarobnih moči za poverilnice. Vaša dovoljenja zagotavljajo zanimiv del kartice modela. Obstajajo še ena vrata. Nekateri modeli vas prosijo, da zaupate oddaljeni kodi, ki avtorizira Python iz repozitorija. Datoteke Safe tensor lahko stojijo poleg te kode.

1:32 Preverjanje formata uteži pokriva en vhod, medtem ko koda repozitorija še vedno čaka, da ji predate obiskovalno značko.

Zakaj lahko manjkajoča lokalna pot postane oddaljen model?

1:38 Checkmarx je demonstriral Model Confusion. Manjkajoča pot lokalnega modela bi se lahko razrešila v javni repozitorij z ustreznim imenom. To združite z omogočeno oddaljeno kodo, in napačen paket se lahko izvede. To je bila raziskovalna demonstracija, ki je vključevala vzorec neimenovanega podjetja, popravljen v enem dnevu. Manjkajoča mapa je dobila lastnika. ReversingLabs je februarja 2025 poročal o dveh vzorcih,

Kako so poškodovani paketi ušli staremu skenerju?

1:58 tehniko so poimenovali nullify AI. Oba sta vsebovala reverzne lupine. Njihovo pakiranje sedem zip je blokiralo običajno nalaganje PyTorcha, zato je ta pot zahtevala ekstrakcijo in nezaščiteno deserializacijo. Poškodovani tokovi Pickle so razkrili tudi slepo točko skenerja. Neuspešno skeniranje si zasluži preiskavo, preden kdo odpre paket. V neškodljivem testu raziskovalcev so navodila zapisala datoteko, preden je nalagalnik

2:18 dosegel pokvarjen del in sprožil napako. Predstavljajte si, da odprete paket, spustite rakuna, nato pa opazite, da je nalepka za pošiljanje neveljavna. Sporočilo o napaki prispe z odlično slovnico in groznim časom. Hugging Face je odstranil prijavljene vzorce v štiriindvajsetih urah in spremenil skener. Ta specifična ugotovitev je sprožila popravek. Varnostno skeniranje je uporaben dokaz, in obravnavanje vsake napake skenerja kot čiste zdravstvene izkaznice ostaja izjemno velikodušna interpretacija neuspeha.

2:43 Raje uporabite varne senzorje in trenutne popravljene nalagalnike.

Kaj drži ključ izven dosega gosta?

2:46 PyTorch je zožil svoj privzeti nalagalnik, začenši z različico 2.6. Preglejte kodo po meri in pripnite pregledano revizijo. Neznane pakete zaženite v izolaciji brez osebnih ključev, z omejenim omrežnim dostopom. Kontejner, poln nameščenih poverilnic, je darilni koš z imenskimi prostori. Ta uvodna uganka ima odgovor. Napaka pri nalaganju vam pove, kje se je izvajanje ustavilo. Prejšnja navodila so se morda že izvedla.

3:08 Pred odprtjem paketa ohranite skrivnosti izven njegovega dosega. Sodba, pod pokrovom.

Zakaj bi to označil z NEEDS REVIEW?

3:16 nalagalnik. Brezplačni prenos bi moral vsebovati model, in seznam gostov bi moral ostati moja odločitev. Če bi to raje prebrali kot slišali, diff pristane v vašem nabiralniku vsako jutro, brezplačno na the daily diff dot dev, povezava spodaj. In to je diff za danes. Jaz sem Niko iz Axrisi. Združujte odgovorno.

Viri

  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

Povezani videoposnetki