Eszközök/Biztonság és megfelelés
Protect AI modellszkenner: Guardian nincs többé, a ModelScan viszont van
A Protect AI modellszkennelés felülvizsgálata a Palo Alto Networks felvásárlása után: mi lett a Guardianból, mit tud még a ModelScan, és hogyan teljesítenek a szabad szkennerök.
- Típus
- Model scanning
- Ár
- Free tier · paid enterprise
Balázs Csorba··10 perc olvasás
- Model scanning
- Supply chain
- Pickle
- CI security

A lényeg röviden
- A Protect AI-t a Palo Alto Networks vásárolta fel, az üzlet 2025. július 22-én zárult le; a Guardian kivezetve, a funkciója Prisma AIRS AI Model Security néven fut.
- A ModelScan Apache-2.0 alatt maradt, 0.8.8-as verziója 2026. február 18-i, és csak pickle, TensorFlow SavedModel és Keras H5 formátumot fed le.
- Egy 2026. augusztusi benchmark a 135 címkézett modellcsalád 49,6%-án adott egyértelmű ítéletet a ModelScannek, szemben a ModelAudit 100% és a Fickling 81,5% eredményével.
- A Prisma AIRS AI Model Security 35+ fájltípust és 25+ fenyegetési kategóriát állít, de sem árat, sem független lefedettségi mérést nem közöl.
- Ezeknél a szkenneröknél az 1–4 kilépési kód mind hiba: az 1 találatot jelent, a 2 és felette azt, hogy a szkennelés meg sem történt, ilyenkor buknia kell a buildnek.
A Protect AI valaha olyan cég volt, akinél modellszkennelést lehetett venni. A Palo Alto Networks 2025. április 28-án jelentette be a felvásárlást, és 2025. július 22-én zárta le, így most nem egy szállítót kell értékelni, hanem két tárgyat: a Prisma AIRS AI Model Security-t, a fizetős szkennert, amivé a Guardian vált, és a ModelScan-t, egy Apache-2.0 parancssori eszközt, amely továbbra is települ PyPI-ről. Ennek a recenziónak az álláspontja: a modellfájl szkennelése CI gate, nem beszerzési kategória. A fizetős réteg irányelveket, származást és auditnyomot vesz, és a nyilvános anyagokban semmi sem mutatja, hogy olyasmit tenne fel, amit a szabad eszközök elszalasztanának.
Egy modellfájl végrehajtható kód adattudományos kiterjesztéssel, mert a PyTorch-szal történő betöltése pontosan azt futtatja, amit a benne lévő pickle kér. A szkenner így a registry és a deploy lépés között ül, ugyanott, ahová egy piactéri eszköz vagy egy nyilvános indexből származó csomag érkezik; érvelése megegyezik az MCP-biztonsági checklist gondolatmenetével, a súlyokra is. A szabad konkurencia a ModelAudit és a Picklescan, kereskedelmi oldalon pedig a JFrog kutatócsapata publikálta a lejjebb tárgyalt PickleScan-megkerüléseket.
Mi ez
A ModelScan egy Python-csomag egyetlen paranccsal: byteonként olvassa a fájlt, a kódlehajtásig vezető szerializációs szerkezeteket keresi, és súlyosság szerint jelenti őket, a modellt soha nem töltve be. A Guardian ennek a gondolatnak a hosztolt és vállalati rétege volt, modelleket szkennelt CI-ben és registrykben, kényszerített irányelveket és vezetett auditnyomot, ezen a néven már nincs. A képességet Prisma AIRS AI Model Security néven árulják a Prisma AIRS platformon belül, amely további futidővédelmet, red teaminget és posture managementet is hoz.
- Szállító: Protect AI, ma a Palo Alto Networks része; a felvásárlás 2025. július 22-én zárult le
- Szabad rész: ModelScan, Apache-2.0, PyPI 0.8.8-as verzió 2026. február 18-ról, Python 3.10–3.12
- Fizetős rész: Prisma AIRS AI Model Security, 35+ fájltípus és 25+ fenyegetési kategória, ár csak kérésre
- Detekció: nem biztonságos szerializációs szerkezetek, beágyazott kártékony kód, hátsó kapuk és szerkezeti anomáliák, CRITICAL-től LOW-ig minősítve
- Felület:
modelscan -p PATH, konzolos vagy JSON kimenet, 0–4 kilépési kód - Elhelyezkedés: a szkennelés a saját környezetben fut, így a modellfájlok és a szellemi termék helyben marad, a termékoldal szerint
- A Guardian eltűnt: a protectai.com/guardian 404-et ad, a Hugging Face dokumentációs oldala pedig továbbra is erre a halott címre hivatkozik
Aki már fizet a Prisma AIRS-ért, annál a modellszkennelés egy pipa egy amúgy is birtokolt platformon. Aki nem fizet, annál ugyanez a gate állítható össze ModelScanból és egy CI lépésből, nulla költséggel. Ez az aszimmetria, nem valamilyen detekciós benchmark forgatja körül ezt a recenziót.
Hogyan működik
A statikus szkennelés éppen azt a csapdát kerüli el, amely ellen védelmet nyújt: a fájlban semmi sem deszerializálódik. A ModelScan README-je szerint a fájlt byteonként, szövegként olvassa, és nem biztonságos kódaláírásokat keres, ami egyszerre korlátozza a futási időt és a kockázatot, hiszen egy szkennelés nagyjából annyit tart, amennyi a fájl lemezről olvasása. A találatok CRITICAL, HIGH, MEDIUM vagy LOW minősítéssel érkeznek, a folyamat kilépési kódja pedig továbbítja az ítéletet a CI-be.
A fizetős réteg azt teszi hozzá, amit egy fájlonként dolgozó eszköz nem láthat. A Palo Alto Networks azt állítja, hogy a szkennelések a Advanced WildFire fenyegetési intelligencia és a huntr kutatóközösség bejelentései alapján validálják a modelleket, az elemzés a ügyfél saját környezetében fut, a buildrendszerek pedig API-n kapcsolódnak; 2026 januárjában jöttek az Artifactory- és GitLab-források. Ezek intelligenciáról, származásról és workflowról szóló állítások, és egyikük sem mondja, hogy a parser pontosabban olvasná a fájlt.
Statisztikus, nem viselkedésalapú
Egyik réteg sem figyeli a modell működését. Egy szkenner sem mondja meg, hogy egy réteg csak bizonyos bemeneti elosztásra aktiválódik, vagy hogy a pontosságot csendben visszavágták egy felhasználói csoportnál; ahhoz a saját adatain végzett kiértékelés kell, agenteknél pedig olyan futidőbeli kontrollok, amilyenek az AI agent sandbox checklist leír. A statikus elemzés egyetlen kérdésre válaszol: tartalmaz-e a fájl betöltéskor lefutó szerkezeteket. Jól megválaszolni ezt sokat ér, amíg senki nem olvassa úgy, hogy nincs találat, akkor biztonságos.
Támogatott formátumok
A formátumlefedettség az, ahol a szabad eszköz és a fizetős termék a legtávolabb kerül egymástól, és ahol a szabad eszköz legalább őszinte a korlátairól.
| Formátumcsalád | ModelScan, szabad | Prisma AIRS AI Model Security |
|---|---|---|
| Pickle változatok | torch, scikit-learn, XGBoost, joblib, dill, cloudpickle | A 35+ fájltípusból álló állított halmazon belül |
| TensorFlow SavedModel | protokollpuffer, a szkenner extra csomagban | A TensorFlow szerepel a termékoldalon |
| Keras HDF5 | h5 és keras v3, a szkenner extra csomagban | A Keras ugyanebben az állításban benne van |
| ONNX és egyéb tenzorformátumok | Nincs a dokumentált halmazban | Az ONNX kifejezetten szerepel a 35+ között |
| Archívumok, manifestek, konfigok | Nincs állítva | A 25+ fenyegetési kategória része |
| Hátsó kapuk a súlyokban | Nincs állítva | Detekciós kategóriaként szerepel |
A lényeges rés nem a hiányzó formátum, hanem a fel nem sorolt: egy szkenner nem tud olyat szkennelni, amit nem ismer fel, az ismeretlen fájlnak pedig kontrolláltan kell megbuknia, nem csendben átmennie. A ModelScan ezt jól csinálja, a 3-as kilépési kódot adja, ha nem kap támogatott fájlt. Bármely szállító formátumlistájának azt a kérdést érdemes feltenni, mi történik a harminchatodik fájltípussal.
Első lépések
A szabad út két parancs: telepíteni a csomagot, rászegezni egy könyvtárra. A CI-ben nem a szöveges kimenet számít, hanem a kilépési kód, mert a 0 tiszta, az 1 találat, a 2, 3 és 4 pedig azt jelenti, hogy a szkennelés valójában meg sem történt.
# CI gate: scan every model before it reaches the registry
pip install "modelscan[tensorflow,h5py]"
modelscan --path ./models --reporting-format json --output-file scan.json
status=$?
# 0 clean, 1 findings, 2 scan failed, 3 no supported files, 4 usage error
if [ "$status" -ne 0 ]; then
echo "modelscan returned $status: refusing to publish"
exit 1
fiA 2, 3 és 4 kezelje hibaként. Egy szkenner, amely elszabadul egy sérült archívumon, vagy kihagy egy ismeretlen fájltípust, szinte ugyanazt nyomtatja, mint egy tiszta futás, ha a pipeline nincs rá építve, hogy észrevegye. A JFrog által publikált PickleScan-megkerülének pontosan ilyenek voltak: egy fájl úgy megalkotva, hogy a szkenner hibát kap vagy más útra tér, miközben a PyTorch panasz nélkül betölti.
Mi maradt meg
Egyértelműen: a Guardian többé nem létezik termékként. A protectai.com/guardian 404-et ad, maga a protectai.com ma a Prisma AIRS oldalait szolgálja ki, és az egyetlen első kézből származó leírás egy Hugging Face dokumentációs oldal, amely továbbra is a halott URL-re mutat. A felvásárlást 2025. április 28-án jelentették be, 2025. július 22-én zárták le, a szkennelési képesség ma Prisma AIRS AI Model Security néven szerepel, 2026 januárjában pedig Artifactory-, GitLab- és felhőtárhely-források érkeztek.
A ModelScan ép maradt. A repository továbbra is a protectai szervezet alatt van, Apache-2.0 licenccel, 780 csillaggal, a PyPI 0.8.8-as verziója pedig 2026. február 18-i dátumú. A README-je még mindig azt tanácsolja, nézzük meg a Guardiant, és a halott oldalra mutat; ez éppen olyan jó jel a projekt karbantartási hőmérsékletéről, mint bármelyik más: működik, csendben elhanyagolva, nem feladva.
A kereskedelmi oldal ugyanazt a formát hozza más címen. Nincs nyilvános ár, csak demókérés, és egy szám, ami egy értékesítési beszélgetés után érkezik. Ez a biztonsági szoftvereknél szokásos; egy CI gate-et árazó mérnöknek azt jelenti, hogy a fizetős rétegnek elég sokkal jobbnak kell lennie a szabad eszközöknél, hogy megérje a beszerzést, és ezt egyetlen publikált mérés sem mutatja.
Hol dörzsöl
Először a gyengeségek. A ModelScan három formátumcsaládot fed le, a szabad konkurencia tucatnyit. Egy fájl statikus olvasása semmit sem mond a viselkedésről. A szállítótól nincs független lefedettségi mérés, és a rendelkezésre álló egyetlen független benchmark kedvezőtlen: egy 2026. augusztusi, 135 címkézett pickle- és PyTorch-családot vizsgáló kutatás szerint a ModelScan a családok 49,6%-ánál adott egyértelmű ítéletet, szemben a ModelAudit 100% és a Fickling 81,5% eredményével. Amikor a ModelScan mégis döntött, a precizitás, a recall és az F1 is 100% volt. A fizetős rétegnek pedig nincs megkereshető ára.
| Eszköz | Mit fed le | Független bizonyíték | Költség |
|---|---|---|---|
| Prisma AIRS AI Model Security | 35+ fájltípus, 25+ fenyegetési kategória | Nincs publikált lefedettségi mérés | Kérésre, nincs nyilvános ár |
| ModelScan | Pickle, TensorFlow SavedModel, Keras H5 | Egyértelmű ítélet 135 címkézett család 49,6%-án | Apache-2.0 |
| ModelAudit | 45 regisztrált szkenner, archívumok és konfigok | Egyértelmű ítélet a családok 100%-án | MIT |
| Picklescan | Csak pickle bájtkód | Három CVSS 9.3 megkerülés, javítva a 0.0.31-ben | MIT |
A harmadik oszlopot olvassa hibaérték-mód figyelmeztetésként, nem ranglistaként. Egy eszköz, amely a bemutatott anyag felénél ad ítéletet, és abban a felében tökéletes, a többi időben hallgat, a hallgatást pedig a CI gate sikerként jelenti. Ugyanez a benchmark azt találta, hogy a 48 kártékony családnál, amelyeket a ModelScan nem tudott elemezni, a ModelAudit és a Fickling is kiszúrta a payloadot, a Fickling pedig azon túl nem talált valódi találatot, amit a másik két eszköz már lefedett. A következtetés: futtasson két szkennert, ne vegyen ötödiket.
Ítélet
A Protect AI szkennelése csak akkor éri meg a vásárlást, ha a Prisma AIRS egyébként is a megrendelésen van; önmagában véve ez egy irányelv- és auditréteg, amelyet platformként áraznak. Szabad formában szűk, hasznos CI gate, amely sosem lehet az egyetlen. A mérnöki ítélet, amelyhez ez a recenzió ragaszkodik: a modellszkennelés infrastruktúra, mint egy linter. Legyen olcsó, offline, kilépési kódra épülő és unalmas. Egy termék, amelynek fő érve egy fenyegetési intelligencia-feed, másik rétegről beszél.
- A ModelScan akkor jó, ha ingyenes, offline gate kell pickle-, TensorFlow- és Keras-fájlokra, és minden nem nulla kilépési kódot buildhibaként kezel
- A Prisma AIRS AI Model Security akkor kell, ha a származás, az irányelv-érvényesítés és az auditnyom olyasmi, amiről a könyvvizsgálók amúgy is kérdeznek; a detekció önmagában nem indokolja az árat
- Ne vezesse be egyiket sem egyetlen kontrollként: a lefedettségi számok azt mutatják, hogy a második szkenner és a fail-closed szabály többet számít, mint a dobozon lévő márka
- Ne a Guardian körül tervezzen: a terméknév visszavonva, az URL halott, és minden migrációs tanács, amely említi, elavult
- Ha lehet, safetensors-t és más nem végrehajtható formátumot válasszon, mert a legerősebb modellszkennelési irányelvnek egyáltalán nem kell deszerializátort használnia
Amelyik szkenner csak a bemutatott anyag felét fejezi be, az nem gate. Az egy sebességfokozat zöld lámpával.
Források
- Palo Alto Networks: a Protect AI felvásárlásának lezárása
- Prisma AIRS AI Model Security termékoldal
- A protectai.com-on kiszolgált Prisma AIRS platformoldal
- ModelScan repository és README
- ModelScan a PyPI-n
- ModelAudit repository és README
- promptfoo dokumentáció: modellszkennelés
- Beyond F1: Evaluating Coverage and Failure Recovery in AI Model Security Scanners
- JFrog: három zero-day sebezhetőség a PickleScanben
- PickleScan repository és README
- Hugging Face Hub dokumentáció: Protect AI harmadik féltől származó szkenner
Gyakori kérdések
Mi történt a Protect AI Guardiannal?
A Palo Alto Networks 2025. április 28-án jelentette be a Protect AI felvásárlását, és 2025. július 22-én fejezte be. a Guardian mint terméknév megszűnt: a protectai.com/guardian 404-et ad, a tartomány pedig ma a Prisma AIRS oldalait szolgálja ki. A modellszkennelési képesség a Prisma AIRS platformon belül Prisma AIRS AI Model Security néven folytatódik.
Ingyenesen használható a ModelScan?
Igen. A ModelScan Apache-2.0 licencű, pip install modelscan paranccsal települ, a 0.8.8-as verzió 2026. február 18-án jelent meg Python 3.10–3.12 rendszerekre. Nincs hozzá hosztolt szolgáltatás, fiók és használati korlát sem.
Milyen modellformátumokat támogat a ModelScan?
Pickle és pickle-származtatott formátumokat, mint a PyTorch, scikit-learn, XGBoost, joblib, dill és cloudpickle, továbbá TensorFlow SavedModel és Keras H5 fájlokat, a TensorFlow- és H5-szkennerek pedig extra csomagként települnek. Minden más a 3-as kilépési kóddal jön vissza, nem tiszta eredménnyel.
Elég egy modellszkenner egy letöltött modell megbízásához?
Nem. A statikus szkennelés a betöltéskor lefutó kódot fogja meg; a súlyokba rejtett hátsó kaput és az Ön adatain való viselkedést nem látja. A szabad szkennerök lefedettsége nagyon eltér, ezért futtasson többet, bukasson a buildet, ha egy szkennelés nem fejeződik be, és lehetőleg olyan formátumot válasszon, amely egyáltalán nem futtat kódot.