Prompt injection: ochrana AI systému, RAG zdrojů a nástrojů

Chraňte AI systém před prompt injection oddělením pokynů a dat, minimálními oprávněními, bezpečným retrievalem, validací nástrojů a testy.

Prompt injection: ochrana AI systému, RAG zdrojů a nástrojů
Stručná odpověď

Považujte uživatelský, dokumentový i webový obsah za nedůvěryhodná data. Autoritu pokynů určujte mimo model, omezte zdroje a nástroje, argumenty validujte a autorizujte na serveru, citlivé akce potvrzujte a tajemství modelu vůbec neposkytujte. Průběžně testujte přímé i nepřímé útoky a sledujte neobvyklá volání.

Prompt injection vzniká, když se nedůvěryhodný obsah snaží změnit chování modelu, odhalit informace nebo vyvolat nepovolenou akci. Pokyn může napsat uživatel přímo, nebo může být skrytý ve webové stránce, dokumentu, e-mailu či výsledku nástroje. Jazykový model zpracovává vše jako text, proto samotná věta „ignoruj cizí pokyny“ není úplnou ochranou.

Bezpečnost stojí na architektuře kolem modelu. Systém odděluje instrukce od dat, minimalizuje načítaný kontext, vynucuje oprávnění na serveru a omezuje nástroje podle rizika. Citlivá akce potřebuje validaci a potvrzení. Testování zahrnuje řetězení více nevinných kroků, protože útok nemusí uspět jednou nápadnou větou.

Zmapujte přímé a nepřímé vstupní cesty

Přímý útok přichází v dotazu, chatu nebo poli formuláře. Nepřímý může být v dokumentu načteném přes RAG, těle e-mailu, HTML stránce, názvu souboru nebo odpovědi externího API. Sepište všechna místa, ze kterých model získává text, a určete jejich vlastníka a úroveň důvěry. Interní úložiště není automaticky chráněno před škodlivým obsahem.

Poté zmapujte možné důsledky: únik systémového promptu, zobrazení cizího zdroje, změnu parametrů nástroje, odeslání dat nebo obejití schválení. Samotné prozrazení pokynu může být méně závažné než přístup k tajemství, které v něm nikdy nemělo být. Prioritu ochrany určujte podle reálné schopnosti a dopadu, nikoli podle dramatičnosti textu.

Oddělte autoritativní pokyny od nedůvěryhodných dat

Systémová pravidla a politika nástrojů vznikají v aplikaci, nikoli v načteném dokumentu. Zdrojový text označte oddělovači a popisem, že je určen k analýze. Nikdy mu nedávejte možnost přepsat roli nebo bezpečnostní režim. Toto rozlišení snižuje riziko, ale model ho nemusí vždy respektovat, proto nesmí být jedinou obrannou vrstvou.

Omezte kontext na pasáže potřebné pro danou otázku a filtrujte typy obsahu, které systém nepodporuje. HTML zpracujte bez aktivních prvků, skryté vrstvy a metadata posuďte zvlášť. Automatická sumarizace cizího webu nesmí následně spustit jeho instrukce. I výstup modelu považujte za nedůvěryhodný, než jej vykreslíte nebo použijete v dalším kroku.

  • inventář všech externích a interních textových vstupů
  • jasná hranice systémových pravidel a analyzovaných dat
  • minimalizovaný kontext bez tajemství a nepotřebných údajů
  • bezpečné zpracování výstupu modelu před dalším použitím

Omezte nástroje a vynucujte oprávnění mimo model

Model má přístup pouze k úzkým nástrojům potřebným pro aktuální úlohu. Argumenty projdou schématem, doménovými pravidly a autorizací podle ověřené identity uživatele. Tenanta, roli ani cílové oprávnění neurčuje textový výstup. Nástroj pro čtení nemá skrytou možnost zápisu a obecné spouštění kódu či libovolné URL se nepovoluje bez výjimečného důvodu.

Citlivé nebo obtížně vratné akce vyžadují náhled a potvrzení konkrétních hodnot. Omezte počet volání, objem dat, čas a řetězení. Pokud dokument přikáže odeslat obsah na externí adresu, server cíl odmítne bez ohledu na zdůvodnění modelu. Tajné údaje uchovávejte v aplikační vrstvě a nástroj vrací pouze nezbytné minimum výsledku.

Chraňte retrieval, citace a zobrazování

RAG filtruje zdroje podle oprávnění ještě před vyhledáním a zachovává jejich původ. Škodlivá pasáž nesmí ovlivnit výběr dalších zdrojů ani pravidla citování. Při indexování lze označit typ a důvěryhodnost dokumentu, ale detekční filtr není neomylný. Citlivé kolekce oddělte a u dotazu mimo rozsah je systém vůbec neprohledává.

Generovaný text vykreslujte s bezpečným escapováním a povolte pouze kontrolovanou sadu formátování. Odkazy validujte a uživatele upozorněte před odchodem na externí cíl. Model nemá generovat spustitelný kód, který aplikace automaticky provede. Citace se ověří proti skutečnému zdroji a přístupové právo se zkontroluje i při jejím otevření.

Testujte útoky a připravte reakci

Testovací sada obsahuje přímé požadavky na obejití pravidel, skryté instrukce v dokumentech, falešné systémové zprávy, manipulaci s citacemi, pokus o cizí identifikátory a řetězení nástrojů. Testujte různé jazyky a formáty. Úspěch neznamená jen bezpečnou větu, ale také to, že nebyl načten žádný zakázaný údaj ani zavolán nástroj.

Monitorujte zamítnuté autorizace, neobvyklé kombinace nástrojů, objem výstupu a přístup k citlivým kolekcím. Logy nesmějí obsahovat uniklá tajemství. Při podezření vypněte dotčený nástroj, odvolejte přihlašovací údaje, zachovejte bezpečné důkazy a prověřte rozsah. Každý incident se promítne do testu a architektonické opravy, nejen do delšího promptu.

Časté dotazy

Vyřeší prompt injection lepší systémový prompt?

Ne sám o sobě. Prompt je jen jedna vrstva. Potřebujete minimální oprávnění, serverovou autorizaci, validované nástroje, bezpečný retrieval, potvrzování akcí a průběžné testování.

Může být škodlivý pokyn i v interním dokumentu?

Ano. Dokument mohl být nahrán omylem, kompromitován nebo obsahovat citovaný externí text. Každý obsah analyzovaný modelem se zpracovává jako data s určenou mírou důvěry.

Má AI systém znát API klíče svých nástrojů?

Ne. Tajné údaje zůstávají v serverové vrstvě, která vykonává autorizovanou funkci. Model dostane pouze bezpečný výsledek potřebný k pokračování úlohy.

Zdroje a další čtení

Adam Antoni, vývojář digitálních řešení
Adam Antoni · Webiant

Adam Antoni vyvíja weby, aplikácie a softvér na mieru. Prepája firemné systémy, automatizuje procesy a vytvára AI agentov. Pôsobí v Spišskej Novej Vsi a spolupracuje s firmami na celom Slovensku.

Potřebujete toto téma vyřešit ve svém projektu?

Napište, co chcete zlepšit, s čím dnes bojujete a jaký výsledek očekáváte. Na úvodní konzultaci projdeme vhodný rozsah a další postup.

Vyberte si, které cookies povolíte. Volbu můžete kdykoli změnit přes odkaz v patičce nebo tlačítko cookies.

Ochrana soukromí a podrobnosti o cookies