29.1.1 A Hugging Face és társainak biztonsági architektúrája

2025.10.06.
AI Biztonság Blog

Mielőtt belemerülnénk a modell piacterek elleni konkrét támadásokba, elengedhetetlen megértenünk, hogyan épül fel a védelmük. Gondolj a Hugging Face-re, a Civitai-ra vagy a TensorFlow Hub-ra úgy, mint a szoftverfejlesztésből ismert csomagkezelőkre (pl. PyPI, npm). Központosítják és elérhetővé teszik az erőforrásokat, de ezzel egyúttal központi célponttá és a bizalommal való visszaélés melegágyává is válnak. A biztonsági architektúrájuk nem egyetlen monolitikus fal, hanem egy többrétegű, gyakran áteresztő védelmi rendszer, amelynek megértése kulcsfontosságú a red team műveletekhez.

Kapcsolati űrlap

AI Biztonság kérdésed van? Itt elérsz minket:

Ezek a platformok alapvetően egy implicit bizalmi modellen működnek: feltételezik, hogy a feltöltők többsége jó szándékú, és a közösség erejére támaszkodnak a rosszindulatú szereplők kiszűrésében. Ez a modell hatékony a skálázhatóság szempontjából, de sebezhetővé teszi őket a célzott, kifinomult támadásokkal szemben.

A többrétegű védelmi modell

A modell hubok védelme általában négy fő pilléren nyugszik, amelyek eltérő hatékonysággal működnek. Egy támadó célja, hogy ezeken a rétegeken észrevétlenül átjusson.

Feltöltő Git Repository Modell Hub Letöltő 1. IAM & Hitelesítés 2. Automata Scannelés (Pickle, Malware) 3. Közösségi Jelentés

1. Identitás és Hozzáférés-kezelés (IAM)

Az első védelmi vonal. Ki tölthet fel? A legtöbb platform alapvető e-mail verifikációt követel meg, de komolyabb szervezetek számára léteznek ellenőrzött „Organization” fiókok. A hozzáférés általában API tokeneken (access tokens) keresztül történik. Egy támadó számára a célpont lehet egy kompromittált, de jó hírű fiók vagy egy frissen regisztrált, látszólag ártalmatlan felhasználó.

  • Védelmi mechanizmus: Felhasználói fiókok, szervezetek, szerepkör alapú hozzáférés (RBAC), API tokenek.
  • Támadási felület: Fióklopás, social engineering a tokenek megszerzésére, hamis identitás létrehozása.

2. Automatizált Tartalomelemzés és Scannelés

Ez a leginkább technikai védelmi réteg. A Hugging Face és más platformok is futtatnak automatikus ellenőrzéseket a feltöltött fájlokon. A legfontosabb célpont a pickle formátum, amely a Python objektumok szerializálására szolgál, és tetszőleges kód futtatására ad lehetőséget deszerializáció során. A modern védekezés a safetensors formátumra épül.

Tulajdonság .pickle / .bin (PyTorch) .safetensors
Kódfuttatás deszerializációkor Lehetséges (RCE sebezhetőség) Nem lehetséges
Formátum Bináris, Python-specifikus virtuális gép Strukturált, egyszerű (JSON header + tenzor adatok)
Betöltési sebesség Lassabb, szekvenciális Gyorsabb (zero-copy a memóriába)
Biztonsági modell „Trust the source” „Trust the format”

A scannerek továbbá kereshetnek ismert malware szignatúrákat a kódfájlokban (.py) és integrálódhatnak külső szolgáltatásokkal, mint a VirusTotal. A támadók célja ezen scannerek megkerülése obfuszkációval, polimorf kóddal, vagy a sebezhetőség olyan rétegbe rejtésével, amit a scanner nem vizsgál (pl. egy komplexebb modell architektúrában).

3. Közösségi és Manuális Felügyelet

A platformok jelentősen támaszkodnak a felhasználói bázisukra. A modelleket lehet jelenteni (flagging), a gyanús viselkedést a fórumokon megvitatni. A népszerű modellek vagy a verifikált szervezetek által feltöltött tartalmak magasabb bizalmi szintet élveznek. Néhány platform „gated” (kapuzott) repókat is használ, ahol a hozzáféréshez el kell fogadni a felhasználási feltételeket, vagy akár manuális jóváhagyás szükséges. Ez lassítja a terjesztést, de egy extra biztonsági réteget ad.

  • Védelmi mechanizmus: Jelentési rendszer, kommentek, letöltésszám és csillagok mint bizalmi mutatók, „gated” repók.
  • Támadási felület: A bizalmi mutatók manipulálása (botokkal generált letöltések, csillagok), a közösségi bizalommal való visszaélés (jó hírnév kiépítése, majd rosszindulatú modell feltöltése).

4. Származáskövetés és Aláírás (Provenance)

Ez a legfejlettebb, de még kevésbé elterjedt védelmi réteg. A cél, hogy kriptográfiailag igazolható legyen egy modell eredete és sértetlensége. Hasonlóan a szoftvercsomagok digitális aláírásához (pl. GPG), a modelleket is el lehetne látni egy digitális aláírással, amely garantálja, hogy az adott modellt valóban a feltüntetett szervezet készítette, és az úton nem módosították.

Bár a Hugging Face a git alapú rendszerével biztosít egyfajta verziókövetést és a commitek GPG aláírását támogatja, ez a gyakorlatban még nem terjedt el széles körben a felhasználók körében. A védelem ezen rétege inkább a jövő, mint a jelen.

Gyakorlati tanulságok a védelem oldaláról

A fenti architektúra ismeretében a védekező oldalon állók számára a legfontosabb tanulság a „zero trust” megközelítés alkalmazása a külső modellekre. Soha ne bízz meg feltétel nélkül egy letöltött modellben, még akkor sem, ha népszerű vagy megbízhatónak tűnő forrásból származik.

A védekezés alapja a biztonságos formátumok preferálása. Amikor csak lehetséges, a safetensors formátumot kell használni a `pickle` helyett. A `transformers` könyvtár ezt már alapértelmezetten támogatja.


from transformers import AutoModel

# A modell betöltése, a rendszer automatikusan a .safetensors fájlt preferálja, ha létezik.
# A `use_safetensors=True` argumentum expliciten is használható.
try:
 # Biztonságos betöltési kísérlet
 model = AutoModel.from_pretrained("google-bert/bert-base-uncased", use_safetensors=True)
 print("A modell sikeresen betöltve a safetensors formátumból.")

except Exception as e:
 # Ha a safetensors nem elérhető, a könyvtár visszatérhet a pickle-höz,
 # ami kockázatot jelenthet. Itt kell kezelni a hibát.
 print(f"Hiba a safetensors betöltésekor, vagy a formátum nem elérhető: {e}")
 # Itt következhet a modell futtatásának megakadályozása vagy sandboxolása.

Összefoglalva, a modell piacterek biztonsági architektúrája egy dinamikus egyensúly a nyitottság, a használhatóság és a biztonság között. A red teamer feladata, hogy megtalálja a repedéseket ezen a többrétegű pajzson, míg a védekezőé, hogy megértse ezeket a gyengeségeket és saját, helyi kontrollokkal erősítse meg azokat.