Prompt injection: Hogyan téríthetik el a támadók az AI-ügynökök működését?

10 perc olvasás
Az ábrán egy AI-ügynök reagál a rejtett utasításokra a prompt injection veszélyére.

A modern AI-ügynökök már nemcsak válaszokat adnak, hanem fájlokat olvasnak, rendszerekhez kapcsolódnak, adatokat keresnek és műveleteket hajtanak végre. Ez hatékonyabbá teszi a munkát, ugyanakkor új biztonsági kockázatokat is létrehoz.

A prompt injection olyan támadási forma, amelyben valaki rejtett vagy megtévesztő utasításokkal próbálja befolyásolni az AI-ügynök viselkedését. Megmutatjuk, hogyan működik ez a gyakorlatban, milyen jelekre figyelj, és milyen védelmi rétegeket érdemes beépítened.

Mit jelent a prompt injection, és miért veszélyes?

A prompt injection során a támadó olyan szöveget helyez el, amelyet az AI-ügynök utasításként értelmezhet. Ez a szöveg származhat közvetlenül a felhasználótól, de megjelenhet egy weboldalon, e-mailben, dokumentumban vagy adatbázisban is.

A probléma abból adódik, hogy az AI sok esetben nehezen különbözteti meg a megbízható utasítást a feldolgozandó tartalomtól. Ha például egy ügynök weboldalakat elemez, egy oldalon elhelyezett „hagyd figyelmen kívül az előző szabályokat” típusú mondat megpróbálhatja eltéríteni a működését.

A támadás nem feltétlenül látványos. Előfordulhat, hogy az ügynök csak hibás összefoglalót készít, de az is, hogy bizalmas adatokat továbbít, jogosulatlan műveletet indít vagy veszélyes utasítást követ.

A kockázat különösen nagy akkor, ha az AI-ügynök külső eszközökhöz is hozzáfér. Minél több rendszert, API-t, fájlt vagy üzleti folyamatot ér el, annál fontosabb, hogy szigorú korlátok és ellenőrzések védjék.

Így téríthetik el a támadók az AI-ügynök döntéseit

A támadók általában nem közvetlenül az AI-modellt próbálják „feltörni”, hanem az ügynök által feldolgozott tartalomba csempésznek megtévesztő utasításokat. Ezek az utasítások úgy tűnhetnek, mintha a rendszer működéséhez tartoznának.

Az eltérítés több lépésben történhet:

  • A támadó elhelyez egy manipulált szöveget egy dokumentumban vagy weboldalon.
  • Az AI-ügynök beolvassa és értelmezi ezt a tartalmat.
  • A szöveg megpróbálja felülírni az eredeti feladatot vagy biztonsági szabályokat.
  • Az ügynök egy nem kívánt műveletet javasol vagy hajt végre.
Támadási helyzet Lehetséges következmény Hasznos védelem
Manipulált weboldal Hibás összefoglaló vagy adatküldés Források elkülönítése, kimeneti ellenőrzés
Mérgezett dokumentum Bizalmas információ kiszivárgása Fájltartalom szűrése, érzékeny adatok maszkolása
Megtévesztő felhasználói kérés Szabálykerülő válasz vagy művelet Jogosultság-ellenőrzés, megerősítési lépés
Eszközhasználatra épülő támadás Jogosulatlan API- vagy rendszerhívás Minimális jogosultság, naplózás, engedélyezési lista

Érdemes úgy tekintened az AI-ügynök által beolvasott külső tartalomra, mint potenciálisan megbízhatatlan bemenetre. A tartalom lehet hasznos adat, de nem szabad automatikusan utasításként kezelni.

A legfontosabb szabály, hogy az ügynök ne hajtson végre visszafordíthatatlan műveletet pusztán egy külső szöveg alapján. Pénzügyi tranzakció, e-mail-küldés, fájltörlés vagy jogosultságmódosítás előtt kérj külön ellenőrzést vagy emberi jóváhagyást.

A leggyakoribb prompt injection támadási módszerek

A közvetlen prompt injection akkor jelenik meg, amikor a támadó maga adja be a manipulált utasítást az AI-ügynöknek. Ilyenkor gyakran azt próbálja elérni, hogy az ügynök hagyja figyelmen kívül az eredeti szabályokat, fedjen fel belső információkat vagy hajtson végre tiltott műveletet.

A közvetett prompt injection ennél nehezebben észlelhető, mert a veszélyes utasítás nem a felhasználói kérdésben, hanem egy külső forrásban található. Ilyen lehet például egy weboldal, egy PDF-fájl, egy e-mail vagy egy ügyfélszolgálati jegy.

