# Ang mga file ng modelo ng Hugging Face ay maaaring magpatakbo ng nakatagong code

Published: 2026-10-12

Maaaring magpatupad ng code ang mga malisyosong pakete ng modelo sa panahon ng hindi ligtas na pag-load. Ipinaliwanag ng tatlong dokumentadong halimbawa ang mga reverse shell ng Pickle, gawi ng scanner ng sirang file at naipakitang pananaliksik na pagkalito ng pangalan ng modelo, na may malinaw na limitasyon sa mga pag-angkin ng pagnanakaw ng kredensyal.

Canonical: https://thedailydiff.dev/fil/video/2026-10-12-huggingface-model-malware/

## Ang sakop ng video na ito

- Ang mga numerical na timbang ng modelo, executable serialization at custom na repository code ay iba-ibang bagay.
- Dinokumento ng JFrog at ReversingLabs ang mga reverse-shell payload; ang kanilang mga napiling ulat ay hindi nagtatatag ng pagnanakaw ng kredensyal mula sa mga pinangalanang biktima.
- Ang Checkmarx Model Confusion ay isang demonstrasyon ng pananaliksik na nangangailangan ng tumutugmang remote na modelo at hindi ligtas na paglo-load.
- Mas gusto ang safetensors at na-patch na loader, suriin at i-pin ang custom na code, at ihiwalay ang mga hindi pamilyar na pakete mula sa mga personal na sikreto at hindi kinakailangang network access.

## Mga Kabanata

- 0:00 Paano mag-imbita ng bisita ang pag-download ng modelo?
- 0:35 Paano pinapatakbo ng loader ang mga tagubilin ng pakete?
- 1:09 Aling mga sikreto ang kayang abutin ng proseso?
- 1:38 Bakit ang isang nawawalang lokal na path ay maaaring maging isang remote na modelo?
- 1:55 Paano nakaiwas ang mga sirang pakete sa lumang scanner?
- 2:44 Ano ang nagpapanatili sa susi sa labas ng abot ng bisita?
- 3:12 Bakit ko itatatak ang NEEDS REVIEW na ito?

## Isinaling transcript

Isinalin mula sa orihinal na salaysay sa English. Ang available na audio at mga caption ay kinokontrol ng YouTube.

### Paano mag-imbita ng bisita ang pag-download ng modelo?

0:00 Ang isang file ng modelo ay mga numero lamang sa disk. Ang pag-load ng isang malisyosong Hugging Face package ay nagbukas ng isang remote shell, na isang ambisyosong interpretasyon ng lokal na AI. Paano nagiging execution ang paglo-load? Aling mga sikreto ang kayang abutin nito? Ano ang talagang pumipigil dito? At tandaan ang isang palaisipan. Maaaring mabigo ang isang modelo na mag-load pagkatapos mangyari ang mapanganib na bahagi.

0:18 Ito ang The Daily Diff, sa ilalim ng hood. Ang Hugging Face ay isang platform para sa pagbabahagi ng mga modelo ng machine learning, datasets at application. Ang mga timbang ng modelo ay ang mga natutunang numero. Ang isang repository ay maaari ding maglaman ng configuration at Python code. Ang panganib dito ay ang executable packaging na tumawid sa iyong computer kapag ini-load mo ito. Iniimbak ng Pickle ang mga Python object na may mga tagubilin para sa muling pagbuo sa mga ito.

### Paano pinapatakbo ng loader ang mga tagubilin ng pakete?

0:37 Ang isang hindi ligtas na loader ay maaaring sumunod sa mga tagubiling iyon at tumawag ng mga function habang nag-unpack. Ang pag-download ng mga bytes ay naglalagay ng pakete sa iyong disk. Ang deserializing ay nagbubukas nito. Sa isang lugar, ang isang format ng file ay na-promote sa hindi bayad na system administrator. Iniulat ng JFrog ang Goober Two noong Pebrero 2024. Ang Pickle payload nito ay nagbukas ng reverse shell, na kumonekta palabas upang mag-alok ng remote na access sa command. Nabura ang repository. Nakahanap din ang JFrog ng mga pahiwatig na nagpapahiwatig ng paglahok ng mananaliksik,

1:02 kaya hindi tiyak ang atribusyon. Naidokumento ang hindi gustong bisita. Hindi naitatag ang pagnanakaw ng kredensyal mula sa aktwal na mga biktima.

### Aling mga sikreto ang kayang abutin ng proseso?

1:09 Ang code na tumatakbo bilang iyong user ay maaaring magbasa ng anumang kayang basahin ng prosesong iyon. Ang isang naka-mount na cloud key o isang accessible na token ay nagiging posibleng target. Ang pagpapadala nito ay nangangailangan din ng gumaganang network route. Ang mga numerical na timbang lamang ay walang mahiwagang kapangyarihan sa kredensyal. Ang iyong mga pahintulot ang nagbibigay ng kawili-wiling bahagi ng model card. May isa pang pinto. Ang ilang mga modelo ay humihiling sa iyo na magtiwala sa remote code, na nagpapahintulot ng Python mula sa repository. Ang mga safe tensor file ay maaaring tumabi sa code na iyon.

