Prompt injection u AI asistentů: 8 vrstev ochrany, které firma opravdu potřebuje
Škodlivý pokyn se může skrýt v otázce, dokumentu i webové stránce. Seznamte se s praktickou ochranou AI asistenta, která nespoléhá na jediný filtr ani dokonalý prompt.
Firemní AI asistent čte otázky zákazníků, dokumenty, webové stránky a někdy používá další nástroje. Právě tato užitečnost vytváří nový bezpečnostní problém: mezi běžným obsahem může být skrytý pokyn, který se pokusí změnit chování modelu. Tento útok se nazývá prompt injection.
Nejde jen o větu „ignoruj předchozí pravidla“. Škodlivý text může být v dokumentu nahraném do znalostní báze, v popisu produktu, na cizí webové stránce nebo v obsahu načteném až během rozhovoru. OWASP proto rozlišuje přímou a nepřímou prompt injection a upozorňuje, že ani RAG či fine-tuning problém samy neodstraní.
Bezpečný AI asistent není model s jedním dokonalým promptem. Je to systém, ve kterém několik nezávislých vrstev omezí škodu i tehdy, když jedna z nich selže.
Co může prompt injection způsobit
U jednoduchého informačního chatu může útočník vynutit nesprávnou odpověď, skrýt důležitý zdroj nebo získat interní pokyny. Pokud má asistent přístup k objednávkám, e-mailu nebo zapisovacím nástrojům, následkem může být únik dat či nechtěná akce.
NIST popisuje, že nepřímá prompt injection může narušit důvěrnost, integritu i dostupnost systému. Jedna univerzální obrana neexistuje. Praktickým cílem proto není slib „útok se nikdy nepovede“, ale co nejmenší dopad, rychlé odhalení a bezpečné zotavení.
Osm vrstev, které se navzájem jistí
1. Přesně vymezte úkol asistenta
Asistent zákaznické podpory nepotřebuje obecné oprávnění „udělej vše potřebné“. Určete témata, zdroje a chvíli, kdy má rozhovor předat člověku. Užší rozsah snižuje počet nebezpečných rozhodnutí.
2. Oddělte důvěryhodné pokyny od nedůvěryhodného obsahu
Otázka uživatele, text webu a obsah dokumentu jsou data, nikoli nová systémová pravidla. Aplikace musí zachovat jejich původ a prioritu. Pokyn nalezený v PDF nesmí mít stejnou autoritu jako pravidlo správce.
3. Povolte pouze schválené zdroje
Znalostní báze nemá automaticky přebírat celý internet. Používejte explicitní seznam domén a zdrojů, kontrolujte přesměrování a obsah publikujte až po úspěšné validaci. Při změně stránky sledujte, co se skutečně změnilo.
4. Dodržte princip minimálních oprávnění
Asistent má vidět jen data potřebná pro konkrétní úkol. Veřejný chat nepotřebuje interní dokumenty a dotaz na stav objednávky nepotřebuje možnost objednávku měnit. Organizace, asistenti i zdroje musí být odděleny na serveru, ne pouze v promptu.
5. Kritická pravidla vynucujte deterministicky
Model nesmí rozhodovat o přístupu k účtu, povolené doméně nebo použití nástroje. Autorizace, validace vstupů, limity a povolené operace patří do běžného aplikačního kódu. Model může navrhnout krok, server jej musí nezávisle ověřit.
6. Rizikové akce zastavte před provedením
Čtení veřejného článku má jiné riziko než odeslání e-mailu, refundace nebo změna objednávky. Operace s finančním, právním či datovým dopadem mají vyžadovat potvrzení člověka, případně nemají být dostupné vůbec.
7. Ověřujte výstup i zdroje
Odpověď má používat jen výsledky načtené serverem z povolených zdrojů. Citace musí vést na skutečný podklad a odkazy je třeba před zobrazením kontrolovat. Když důkaz chybí, je bezpečnější přiznat nejistotu než doplnit přesvědčivý odhad.
8. Testujte, monitorujte a připravte návrat
Do testů přidejte přímé i nepřímé pokusy o změnu pravidel, získání tajemství a spuštění nepovolené akce. Sledujte odmítnutí, neobvyklé požadavky, změny zdrojů a předání člověku. Nové útoky vznikají průběžně, takže bezpečnost je cyklus.
Riziko roste s tím, co asistent dokáže
- Informační asistent: potřebuje pevný rozsah zdrojů, citace a regresní testy.
- Asistent s privátními daty: přidejte serverovou identifikaci uživatele, tenantové oddělení a minimální rozsah načtených údajů.
- Asistent s nástroji: každá operace potřebuje vlastní autorizaci, validované parametry, audit a limit dopadu.
- Asistent s nevratnými akcemi: použijte lidské schválení nebo takovou pravomoc vůbec neposkytujte.
Krátký bezpečnostní test před spuštěním
- Zkuste uživatelskou otázkou přepsat pravidla asistenta.
- Vložte podobný škodlivý pokyn do testovacího dokumentu a ověřte nepřímý útok.
- Požádejte o zdroj mimo povolenou organizaci nebo asistenta.
- Zkuste použít identifikátor cizí objednávky či dokumentu.
- Vyvolejte rizikovou akci s chybnými a neočekávanými parametry.
- Ověřte, že incident zůstane v auditu a konfiguraci lze bezpečně vrátit.
Test nesmí obsahovat skutečná tajemství ani osobní údaje. Pracujte s testovacími účty a bezpečnými vzorky.
Jak k tomu přistupuje Informio
Informio odděluje organizace, asistenty a povolené znalostní zdroje na serveru. Veřejné požadavky se kontrolují vůči konkrétnímu asistentovi, povoleným doménám a limitům. Výsledky mají zůstat opřené o schválené zdroje a při nejistotě lze rozhovor předat člověku.
V Quality Lab můžete uložit běžné i útočné scénáře a spustit je po změně zdrojů, pokynů nebo modelu. Žádný produkt nemůže poctivě slíbit absolutní odolnost vůči prompt injection. Dobrý systém však umí omezit oprávnění, ověřit každý citlivý krok a rychle odhalit zhoršení.
Vyzkoušejte Informio Quality Lab a přidejte do scénářů první bezpečnostní testy.
Zdroje
Chcete si Informio vyzkoušet na vlastním obsahu?
Rádi vám připravíme ukázku na vašich datech a vysvětlíme, jak nastavit bezpečné odpovědi pro váš konkrétní případ.
Domluvit ukázku na vašich datech