5.1.1 Átfogó keretrendszerek: ART, CleverHans és Foolbox

2025.10.06.
AI Biztonság Blog

Mielőtt fejest ugranánk a legújabb, kifejezetten nyelvi modellekre szabott eszközökbe, elengedhetetlen, hogy megértsük azokat az alapvető keretrendszereket, amelyekre az egész adversarial ML terület épül. Ezek az eszközök nem csupán a képfelismerő modellek támadására születtek; a bennük rejlő elvek és implementációk univerzálisak, és a mai napig relevánsak. Ahelyett, hogy minden támadást a nulláról építenénk fel, ezek a könyvtárak standardizált, megismételhető és összehasonlítható módszereket kínálnak a modellek sebezhetőségeinek feltárására.

Kapcsolati űrlap

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

Adversarial Robustness Toolbox (ART)

Ha egyetlen, mindentudó svájci bicskát kellene választani az AI biztonsági teszteléshez, az valószínűleg az IBM által fejlesztett Adversarial Robustness Toolbox (ART) lenne. Ez a legátfogóbb, ipari szintű keretrendszer, amely nemcsak támadások, hanem védelmi mechanizmusok széles skáláját is implementálja.

Az ART legnagyobb ereje a modularitásában és a platformfüggetlenségében rejlik. Zökkenőmentesen működik együtt a legnépszerűbb mélytanulási könyvtárakkal (PyTorch, TensorFlow, Keras, scikit-learn stb.), így a meglévő munkafolyamatokba is könnyen integrálható. Nem korlátozódik egyetlen támadástípusra sem:

  • Evasion (Kikerülés): A klasszikus támadások, ahol a bemeneti adatokat módosítjuk a modell megtévesztésére.
  • Poisoning (Mérgezés): A tanító adathalmaz manipulálása hátsó kapuk vagy általános teljesítményromlás elérése érdekében.
  • Extraction (Kinyerés): A modell belső működésének vagy a tanító adatoknak a visszafejtése API-hívásokon keresztül.
  • Inference (Következtetés): Szenzitív információk kinyerése a modell kimeneteiből.

Az ART absztrakciós rétege lehetővé teszi, hogy a támadásokat és a modelleket könnyen cserélgessük. 

Egy AI Red Teamer számára ez felbecsülhetetlen értékű, mert gyors kísérletezést tesz lehetővé különböző forgatókönyvekkel.


# ART pszeudokód-szerű példa egy PGD támadásra
import torch
from art.estimators.classification import PyTorchClassifier
from art.attacks.evasion import ProjectedGradientDescent

# 1. Betöltjük a már betanított modellt és az optimalizálót
model = BetoltottModell()
optimizer = torch.optim.Adam(model.parameters(), lr=0.01)
loss_fn = torch.nn.CrossEntropyLoss()

# 2. Bemeneti adatok (pl. egy kép)
x_bemenet = torch.randn(1, 1, 28, 28) 

# 3. ART "wrapper" létrehozása a modell köré
# Ez egységes interfészt biztosít az ART számára
classifier = PyTorchClassifier(
 model=model,
 loss=loss_fn,
 optimizer=optimizer,
 input_shape=(1, 28, 28),
 nb_classes=10,
)

# 4. A támadás inicializálása
# Létrehozzuk a Projected Gradient Descent támadási objektumot
attack = ProjectedGradientDescent(estimator=classifier, eps=0.3, max_iter=40)

# 5. A támadási minta (adversarial example) generálása
x_tamadott = attack.generate(x=x_bemenet)

# Az `x_tamadott` most már a modell megtévesztésére alkalmas bemenet
 

CleverHans

A CleverHans az adversarial ML kutatás egyik úttörője, nevét a híres lóról kapta, amely látszólag számolni tudott, de valójában a gazdája finom jelzéseire reagált. A könyvtárat Ian Goodfellow és Nicolas Papernot hozták létre, és elsődleges célja a kutatás felgyorsítása és a támadások standardizálása volt. Bár a fejlesztése az utóbbi években lelassult, hatása a területre vitathatatlan, és oktatási szempontból továbbra is kiváló forrás.

A CleverHans fókuszában a klasszikus, gradien-alapú kikerülési támadások állnak, mint például az FGSM (Fast Gradient Sign Method), a PGD (Projected Gradient Descent) vagy a Carlini & Wagner (C&W) támadások. Kódja gyakran egyszerűbb és könnyebben érthető, mint az ART-é, ami ideálissá teszi az alapelvek megértéséhez. Ha meg akarod érteni, hogyan működik egy támadás a „motorháztető alatt”, a CleverHans implementációja remek kiindulópont.

Foolbox

A Foolbox egy modernebb, letisztultabb keretrendszer, amely egyetlen célt tűzött ki maga elé: megtalálni azt a minimális perturbációt, ami elegendő egy modell megtévesztéséhez. Míg az ART a teljes biztonsági ciklust lefedi, a Foolbox kifejezetten a támadások hatékonyságának és a modellek robusztusságának összehasonlítására (benchmarking) specializálódott.

Natívan támogatja a PyTorch, TensorFlow és JAX keretrendszereket, és rendkívül tiszta API-val rendelkezik. A használata során a hangsúly a támadás és a modell közötti interakción van, és azon, hogy különböző metrikák (pl. L2, L-infinity távolság) szerint melyik támadás a „legerősebb” egy adott architektúrával szemben. Egy Red Team operátor számára ez azt jelenti, hogy gyorsan felmérheti, melyik támadási vektor a legígéretesebb egy célpont ellen, minimalizálva a „zajt” és a detektálás esélyét.

Összehasonlítás és a helyük a modern eszköztárban

Bár mindhárom eszköz a modellek sebezhetőségeit célozza, filozófiájuk és erősségeik eltérőek. Az alábbi táblázat segít elhelyezni őket a térképen.

Keretrendszer Fő Fókusz Támogatott Könyvtárak Legfőbb Erősség Helye a Red Teamingben
ART Átfogó biztonsági tesztelés (támadás, védelem, tanúsítás) PyTorch, TF, Keras, XGBoost, scikit-learn, stb. Sokoldalúság, ipari szintű funkcionalitás, teljes támadási életciklus támogatása. Nagyvállalati környezetben, ahol a teljes AI pipeline robusztusságát kell értékelni.
CleverHans Kutatás és oktatás, alapvető támadások implementációja Főleg TensorFlow (régebbi verziók) Koncepcionális tisztaság, az alapelvek megértésének segítése. Tanulási fázisban, vagy ha egy klasszikus támadás viselkedését kell mélyen megérteni.
Foolbox Támadások összehasonlítása, minimális perturbációk keresése PyTorch, TensorFlow, JAX Tiszta API, benchmarking, a leghatékonyabb támadás gyors megtalálása. Célzott támadások kidolgozásakor, ahol a lopakodás és a hatékonyság kulcsfontosságú.

Ezek a keretrendszerek fektették le azokat az alapokat, amelyekre a következő fejezetekben tárgyalt, LLM-specifikus eszközök is építenek. A gradiensekkel való manipuláció, a döntési határok feltérképezése és a perturbációk optimalizálása mind olyan koncepciók, amelyek a képfelismerő modellek világából származnak, de ma már a prompt engineering és a nyelvi modellek elleni támadások gerincét adják. Az itt megszerzett tudás tehát nem elavult, hanem nélkülözhetetlen alap, amelyre a legmodernebb technikákat is építheted.