Súbory modelov Hugging Face môžu spúšťať skrytý kód
Škodlivé balíky modelov môžu spustiť kód počas nebezpečného načítania.
Škodlivé balíky modelov môžu spustiť kód počas nebezpečného načítania. Tri zdokumentované príklady vysvetľujú reverzné shelly Pickle, správanie skenera poškodených súborov a výskumom demonštrovanú zámenu názvov modelov, s jasnými limitmi pre tvrdenia o krádeži prihlasovacích údajov.
Prečítajte si písanú edíciu (anglicky) ↗
Čo toto video pokrýva
- Numerické váhy modelu, spustiteľná serializácia a vlastný kód úložiska sú rôzne veci.
- JFrog a ReversingLabs zdokumentovali reverse-shell payloady; ich vybrané správy nepreukazujú krádež prihlasovacích údajov od menovaných obetí.
- Checkmarx Model Confusion bola výskumná demonštrácia vyžadujúca zhodný vzdialený model a nebezpečné načítanie.
- Uprednostnite safetensors a opravené načítavače, skontrolujte a pripnite vlastný kód a izolujte neznáme balíky od osobných tajomstiev a zbytočného sieťového prístupu.
Preložený prepis
Preložené z pôvodného anglického rozprávania. Dostupný zvuk a titulky sú kontrolované službou YouTube.
Ako môže stiahnutie modelu pozvať hosťa?
0:00 Súbor modelu sú len čísla na disku. Načítanie jedného škodlivého balíka Hugging Face otvorilo vzdialený shell, čo je ambiciózna interpretácia lokálnej AI. Ako sa načítanie stáva spustením? Aké tajomstvá môže dosiahnuť? Čo to vlastne zastaví? A majte na pamäti jednu hádanku. Model sa môže nenačítať po tom, čo sa už stala nebezpečná časť.
0:18 Toto je The Daily Diff, pod kapotou. Hugging Face je platforma na zdieľanie modelov strojového učenia, dátových súborov a aplikácií. Váhy modelu sú naučené čísla. Úložisko môže tiež obsahovať konfiguráciu a kód Pythonu. Nebezpečenstvo tu spočíva v spustiteľnom balení, ktoré sa dostane do vášho počítača, keď ho načítate. Pickle ukladá objekty Pythonu s inštrukciami na ich rekonštrukciu.
Ako načítavač spustí inštrukcie balíka?
0:37 Nebezpečný načítavač môže postupovať podľa týchto inštrukcií a volať funkcie pri rozbaľovaní. Stiahnutie bajtov umiestni balík na váš disk. Deserializácia ho otvorí. Niekde sa formát súboru povýšil na neplateného systémového administrátora. JFrog nahlásil Goober Two vo februári 2024. Jeho Pickle payload otvoril reverzný shell, ktorý sa pripojil smerom von, aby ponúkol vzdialený prístup k príkazom. Úložisko bolo odstránené. JFrog tiež našiel stopy naznačujúce zapojenie výskumníkov,
1:02 takže atribúcia je neistá. Nežiaduci hosť bol zdokumentovaný. Krádež prihlasovacích údajov od skutočných obetí nebola preukázaná.
Aké tajomstvá sú v dosahu procesu?
1:09 Kód bežiaci ako váš používateľ môže čítať všetko, čo môže čítať tento proces. Pripojený cloudový kľúč alebo prístupný token sa stáva možným cieľom. Odoslanie tiež vyžaduje funkčnú sieťovú trasu. Samotné numerické váhy nemajú žiadne magické oprávnenia na prihlasovacie údaje. Vaše oprávnenia dodávajú zaujímavú časť karty modelu. Je tu ďalšie dvere. Niektoré modely vás požiadajú o dôveru vzdialenému kódu, čo autorizuje Python z úložiska. Súbory so zabezpečenými tenzormi môžu sedieť vedľa tohto kódu.
1:32 Kontrola formátu váh pokrýva jeden vstup, zatiaľ čo kód úložiska stále čaká, kým mu podáte odznak pre návštevníka.
Prečo sa chýbajúca lokálna cesta môže stať vzdialeným modelom?
1:38 Checkmarx demonštroval Model Confusion. Chýbajúca lokálna cesta k modelu sa môže vyriešiť na verejné úložisko so zhodným názvom. Skombinujte to so vzdialeným kódom povoleným, a nesprávny balík sa môže spustiť. Išlo o výskumnú demonštráciu zahŕňajúcu vzorku nemenovanej spoločnosti, opravenú do jedného dňa. Chýbajúci priečinok získal majiteľa. ReversingLabs nahlásil dve vzorky vo februári 2025,
Ako sa poškodené balíky vyhli starému skeneru?
1:58 nazývajúc techniku nullify AI. Obe obsahovali reverzné shelly. Ich balenie v siedmich zipoch blokovalo bežné načítanie PyTorch, takže táto cesta vyžadovala extrakciu a nebezpečnú deserializáciu. Poškodené toky Pickle tiež odhalili slepé miesto skenera. Neúspešné skenovanie si zaslúži prešetrenie, než niekto otvorí balík. V neškodnom teste výskumníkov inštrukcie zapísali súbor predtým, ako načítavač
2:18 dostal k poškodenej časti a vyvolal chybu. Predstavte si, že otvoríte balík, vypustíte mývala a potom si všimnete, že prepravný štítok je neplatný. Chybové hlásenie prichádza s vynikajúcou gramatikou a hrozným načasovaním. Hugging Face odstránil nahlásené vzorky do 24 hodín a zmenil skener. Toto špecifické zistenie viedlo k oprave. Bezpečnostná kontrola je užitočný dôkaz a považovať každú chybu skenera za čistý zdravotný stav zostáva pozoruhodne veľkorysou interpretáciou zlyhania.
2:43 Uprednostnite bezpečné tenzory a aktuálne opravené načítavače.
Čo drží kľúč mimo dosahu hosťa?
2:46 PyTorch zúžil svoj predvolený načítavač počnúc verziou 2.6. Skontrolujte vlastný kód a pripnite skontrolovanú revíziu. Spúšťajte neznáme balíky izolovane bez osobných kľúčov, s obmedzeným sieťovým prístupom. Kontajner plný pripojených poverení je darčekový kôš s mennými priestormi. Tá úvodná hádanka má odpoveď. Zlyhanie načítania vám povie, kde sa vykonávanie zastavilo. Predchádzajúce inštrukcie už možno boli spustené.
3:08 Pred otvorením balíka udržujte tajomstvá mimo jeho dosahu. Verdikt, pod kapotou.
Prečo by som to označil ako NEEDS REVIEW?
3:16 načítavač. Bezplatné stiahnutie by malo obsahovať model a zoznam hostí by mal zostať mojim rozhodnutím. Ak by ste to radšej prečítali, než počuli, ako to hovorím, rozdiel vám pristane v schránke každé ráno, zadarmo na thedailydiff.dev, odkaz nižšie. A to je dnešný rozdiel. Som Niko z Axrisi. Zlučujte zodpovedne.
Zdroje
- 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



