# Hugging Face-modelbestanden kunnen verborgen code uitvoeren

Published: 2026-10-12

Kwaadaardige modelpakketten kunnen code uitvoeren tijdens onveilig laden. Drie gedocumenteerde voorbeelden leggen Pickle reverse shells, het gedrag van een kapotte bestandsscanner en onderzoeksgedemonstreerde modelnaamverwarring uit, met duidelijke beperkingen op de claims van diefstal van inloggegevens.

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

## Wat deze video behandelt

- Numerieke modelgewichten, uitvoerbare serialisatie en aangepaste repositorycode zijn verschillende dingen.
- JFrog en ReversingLabs documenteerden reverse-shell payloads; hun geselecteerde rapporten bewijzen geen diefstal van inloggegevens van genoemde slachtoffers.
- Checkmarx Model Confusion was een onderzoeksdemonstratie die een overeenkomend extern model en onveilig laden vereiste.
- Geef de voorkeur aan safetensors en gepatchte laders, controleer en pin aangepaste code, en isoleer onbekende pakketten van persoonlijke geheimen en onnodige netwerktoegang.

## Hoofdstukken

- 0:00 Hoe kan een modeldownload een gast uitnodigen?
- 0:35 Hoe voert een lader de instructies van het pakket uit?
- 1:09 Welke geheimen bevinden zich binnen het bereik van het proces?
- 1:38 Waarom kan een ontbrekend lokaal pad een extern model worden?
- 1:55 Hoe ontweken kapotte pakketten de oude scanner?
- 2:44 Wat houdt de sleutel buiten het bereik van de gast?
- 3:12 Waarom zou ik dit een NEEDS REVIEW-stempel geven?

## Vertaald transcript

Vertaald vanuit de originele Engelse gesproken tekst. Beschikbare audio en ondertiteling worden beheerd door YouTube.

### Hoe kan een modeldownload een gast uitnodigen?

0:00 Een modelbestand is slechts getallen op schijf. Het laden van één kwaadaardig Hugging Face-pakket opende een externe shell, wat een ambitieuze interpretatie is van lokale AI. Hoe wordt laden uitvoeren? Welke geheimen kan het bereiken? Wat stopt het eigenlijk? En houd één puzzel in gedachten. Een model kan niet laden nadat het gevaarlijke deel al heeft plaatsgevonden.

0:18 Dit is The Daily Diff, onder de motorkap. Hugging Face is een platform voor het delen van machine learning-modellen, datasets en applicaties. Modelgewichten zijn de geleerde getallen. Een repository kan ook configuratie en Python-code bevatten. Het gevaar hier is uitvoerbare verpakking die op uw computer terechtkomt wanneer u deze laadt. Pickle slaat Python-objecten op met instructies om ze opnieuw op te bouwen.

### Hoe voert een lader de instructies van het pakket uit?

0:37 Een onveilige lader kan die instructies volgen en functies aanroepen tijdens het uitpakken. Het downloaden van de bytes plaatst het pakket op uw schijf. Deserialiseren opent het. Ergens is een bestandsformaat gepromoveerd tot onbetaalde systeembeheerder. JFrog rapporteerde Goober Two in februari tweeduizendvierentwintig. De Pickle-payload opende een reverse shell, die naar buiten verbinding maakte om op afstand commando's uit te voeren. De repository werd verwijderd. JFrog vond ook aanwijzingen die suggereerden dat onderzoekers erbij betrokken waren,

1:02 dus attributie is onzeker. De ongewenste gast werd gedocumenteerd. Diefstal van inloggegevens van daadwerkelijke slachtoffers werd niet vastgesteld.

### Welke geheimen bevinden zich binnen het bereik van het proces?

1:09 Code die wordt uitgevoerd als uw gebruiker kan alles lezen wat dat proces kan lezen. Een gemonteerde cloudkey of een toegankelijke token wordt een mogelijk doelwit. Het verzenden ervan vereist ook een werkende netwerkroute. Numerieke gewichten alleen hebben geen magische krachten voor inloggegevens. Uw machtigingen leveren het interessante deel van de modelkaart. Er is nog een deur. Sommige modellen vragen u om externe code te vertrouwen, wat Python uit de repository autoriseert. Veilige tensorbestanden kunnen naast die code staan.

1:32 Het controleren van het gewichtsformaat dekt één ingang, terwijl de code van de repository nog steeds wacht tot u een bezoekersbadge overhandigt.

### Waarom kan een ontbrekend lokaal pad een extern model worden?

1:38 Checkmarx demonstreerde Model Confusion. Een ontbrekend lokaal modelpad kon worden opgelost naar een openbare repository met een overeenkomende naam. Combineer dat met externe code ingeschakeld, en het verkeerde pakket kan worden uitgevoerd. Dit was een onderzoeksdemonstratie met een voorbeeld van een niet nader genoemd bedrijf, binnen een dag gecorrigeerd. Een ontbrekende map kreeg een verhuurder. ReversingLabs rapporteerde twee voorbeelden in februari tweeduizendvijfentwintig,

### Hoe ontweken kapotte pakketten de oude scanner?

1:58 waarbij de techniek nullify AI werd genoemd. Beide bevatten reverse shells. Hun zeven zip-verpakking blokkeerde het normale PyTorch-laden, dus dit pad vereiste extractie en onveilige deserialisatie. Kapotte Pickle-streams onthulden ook een blinde vlek van de scanner. Een mislukte scan verdient onderzoek voordat iemand het pakket opent. In de ongevaarlijke test van de onderzoekers schreven instructies een bestand voordat de lader

2:18 het kapotte deel bereikte en een fout veroorzaakte. Stel je voor dat je een pakket opent, de wasbeer loslaat en dan merkt dat het verzendlabel ongeldig is. De foutmelding arriveert met uitstekende grammatica en verschrikkelijke timing. Hugging Face verwijderde de gerapporteerde voorbeelden binnen vierentwintig uur en wijzigde de scanner. Die specifieke bevinding leidde tot een oplossing. Een beveiligingsscan is nuttig bewijs, en het behandelen van elke scannerfout als een schone verklaring van gezondheid blijft een opmerkelijk genereuze interpretatie van falen.

2:43 Geef de voorkeur aan veilige tensoren en actuele gepatchte laders.

### Wat houdt de sleutel buiten het bereik van de gast?

2:46 PyTorch heeft zijn standaardlader beperkt vanaf versie twee punt zes. Controleer aangepaste code en pin de gecontroleerde revisie. Voer onbekende pakketten geïsoleerd uit zonder persoonlijke sleutels, met beperkte netwerktoegang. Een container vol gemonteerde referenties is een geschenkmand met namespaces. Die openingspuzzel heeft een antwoord. Het laden van fouten vertelt u waar de uitvoering is gestopt. Eerdere instructies zijn mogelijk al uitgevoerd.

3:08 Houd de geheimen buiten het bereik voordat u het pakket opent. Oordeel, onder de motorkap.

### Waarom zou ik dit een NEEDS REVIEW-stempel geven?

3:16 lader. De gratis download moet met een model komen, en de gastenlijst moet mijn beslissing blijven. Als u dit liever leest dan mij hoort zeggen, dan landt de diff elke ochtend gratis in uw inbox op the daily diff dot dev, link hieronder. En dat is de diff voor vandaag. Ik ben Niko van Axrisi. Verantwoord samenvoegen.

## Bronnen

- [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