Gyakori módszerek:

  • Utasítások felülírásának kísérlete: a támadó azt állítja, hogy az új szöveg fontosabb az eredeti szabályoknál.
  • Szerepjátékos megtévesztés: az ügynököt egy másik szerep felvételére próbálják rávenni.
  • Adatkiszivárogtatás kérése: belső promptokat, tokeneket vagy más felhasználók adatait akarják megszerezni.
  • Kódolt vagy rejtett utasítások: a veszélyes tartalmat például HTML-ben, képfájlban vagy nehezen olvasható formában helyezik el.
  • Eszközhasználati manipuláció: az ügynököt egy külső rendszer meghívására vagy fájlműveletre ösztönzik.

A támadók gyakran sürgető vagy hivatalosnak tűnő nyelvezetet használnak. Ezért ne csak a kulcsszavakat figyeld, hanem azt is, hogy az utasítás összhangban áll-e az ügynök feladatával és jogosultságaival.

Hogyan ismerd fel a gyanús utasításokat időben?

Gyanús jel lehet, ha egy feldolgozott tartalom arra kéri az AI-ügynököt, hogy hagyja figyelmen kívül a korábbi szabályokat. Ugyanígy érdemes óvatosnak lenned, ha a szöveg rendszerüzenetnek adja ki magát, vagy titkos konfigurációk, hozzáférési tokenek és belső adatok kiadását sürgeti.

Figyeld az ügynök viselkedését is. Ha egy egyszerű összefoglalási feladat közben fájlokat akar módosítani, külső API-t hívna meg, vagy olyan adatokat keres, amelyekre nincs szüksége, állítsd le a folyamatot, és vizsgáld meg a bemeneteket.

Hasznos ellenőrző kérdések:

  • Az utasítás valóban a feladathoz kapcsolódik?
  • Külső forrásból érkezik, vagy megbízható rendszerüzenetből?
  • Kér-e titkos adatot, jogosultságot vagy veszélyes műveletet?
  • Megpróbálja-e sürgetni vagy megkerülni az ellenőrzést?
  • Összhangban áll-e a szervezet biztonsági szabályaival?

A felismerést automatizált szűrőkkel is támogathatod, de ne hagyatkozz kizárólag rájuk. A támadók változatos megfogalmazásokat használnak, ezért a bemenet, a döntési folyamat és a végrehajtott művelet együttes vizsgálata ad megbízhatóbb védelmet.

Védd az AI-ügynököt réteges biztonsági szabályokkal

A réteges védelem azt jelenti, hogy nem egyetlen prompttól várod a biztonságot. Több, egymást kiegészítő kontrollt érdemes alkalmaznod: bemeneti szűrést, jogosultságkezelést, kimeneti ellenőrzést, naplózást és emberi jóváhagyást.

Különítsd el az ügynök szabályait a feldolgozott adatoktól. A weboldal, e-mail vagy dokumentum tartalma legyen adat, ne pedig automatikusan végrehajtandó parancs. Ezt technikailag is támogathatod külön mezőkkel, világos szerepekkel és strukturált adatfeldolgozással.

Védelmi réteg Mit ellenőriz? Gyakorlati megoldás
Bemeneti réteg Gyanús vagy tiltott utasítások Mintaszűrés, tartalomosztályozás
Döntési réteg Az ügynök szándéka és célja Feladat- és jogosultság-ellenőrzés
Eszközréteg API-k és műveletek használata Engedélyezési lista, paraméterkorlátok
Kimeneti réteg Adatszivárgás és hibás válasz PII-szűrés, formátum- és szabályellenőrzés
Felügyeleti réteg Rendellenes működés Naplózás, riasztások, emberi jóváhagyás

A rendszerüzenetek önmagukban nem jelentenek teljes védelmet. Jó alapot adnak, de a biztonságot külső ellenőrző komponensekkel, korlátozott eszközökkel és megfelelő infrastruktúrával érdemes megerősítened.

Kezdj egyszerűen: határozd meg, mely műveleteket végezheti el automatikusan az ügynök, és melyekhez kell jóváhagyás. Már ez a döntési határ is jelentősen csökkentheti egy sikeres prompt injection következményeit.

Korlátozd az ügynök jogosultságait és eszközeit

Az AI-ügynök csak azokhoz az adatokhoz és eszközökhöz férjen hozzá, amelyek tényleg szükségesek a feladatához. Ezt a „legkisebb jogosultság” elvének nevezik: ha az ügynököt eltérítik, akkor is csak korlátozott kárt okozhat.

