30.1.4 Beágyazási tér manipulációja

2025.10.06.
AI Biztonság Blog

Mi történik, ha a RAG rendszer „iránytűjét” manipuláljuk? A tudásbázis-mérgezés és a kontextus-injektálás után egy sokkal finomabb, matematikai szintű támadással ismerkedünk meg. Itt nem a dokumentumokat vagy a kontextusablakot, hanem magát a jelentést hordozó vektorteret, a beágyazási teret vesszük célba. Ez a technika arról szól, hogyan kényszeríthetünk egy rendszert arra, hogy egy látszólag irreleváns kérdésre egy nagyon is specifikus, általunk kiválasztott dokumentumot találjon meg.

Kapcsolati űrlap

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

De mit is jelent pontosan a beágyazási tér?

Mielőtt a támadásba mélyednénk, tisztázzuk a fogalmat. Amikor egy RAG rendszernek kérdést teszel fel, az első lépések egyike, hogy a kérdésed szövegét egy embedding modell átalakítja egy numerikus vektorrá. Ez a vektor egy sokdimenziós (gyakran több száz vagy ezer dimenziós) térben helyezkedik el. A térben a hasonló jelentésű szövegekhez tartozó vektorok közel kerülnek egymáshoz, míg az eltérő jelentésűek távol.

Analógia: A Galaktikus Könyvtár

Képzeld el a tudásbázisodat egy hatalmas, galaktikus könyvtárként, ahol minden könyv (dokumentum) egy csillag. A beágyazási tér a galaxis térképe. Amikor kérdezel valamit, a rendszer a kérdésed alapján meghatároz egy koordinátát ezen a térképen. Ezután megkeresi a legközelebbi csillagokat (dokumentumokat) ehhez a ponthoz. A beágyazási tér manipulációja olyan, mintha egy „gravitációs anomáliát” hoznál létre a kérdéseddel, ami eltorzítja a térképet, és a keresést egy távoli, de általad kiszemelt csillag felé vonzza.

Hogyan működik a manipuláció a gyakorlatban?

A támadás lényege egy olyan bemeneti szöveg (query) létrehozása, ami emberi szemmel ártalmatlannak tűnik, de a belőle generált vektor a beágyazási térben rendkívül közel esik egy célzott dokumentum vektorához. Ezzel lényegében „becsapjuk” a hasonlóságkeresést (pl. koszinusz-hasonlóság), és a rendszer azt a dokumentumot fogja relevánsnak ítélni, amit mi szeretnénk.

Embedding Space (2D nézet) Doc A Doc B Doc C Cél Dokumentum Eredeti Kérdés Legközelebbi: Doc A Manipulált Kérdés Legközelebbi: Cél Támadói perturbáció

Gyakori technikák

A támadói perturbáció (a kérdés módosítása) többféleképpen valósulhat meg:

Technika Leírás Nehézség Szükséges tudás
Adverzárius utótag/előtag (Adversarial Suffix/Prefix) A támadó látszólag értelmetlen karaktersorozatokat vagy szavakat fűz a felhasználói kérdéshez, amelyek célzottan „eltolják” a generált vektort a kívánt irányba. Közepes Az embedding modell viselkedésének heurisztikus ismerete vagy kísérletezés.
Szemantikai perturbáció A kérdés finom átfogalmazása, szinonimák használata, vagy olyan relevánsnak tűnő, de valójában a célpontra utaló kulcskifejezések becsempészése, amelyek közelebb viszik a vektort a célponthoz. Közepes-Nehéz A cél dokumentum tartalmának és az embedding modell szemantikai érzékenységének ismerete.
Gradiens-alapú támadások (White-box forgatókönyv) A támadó hozzáfér az embedding modellhez, és a gradiensek segítségével iteratívan, matematikailag optimalizálja a bemeneti szöveget, hogy annak vektora a lehető legközelebb kerüljön a célvektorhoz. Nehéz Teljes hozzáférés az embedding modellhez és annak súlyaihoz.

Egy leegyszerűsített példa