1:32 Sinasaklaw ng paghahanap ng format ng timbang ang isang pasukan, habang ang code ng repository ay naghihintay pa rin para ibigay mo ito ng visitor badge.

### Bakit ang isang nawawalang lokal na path ay maaaring maging isang remote na modelo?

1:38 Nagpakita ang Checkmarx ng Model Confusion. Ang isang nawawalang lokal na path ng modelo ay maaaring mag-resolba sa isang pampublikong repository na may tumutugmang pangalan. Pagsamahin iyan sa remote code na naka-enable, at ang maling pakete ay maaaring mag-execute. Ito ay isang demonstrasyon ng pananaliksik na kinasasangkutan ng sample ng isang hindi pinangalanang kumpanya, na naitama sa loob ng isang araw. Ang isang nawawalang folder ay nagkaroon ng nagpapaupa. Iniulat ng ReversingLabs ang dalawang sample noong Pebrero 2025,

### Paano nakaiwas ang mga sirang pakete sa lumang scanner?

1:58 tinatawag ang technique na nullify AI. Parehong naglalaman ng reverse shells. Ang kanilang seven zip packaging ay humarang sa ordinaryong PyTorch loading, kaya ang path na ito ay nangailangan ng extraction at unsafe deserialization. Ang mga sirang Pickle stream ay naglantad din ng scanner blind spot. Ang isang nabigong pag-scan ay nararapat na imbestigasyon bago buksan ng sinuman ang pakete. Sa hindi nakakapinsalang pagsubok ng mga mananaliksik, ang mga tagubilin ay nagsulat ng isang file bago ang loader

2:18 umabot sa sirang bahagi at nagtaas ng error. Isipin ang pagbubukas ng isang pakete, pagpapakawala ng raccoon, pagkatapos mapansin na ang shipping label ay invalid. Ang mensahe ng error ay dumarating na may mahusay na grammar at kahindik-hindik na timing. Inalis ng Hugging Face ang mga iniulat na sample sa loob ng 24 na oras at binago ang scanner. Ang partikular na paghahanap na iyon ay nagbunsod ng pag-aayos. Ang isang security scan ay kapaki-pakinabang na ebidensya, at ang pagtrato sa bawat error ng scanner bilang isang malinis na bill of health ay nananatiling isang lubos na mapagbigay na interpretasyon ng kabiguan.

2:43 Mas gusto ang mga safe tensor at kasalukuyang na-patch na loader.

### Ano ang nagpapanatili sa susi sa labas ng abot ng bisita?

2:46 Pinaliit ng PyTorch ang default nitong loader simula sa bersyon 2.6. Suriin ang custom code at i-pin ang nasuring rebisyon. Patakbuhin ang mga hindi pamilyar na pakete nang hiwalay nang walang personal na key, na may pinaghihigpitang network access. Ang isang container na puno ng mga naka-mount na kredensyal ay isang gift basket na may mga namespace. Ang pambungad na palaisipan na iyon ay may sagot. Sinasabi sa iyo ng pagkabigo sa paglo-load kung saan huminto ang pagpapatupad. Maaaring nagpatakbo na ang mas naunang mga tagubilin.

3:08 Panatilihin ang mga sikreto sa labas ng abot nito bago buksan ang pakete. Hatol, sa ilalim ng hood.

### Bakit ko itatatak ang NEEDS REVIEW na ito?

3:16 loader. Ang libreng pag-download ay dapat na may kasamang modelo, at ang listahan ng bisita ay dapat manatiling desisyon ko. Kung mas gugustuhin mong basahin ito kaysa pakinggan akong sabihin ito, ang diff ay dumarating sa iyong inbox tuwing umaga, libre sa the daily diff dot dev, link sa ibaba. At iyan ang diff para ngayon. Ako si Niko mula sa Axrisi. Mag-merge nang may pananagutan.

## Mga Pinagmulan

- [Data Scientists Targeted by Malicious Hugging Face ML Models with Silent Backdoor](https://jfrog.com/blog/data-scientists-targeted-by-malicious-hugging-face-ml-models-with-silent-backdoor/) — JFrog
- [Malicious ML models discovered on Hugging Face platform](https://www.reversinglabs.com/blog/rl-identifies-malware-ml-model-hosted-on-hugging-face) — ReversingLabs
- [AI Model Confusion: An LLM/AI Model Supply Chain Attack](https://checkmarx.com/zero-post/hugs-from-strangers-ai-model-confusion-supply-chain-attack/) — Checkmarx Zero
- [Pickle Scanning](https://huggingface.co/docs/hub/en/security-pickle) — Hugging Face
- [Safetensors](https://huggingface.co/docs/safetensors/en/index) — Hugging Face
- [Loading custom models](https://huggingface.co/docs/transformers/en/models) — Hugging Face
- [Serialization semantics](https://docs.pytorch.org/docs/2.14/notes/serialization.html) — PyTorch
