Fajlovi modela Hugging Face mogu pokrenuti skriveni kod
Zlonamerni paketi modela mogu izvršiti kod tokom nebezbednog učitavanja.
Zlonamerni paketi modela mogu izvršiti kod tokom nebezbednog učitavanja. Tri dokumentovana primera objašnjavaju Pickle reverse shell, ponašanje skenera za oštećene datoteke i istraživanjem demonstriranu konfuziju naziva modela, sa jasnim ograničenjima na tvrdnje o krađi akreditiva.
Pročitajte pisano izdanje (engleski) ↗
Šta ovaj video pokriva
- Numeričke težine modela, izvršna serijalizacija i prilagođeni kod repozitorijuma su različite stvari.
- JFrog i ReversingLabs su dokumentovali reverse-shell pakete; njihovi izabrani izveštaji ne potvrđuju krađu akreditiva od imenovanih žrtava.
- Checkmarx Model Confusion je bila istraživačka demonstracija koja je zahtevala odgovarajući udaljeni model i nesigurno učitavanje.
- Preferirajte safetensors i zakrpljene učitavače, pregledajte i prikačite prilagođeni kod, i izolujte nepoznate pakete od ličnih tajni i nepotrebnog mrežnog pristupa.
Preveden transkript
Prevedeno sa originalne engleske naracije. Dostupan audio i titlovi kontrolisani su od strane YouTube-a.
Kako preuzimanje modela može pozvati gosta?
0:00 Datoteka modela su samo brojevi na disku. Učitavanje jednog zlonamernog Hugging Face paketa otvorilo je udaljeni shell, što je ambiciozna interpretacija lokalne AI. Kako učitavanje postaje izvršavanje? Koje tajne može dohvatiti? Šta ga zapravo zaustavlja? I imajte na umu jednu zagonetku. Model može da se ne učita nakon što se opasan deo već dogodio.
0:18 Ovo je The Daily Diff, ispod haube. Hugging Face je platforma za deljenje modela mašinskog učenja, skupova podataka i aplikacija. Težine modela su naučeni brojevi. Repozitorijum takođe može da sadrži konfiguraciju i Python kod. Opasnost ovde je izvršivo pakovanje koje prelazi na vaš računar kada ga učitavate. Pickle skladišti Python objekte sa uputstvima za njihovu ponovnu izgradnju.
Kako učitavač izvršava uputstva paketa?
0:37 Nesiguran učitavač može pratiti ta uputstva i pozivati funkcije dok raspakuje. Preuzimanje bajtova stavlja paket na vaš disk. Deserijalizacija ga otvara. Negde je format datoteke promovisan u neplaćenog sistemskog administratora. JFrog je prijavio Goober Two u februaru 2024. godine. Njegov Pickle paket je otvorio reverse shell, povezujući se spolja da ponudi udaljeni pristup komandama. Repozitorijum je obrisan. JFrog je takođe pronašao tragove koji sugerišu umešanost istraživača,
1:02 tako da je atribucija neizvesna. Neželjeni gost je dokumentovan. Krađa akreditiva od stvarnih žrtava nije utvrđena.
Koje tajne su u dosegu procesa?
1:09 Kod koji se izvršava kao vaš korisnik može čitati sve što taj proces može čitati. Montiran cloud ključ ili pristupačan token postaje moguća meta. Slanje takođe zahteva radnu mrežnu rutu. Samo numeričke težine nemaju magične moći akreditiva. Vaše dozvole daju zanimljiv deo kartice modela. Postoje i druga vrata. Neki modeli traže od vas da verujete udaljenom kodu, što ovlašćuje Python iz repozitorijuma. Safetensor fajlovi mogu stajati pored tog koda.
1:32 Provera formata težine pokriva jedan ulaz, dok kod repozitorijuma i dalje čeka da mu predate posetilacku značku.
Zašto nedostajuća lokalna putanja može postati udaljeni model?
1:38 Checkmarx je demonstrirao Model Confusion. Nedostajuća lokalna putanja modela može se rešiti u javni repozitorijum sa odgovarajućim imenom. Kombinujte to sa udaljenim kodom omogućenim, i pogrešan paket može se izvršiti. Ovo je bila istraživačka demonstracija koja je uključivala uzorak neimenovane kompanije, ispravljena u roku od jednog dana. Nedostajuća fascikla je dobila stanodavca. ReversingLabs je prijavio dva uzorka u februaru 2025. godine,
Kako su oštećeni paketi izbegli stari skener?
1:58 nazivajući tehniku nullify AI. Obe su sadržale reverse shellove. Njihovo 7-zip pakovanje blokiralo je obično PyTorch učitavanje, tako da je ova putanja zahtevala ekstrakciju i nebezbednu deserijalizaciju. Oštećeni Pickle streamovi su takođe otkrili slepu tačku skenera. Neuspelo skeniranje zaslužuje istragu pre nego što neko otvori paket. U bezopasnom testu istraživača, uputstva su napisala datoteku pre nego što je učitavač
2:18 došao do oštećenog dela i podigao grešku. Zamislite da otvorite paket, pustite rakuna, a zatim primetite da je nalepnica za dostavu nevažeća. Poruka o grešci stiže sa odličnom gramatikom i užasnim tajmingom. Hugging Face je uklonio prijavljene uzorke u roku od 24 sata i promenio skener. Taj specifičan nalaz je podstakao popravku. Bezbednosno skeniranje je koristan dokaz, a tretiranje svake greške skenera kao čistog zdravstvenog računa ostaje izvanredno velikodušna interpretacija neuspeha.
2:43 Preferirajte safetensors i trenutne zakrpljene učitavače.
Šta drži ključ van domašaja gosta?
2:46 PyTorch je suzio svoj podrazumevani učitavač počevši od verzije 2.6. Pregledajte prilagođeni kod i prikačite pregledanu reviziju. Pokrenite nepoznate pakete u izolaciji bez ličnih ključeva, sa ograničenim mrežnim pristupom. Kontejner pun montiranih akreditiva je korpa sa poklonima sa imenskim prostorima. Ta početna zagonetka ima odgovor. Neuspelo učitavanje vam govori gde je izvršavanje stalo. Prethodna uputstva su možda već pokrenuta.
3:08 Čuvajte tajne van njegovog domašaja pre otvaranja paketa. Presuda, ispod haube.
Zašto bih ovo označio kao POTREBNO PREGLEDATI?
3:16 učitavač. Besplatno preuzimanje treba da dođe sa modelom, a lista gostiju treba da ostane moja odluka. Ako biste radije pročitali ovo nego da me čujete kako govorim, diff stiže u vaše sanduče svakog jutra, besplatno na the daily diff dot dev, link ispod. I to je diff za danas. Ja sam Niko iz Axrisi. Spajajte odgovorno.
Izvori
- Data Scientists Targeted by Malicious Hugging Face ML Models with Silent BackdoorJFrog
- Malicious ML models discovered on Hugging Face platformReversingLabs
- AI Model Confusion: An LLM/AI Model Supply Chain AttackCheckmarx Zero
- Pickle ScanningHugging Face
- SafetensorsHugging Face
- Loading custom modelsHugging Face
- Serialization semanticsPyTorch



