Prompt injection
Definícia
Prompt injection je typ útoku na systémy využívajúce generatívnu umelú inteligenciu, pri ktorom útočník vloží do vstupu inštrukcie s cieľom zmeniť správanie AI alebo obísť pôvodné pravidlá systému. Model sa tak môže začať riadiť pokynmi, ktoré jeho tvorca nezamýšľal.
Útok využíva to, že AI spracúva prompty aj ďalší textový či multimediálny obsah ako súčasť vstupu a nemusí vždy spoľahlivo rozlíšiť dôveryhodné inštrukcie od nedôveryhodných dát.
Popis
Prompt injection môže prebiehať priamo alebo nepriamo.
Pri direct prompt injection vloží používateľ manipulatívnu inštrukciu priamo do konverzácie s AI. Môže sa napríklad pokúsiť prinútiť model, aby ignoroval predchádzajúce pravidlá, prezradil chránené informácie alebo urobil niečo, čo mu systém nepovoľuje.
Pri indirect prompt injection sa škodlivá inštrukcia nachádza v externom obsahu, ktorý AI následne spracuje. Môže byť vložená napríklad do webovej stránky, dokumentu, e-mailu alebo obrázka. Ak ju systém vyhodnotí ako platný pokyn, môže sa ňou začať riadiť namiesto pôvodného zadania.
Úspešný prompt injection môže viesť napríklad k:
- manipulácii výstupu AI,
- sprístupneniu citlivých informácií,
- obchádzaniu bezpečnostných pravidiel,
- spusteniu neželanej akcie cez nástroje alebo systémy, ku ktorým má AI prístup.
Riziko je vyššie najmä pri AI systémoch, ktoré nepracujú iba s textom, ale dokážu čítať externé zdroje, používať nástroje alebo zasahovať do ďalších aplikácií.
Prompt injection sa často spája s pojmom jailbreak, nejde však o úplne rovnakú vec. Jailbreak sa zameriava na obídenie bezpečnostných obmedzení modelu. Prompt injection je širší pojem a môže meniť správanie systému aj bez toho, aby bolo cieľom prelomiť jeho bezpečnostné pravidlá.
Ochrana preto nestojí iba na dobre nastavených systémových inštrukciách. Dôležité je aj obmedzenie oprávnení AI, kontrola externých vstupov a overovanie citlivých akcií, ktoré môže systém vykonať.
Prompt injection patrí medzi bezpečnostné riziká spojené s rozvojom umelej inteligencie a aplikácií postavených na veľkých jazykových modeloch.
Príklad
AI asistent má z webových stránok vyhľadať informácie a vytvoriť z nich súhrn. Jedna zo stránok však obsahuje skrytú inštrukciu, aby ignoroval pôvodné zadanie a namiesto neho urobil inú akciu.
Ak model tento obsah vyhodnotí ako pokyn a začne sa ním riadiť, ide o nepriamy prompt injection.