Prompt injection je pokus ovlivnit AI pomocí instrukcí vložených do vstupu nebo obsahu, který má zpracovat. Problém vzniká, když model takový text začne následovat jako pokyn, přestože jde pouze o cizí dokument, webovou stránku nebo výsledek nástroje.
Přímé a nepřímé vložení
Přímý pokus přichází v dotazu uživatele, například jako požadavek obejít pravidla aplikace. Nepřímý pokus se skrývá ve vnějším podkladu. Člověk může zadat zcela běžný úkol, ale model při jeho plnění narazí na cizí instrukce.
Představ si asistenta, který shrnuje e-mail. Uvnitř zprávy najde větu přikazující změnit úkol a odeslat soukromý dokument jinam. Tato věta má zůstat obsahem e-mailu, nikoli získat oprávnění řídit asistenta.
Proč záleží na nástrojích
U textového chatu může útok pokazit odpověď. U AI agenta s nástroji může zasáhnout i soubory nebo externí služby. Rozsah následků závisí na jeho oprávněních. Podklady získané přes MCP nejsou automaticky důvěryhodné jen proto, že přišly standardním protokolem.
Jak se omezuje riziko
Důležité je oddělovat instrukce od načtených dat, přidělit jen potřebná oprávnění a kontrolovat citlivé akce. OWASP doporučuje více vrstev ochrany; jediná věta v systémovém zadání není spolehlivou ochranou proti všem útokům.
Nepřímé útoky na aplikace s jazykovými modely zkoumá také práce Greshake a kolektivu. Prompt injection je potřeba hodnotit v celé aplikaci, protože model, zdroje dat i dostupné akce společně určují, co může útočník ovlivnit.