Ne adj közvetlen hozzáférést érzékeny rendszerekhez, ha egy köztes szolgáltatás is elegendő. Egy API-proxy például ellenőrizheti a paramétereket, blokkolhatja a veszélyes műveleteket, és naplózhatja az összes kérést.

Érdemes korlátoznod:

  • az elérhető fájlokat és könyvtárakat;
  • a használható API-k körét;
  • a műveletek maximális számát és gyakoriságát;
  • a küldhető adatok típusát;
  • az önállóan végrehajtható, visszafordíthatatlan lépéseket.

A jogosultságokat rendszeresen vizsgáld felül, különösen akkor, ha változik az ügynök feladata. A fejlesztési és éles környezetet válaszd el egymástól, a titkos kulcsokat pedig kezeld biztonságos titokkezelőben, ne promptban vagy forráskódban.

Teszteld és figyeld folyamatosan az AI-ügynök működését

A prompt injection elleni védelem nem egyszeri beállítás. Új adatforrások, eszközök és modellverziók jelenhetnek meg, ezért az ügynököt rendszeresen újra kell tesztelned.

Készíts támadási forgatókönyveket, amelyekben az ügynöknek ellentmondó utasításokat, rejtett szövegeket, sürgető kéréseket és jogosulatlan adatkéréseket kell felismernie. A cél nem az, hogy minden furcsa mondatot elutasítson, hanem hogy biztonságosan kezelje a bizonytalan helyzeteket.

Naplózd legalább az alábbi eseményeket:

  • milyen forrásból érkezett a bemenet;
  • milyen eszközt próbált használni az ügynök;
  • milyen döntést hozott és milyen indoklással;
  • történt-e blokkolás vagy emberi jóváhagyás;
  • milyen adatot adott vissza vagy továbbított.

A monitorozás akkor igazán hasznos, ha riasztások is kapcsolódnak hozzá. Állíts be jelzést például szokatlan API-hívásokra, nagy mennyiségű adatolvasásra, ismételt sikertelen próbálkozásokra és olyan kérésekre, amelyek rendszerpromptok vagy titkos adatok megszerzésére irányulnak.

Gyakori kérdések és válaszok a prompt injectionről

🛡️ A prompt injection ugyanaz, mint egy hagyományos kibertámadás? Nem teljesen. Itt a támadó gyakran nem sérülékeny kódot használ ki, hanem az AI nyelvi értelmezését és a megbízható, illetve nem megbízható utasítások összekeverését próbálja kihasználni.

🔍 Elég, ha a rendszerpromptban megtiltom a veszélyes műveleteket? Ez fontos alap, de önmagában nem elég. Az ügynök jogosultságait, eszközeit és kimeneteit külön is korlátoznod kell, mert a külső tartalom megtévesztheti a modellt.

📄 Minden külső dokumentum veszélyes? Nem, de minden külső dokumentumot érdemes nem megbízható bemenetként kezelned. A tartalom lehet teljesen ártalmatlan, mégis tartalmazhat olyan szöveget, amely befolyásolni próbálja az ügynök döntését.

Mikor kérjek emberi jóváhagyást? Kérj jóváhagyást pénzügyi, jogi, adatvédelmi vagy visszafordíthatatlan műveletek előtt. Ugyanez igaz akkor is, ha az ügynök szokatlan kérést kap, vagy nem tudja egyértelműen igazolni a döntése célját.

A védekezés akkor működik jól, ha a fejlesztők, az üzemeltetők és a felhasználók is ismerik a kockázatokat. Rövid belső útmutatóval, rendszeres tesztekkel és jól meghatározott felelősségi körökkel sok hibát még a bevezetés előtt kiszűrhetsz.

A prompt injection valós és folyamatosan változó kockázat, de nem kell lemondanod az AI-ügynökök előnyeiről. A biztonság kulcsa, hogy a külső tartalmat ne kezeld automatikusan utasításként, korlátozd az ügynök jogosultságait, és minden érzékeny művelethez építs be ellenőrzést.

Kezdd a legfontosabb feladatok és eszközök felmérésével, majd vezess be fokozatosan bemeneti szűrést, naplózást, jogosultsági korlátokat és emberi jóváhagyást. Így az ügynök nemcsak okosabb, hanem ellenállóbb és megbízhatóbb is lesz.

Megoszthatod a cikket...
Beostech
Adatvédelmi áttekintés

Ez a weboldal sütiket használ, hogy a lehető legjobb felhasználói élményt nyújthassuk. A cookie-k információit tárolja a böngészőjében, és olyan funkciókat lát el, mint a felismerés, amikor visszatér a weboldalunkra, és segítjük a csapatunkat abban, hogy megértsék, hogy a weboldal mely részei érdekesek és hasznosak.