Datoteke modela Hugging Face mogu pokrenuti skriveni kod
Zlonamjerni paketi modela mogu izvršavati kod tokom nesigurnog učitavanja.
Zlonamjerni paketi modela mogu izvršavati kod tokom nesigurnog učitavanja. Tri dokumentovana primjera objašnjavaju Pickle reverse shellove, ponašanje skenera za oštećene datoteke i istraživanjem demonstriranu konfuziju imena modela, sa jasnim ograničenjima u pogledu tvrdnji 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 repozitorija su različite stvari.
- JFrog i ReversingLabs su dokumentovali reverse-shell payloadove; njihovi odabrani izvještaji ne uspostavljaju krađu akreditiva od imenovanih žrtava.
- Checkmarx Model Confusion je bila demonstracija istraživanja koja je zahtijevala podudaranje udaljenog modela i nesigurno učitavanje.
- Preferirajte safetensore i zakrpljene učitavače, pregledajte i prikvačite prilagođeni kod, te izolirajte nepoznate pakete od ličnih tajni i nepotrebnog mrežnog pristupa.
Prevedeni transkript
Prevedeno iz originalne engleske naracije. Dostupan zvuk i titlovi kontroliše YouTube.
Kako preuzimanje modela može pozvati gosta?
0:00 Datoteka modela su samo brojevi na disku. Učitavanje jednog zlonamjernog Hugging Face paketa otvorilo je udaljeni shell, što je ambiciozna interpretacija lokalne umjetne inteligencije. Kako učitavanje postaje izvršavanje? Do kojih tajni može doći? Šta ga zapravo zaustavlja? I imajte jednu zagonetku na umu. Model se možda neće učitati nakon što se opasan dio već dogodio.
0:18 Ovo je The Daily Diff, ispod haube. Hugging Face je platforma za dijeljenje modela mašinskog učenja, skupova podataka i aplikacija. Težine modela su naučeni brojevi. Repozitorij može sadržavati i konfiguraciju i Python kod. Opasnost ovdje je izvršno pakiranje koje dolazi na vaše računalo kada ga učitavate. Pickle pohranjuje Python objekte sa uputama za njihovu rekonstrukciju.
Kako učitavač pokreće instrukcije paketa?
0:37 Nesigurni učitavač može slijediti te upute i pozivati funkcije tokom raspakivanja. Preuzimanje bajtova stavlja paket na vaš disk. Deserijalizacija ga otvara. Negdje je format datoteke promoviran u neplaćenog sistemskog administratora. JFrog je prijavio Goober Two u februaru 2024. godine. Njegov Pickle payload otvorio je reverse shell, povezujući se prema van kako bi ponudio udaljeni pristup komandama. Repozitorij je izbrisan. JFrog je također pronašao tragove koji sugerišu umiješanost istraživača,
1:02 tako da je atribucija neizvjesna. 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. Montirani ključ oblaka ili dostupni token postaju moguća meta. Slanje također zahtijeva funkcionalnu mrežnu rutu. Samo numeričke težine nemaju čarobne moći za akreditive. Vaše dozvole pružaju zanimljiv dio kartice modela. Postoji još jedna vrata. Neki modeli traže da vjerujete udaljenom kodu, što ovlašćuje Python iz repozitorija. Safetensor datoteke mogu stajati pored tog koda.
1:32 Provjera formata težine pokriva jedan ulaz, dok kod repozitorija još uvijek čeka da mu predate posjetničku 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 riješiti u javni repozitorij sa podudarnim imenom. Kombinujte to sa omogućenim udaljenim kodom, i pogrešan paket se može 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 dobila je vlasnika. ReversingLabs je prijavio dva uzorka u februaru 2025. godine,
Kako su oštećeni paketi izbjegli stari skener?
1:58 nazivajući tehniku nullify AI. Oba su sadržavala reverse shellove. Njihovo 7-zip pakiranje blokiralo je obično PyTorch učitavanje, pa je ova putanja zahtijevala ekstrakciju i nesigurnu deserijalizaciju. Oštećeni Pickle streamovi također su otkrili slijepu tačku skenera. Neuspjelo skeniranje zaslužuje istragu prije nego što neko otvori paket. U bezopasnom testu istraživača, instrukcije su napisale datoteku prije nego što je učitavač
2:18 došao do oštećenog dijela i podigao grešku. Zamislite da otvorite paket, pustite rakuna, a zatim primijetite da je oznaka za otpremu nevažeća. Poruka o grešci stiže s izvrsnom gramatikom i užasnim tajmingom. Hugging Face je uklonio prijavljene uzorke u roku od 24 sata i promijenio skener. To specifično otkriće potaknulo je popravak. Sigurnosno skeniranje je koristan dokaz, a tretiranje svake greške skenera kao čistog zdravstvenog računa ostaje izuzetno velikodušna interpretacija neuspjeha.
2:43 Preferirajte safetensore i trenutne zakrpljene učitavače.
Šta ključ drži izvan dosega gosta?
2:46 PyTorch je suzio svoj zadani učitavač počevši od verzije 2.6. Pregledajte prilagođeni kod i prikvačite pregledanu reviziju. Pokrenite nepoznate pakete izolirano bez ličnih ključeva, sa ograničenim mrežnim pristupom. Kontejner pun montiranih akreditiva je korpa za poklone sa imenskim prostorima. Ta početna zagonetka ima odgovor. Neuspjeh učitavanja govori vam gdje je izvršavanje zaustavljeno. Prethodne instrukcije su se možda već izvršile.
3:08 Čuvajte tajne izvan njegovog dosega prije otvaranja paketa. Presuda, ispod haube.
Zašto bih ovo označio sa 'POTREBAN PREGLED'?
3:16 učitavač. Besplatno preuzimanje treba doći sa modelom, a lista gostiju treba ostati moja odluka. Ako ovo radije pročitate nego čujete, 'diff' stiže u vaš inbox svakog jutra, besplatno na thedailydiff.dev, link ispod. I to je 'diff' za danas. Ja sam Niko iz Axrisija. 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



