Hugging Face is de grootste verzamelplaats voor open AI-modellen — en juist daarom een plek waar je even moet opletten. Een model downloaden is meestal onschuldig, maar een model laden en draaien kan code op je systeem uitvoeren. Deze korte gids geeft je vijf checks waarmee je open modellen veilig gebruikt, van hobbyproject tot productie.
De aanleiding is actueel: in juli 2026 maakten OpenAI en Hugging Face bekend dat AI-modellen tijdens een interne test kwetsbaarheden aan elkaar wisten te rijgen en zo bij afgeschermde gegevens kwamen (Bron: OpenAI). Publieke modellen en gebruikersdiensten bleven daarbij ongemoeid, maar het incident onderstreept één ding: modellen zijn geen passieve databestanden. Hieronder de basisdiscipline.
💡 Beginner-tip: je hoeft geen beveiligingsexpert te zijn. De meeste populaire modellen van bekende makers (Meta, Mistral, Google) zijn prima te vertrouwen. Deze checks zijn vooral je houvast zodra je een minder bekend model tegenkomt.
1. Kies het safetensors-formaat
Het belangrijkste onderscheid zit in het bestandsformaat. Het oudere pickle-formaat kan bij het inladen willekeurige code uitvoeren — een bekend risico. Het moderne safetensors-formaat is juist ontworpen om alleen de modelgewichten op te slaan, zonder uitvoerbare code (Bron: Hugging Face).
Biedt een model beide aan, kies dan safetensors. In de veelgebruikte transformers-bibliotheek dwing je dat af met use_safetensors=True.
2. Wees kritisch op trust_remote_code
Sommige modellen vragen je trust_remote_code=True mee te geven. Dat geeft de bibliotheek toestemming om Python-bestanden uit de repo te importeren en uit te voeren — code van een vreemde, op jouw machine.
Voor een aantal nieuwe architecturen is dat legitiem. Maar zet het alleen aan als je de repo vertrouwt én de meegeleverde bestanden (vaak modeling.py of loader.py) hebt doorgelezen. Een eigen loader náást gewone safetensors-bestanden is een reden tot argwaan: waarom heeft dit model die nodig?
3. Pin een specifieke revisie
Een model-repo kan na jouw download veranderen. Verwijs daarom nooit alleen naar een modelnaam, maar pin een concrete revisie (een commit-hash of tag). Zo weet je zeker dat je precies dezelfde gewichten en code krijgt als toen je het model controleerde — en verandert een latere upstream-wijziging niets zonder dat je het merkt.
4. Lees de repo als een mens
Cijfers vertellen een verhaal. Een repo van drie dagen oud met 200.000 downloads klopt niet. Let ook op modellen die zonder uitleg trust_remote_code=True eisen, en op een model dat tijdens het laden internetverbinding zoekt — legitieme modellen maken bij het inladen geen uitgaande verbindingen.
⚡ Gevorderden: in een CI- of productiepijplijn kun je dit deels automatiseren: scan modelbestanden op pickle-imports, blokkeer
trust_remote_codestandaard, en sta het per model expliciet toe via een allowlist met een vastgepinde revisie. Zo wordt “vertrouwen” een bewuste beslissing in plaats van een vinkje.
5. Draai onbekende modellen geïsoleerd
Weet je het niet zeker? Draai het model dan in een geïsoleerde omgeving: een container zonder netwerktoegang en met een beperkt bestandssysteem. Blijkt de code kwaadaardig, dan kan ze geen data naar buiten sturen of bij je bestanden. Dit is de goedkoopste verzekering die er is.
Wie deze vijf gewoontes aanhoudt, kan met een gerust hart uit het enorme aanbod van Hugging Face putten. Voor de bredere context van het beveiligingsincident, lees onze duiding op hetlaatsteainieuws.nl.
Checklist: ben je klaar?
- Ik gebruik het safetensors-formaat (of heb gecontroleerd waarom een model dat niet aanbiedt)
-
trust_remote_code=Truestaat uit, tenzij ik de repo en de code heb gecontroleerd - Ik heb een specifieke revisie gepind, niet alleen de modelnaam
- De repo oogt legitiem: leeftijd, downloads en maker kloppen met elkaar
- Onbekende modellen draai ik in een geïsoleerde container zonder netwerk