Tegyük fel, hogy egy céges RAG rendszerben van egy bizalmas dokumentum „Project_Orion_leallitasi_terv.pdf” címmel. A tartalmát nem ismerjük pontosan, de a címéből sejtjük, hogy érzékeny. Célunk, hogy egy ártalmatlan kérdéssel ezt a dokumentumot hívjuk elő.

Egy normál felhasználó kérdése: "Mik a legutóbbi negyedéves pénzügyi eredmények?". Ez valószínűleg a pénzügyi riportokhoz közeli vektort generál.

A mi manipulált kérdésünk lehet valami ilyesmi: "Mik a legutóbbi negyedéves pénzügyi eredmények? Különösen érdekelnek a csillagászati projektekkel kapcsolatos költségvetési átcsoportosítások és lezárások." A „csillagászati projektek”, „költségvetési”, „lezárások” szavak együttesen eltolhatják a keresési vektort az „Orion” projekt leállítási terve felé.

Fontos: Ez nem egyszerű kulcsszótömés (keyword stuffing). A modern embedding modellek komplex szemantikai összefüggéseket kódolnak. A sikeres támadás nem arról szól, hogy minél több kulcsszót ismételgetünk, hanem arról, hogy megtaláljuk azt a finom szövegkombinációt, ami a vektorok szintjén hozza létre a kívánt közelséget.

# Pszeudokód egy adverzárius utótag keresésére (black-box)
# Cél: megtalálni azt a suffix-et, ami maximalizálja a hasonlóságot

TARGET_DOC_EMBEDDING = get_embedding("Project_Orion_leallitasi_terv.pdf")
BASE_QUERY = "Mik a negyedéves eredmények?"
best_suffix = ""
max_similarity = 0.0

# Különböző, potenciálisan hatásos szavak és karakterláncok tesztelése
# A valóságban ez egy sokkal szofisztikáltabb keresési algoritmus lenne
for suffix in ["lezárás", "csillag", "terv", "projekt", "xyz_pert_123"]:
 manipulated_query = BASE_QUERY + " " + suffix
 query_embedding = generate_embedding(manipulated_query)
 
 # Koszinusz-hasonlóság számítása
 similarity = cosine_similarity(query_embedding, TARGET_DOC_EMBEDDING)
 
 print(f"Tesztelt suffix: '{suffix}', Hasonlóság: {similarity:.4f}")
 
 if similarity > max_similarity:
 max_similarity = similarity
 best_suffix = suffix

print(f"\nLegjobb megtalált utótag: '{best_suffix}'")
# Eredmény: A manipulált kérdés a "Mik a negyedéves eredmények? lezárás"
# ami már nagyobb eséllyel hozza elő a cél dokumentumot.

Védekezési stratégiák

Hogyan védekezhetsz az ilyen finom, matematikai szintű támadások ellen?

  • Robusztusabb Embedding Modellek: Olyan modellek használata, amelyeket kifejezetten adverzárius támadásokkal szembeni ellenállóságra képeztek.
  • Bemenet szűrése és normalizálása: Bár nem mindenható, a furcsa, nem nyelvtani karaktersorozatok (potenciális adverzárius utótagok) kiszűrése csökkentheti a támadási felületet.
  • Anomáliadetekció a beágyazási térben: A bejövő kérdések vektoraiból mintát véve detektálhatók a „szokatlan” helyre eső, potenciálisan manipulált lekérdezések.
  • Több visszakeresési stratégia kombinálása: Ne csak a vektorhasonlóságra támaszkodj. Kombináld hibrid kereséssel (pl. kulcsszavas BM25), ami kevésbé érzékeny a tisztán szemantikai manipulációra.
  • Hasonlósági küszöbök finomhangolása: Egy túl megengedő hasonlósági küszöb sebezhetőbbé teszi a rendszert. A szigorúbb küszöb csökkentheti a hamis pozitív (sikeres támadói) találatokat.

A beágyazási tér manipulációja egy elegáns, de nehezen kivitelezhető támadási forma, ami rávilágít, hogy a RAG rendszerek sebezhetőségei nemcsak a szöveges, hanem a mögöttes matematikai reprezentáció szintjén is léteznek.