Průběžné posilování systému ChatGPT Atlas proti útokům prompt injection
Automatizovaný red teaming, podporovaný metodou posíleného učení, nám pomáhá proaktivně odhalovat a opravovat zneužití agentů v reálném světě dříve, než se stanou zbraní v reálném prostředí.
Režim agenta v ChatGPT Atlas je jednou z nejuniverzálnějších funkcí agenta, které jsme dosud vydali. V tomto režimu agent prohlížeče zobrazuje webové stránky a provádí akce, kliká a stiskne klávesy ve tvém prohlížeči, stejně jako bys to dělal/a ty. ChatGPT tak může pracovat přímo na mnoha tvých každodenních pracovních postupech a využívá stejný prostor, kontext a data.
Protože ti agent prohlížeče pomáhá udělat více práce, stává se také cennějším cílem útoků protivníka. Proto je zabezpečení umělé inteligence obzvláště důležité. Dlouho předtím, než jsme spustili službu ChatGPT Atlas, jsme průběžně budovali a posilovali obranu proti novým hrozbám, které se zaměřují právě na toto nové paradigma „agenta v prohlížeči“. Prompt injection je jedním z nejvýznamnějších rizik, proti kterým se aktivně bráníme, abychom zajistili, že ChatGPT Atlas může bezpečně fungovat tak, jak chcete.
V rámci tohoto úsilí jsme nedávno dodali bezpečnostní aktualizaci agenta prohlížeče Atlas, která obsahuje nově vytrénovaný model protivníka a posílené okolní ochranné prvky. Tato aktualizace byla vyvolána novou třídou útoků typu prompt injection, které jsme odhalili v rámci interního automatizovaného red teamingu.
V tomto příspěvku vysvětlíme, jak může vzniknout riziko prompt injection u webových agentů, a podělíme se o smyčku rychlé odezvy, kterou jsme vytvořili tak, aby bylo možné účelem neustálé odhalovat nové útoky a rychlého nabízet řešení. Příkladem je tato nedávná aktualizace zabezpečení.
Vnímáme prompt injection jako dlouhodobou výzvu pro bezpečnost AI a budeme muset neustále posilovat naši obranu proti ní (podobně jako se neustále vyvíjejí online podvody zaměřené na lidi). Náš nejnovější cyklus rychlé reakce se ukazuje jako klíčový slibný nástroj na této cestě: objevujeme nové strategie útoků interně dříve, než se objeví v reálném světě. Naší dlouhodobou vizí je plně využívat (1) white-box přístup k našim modelům, (2) hluboké porozumění našim obranným systémům a (3) výpočetní rozsah, abychom měli náskok před externími útočníky: najít dříve zneužití, rychleji nabídnout opatření a neustále utahovat smyčku. V kombinaci se špičkovým výzkumem nových technologií pro řešení prompt injection a zvýšenými investicemi do dalších bezpečnostních kontrol může tento složený cyklus ztížit a prodražit útoky a podstatně tak snížit reálné riziko prompt injection. Naším konečným cílem je, abys mohl/a důvěřovat agentovi ChatGPT, že bude používat prohlížeč stejně, jako věříš vysoce schopnému kolegovi nebo příteli, který se zaměřuje na bezpečnost.
Útok typu prompt injection cílí na AI agenty tím, že vkládá škodlivé instrukce do obsahu, který agent zpracovává. Tyto instrukce jsou navrženy tak, aby přepsaly nebo přesměrovaly chování agenta a přinutily ho následovat úmysl útočníka, místo úmyslu uživatele.
Pro agent prohlížeče, jako je ten uvnitř aplikace ChatGPT Atlas, představuje prompt injection nový směr hrozeb přesahující rámec tradičních rizik webové bezpečnosti (jako jsou chyby uživatelů nebo zranitelnosti softwaru). Místo phishingu lidí nebo zneužívání zranitelností systému prohlížeče útočník cílí na agenta, který v něm funguje.
Jako hypotetický příklad lze uvést případ, kdy útočník odešle škodlivý e-mail a pokusí se oklamat agenta, aby ignoroval požadavek uživatele a místo toho přeposlal citlivé daňové dokumenty na e-mailovou adresu ovládanou útočníkem. Pokud uživatel požádá agenta, aby zkontroloval nepřečtené e-maily a shrnul klíčové body, může agent během pracovního postupu přijmout tento škodlivý e-mail. Pokud dodržuje vložené pokyny, může se odklonit od úkolu a nesprávně sdílet citlivé informace.
Toto je jen jeden konkrétní scénář. Právě tato obecnost, díky které jsou agenty prohlížeče užiteční, rozšiřuje rizika: agent se může setkat s nedůvěryhodnými pokyny na prakticky neomezené ploše: e-maily a přílohy, pozvánky do kalendáře, sdílené dokumenty, fóra, příspěvky na sociálních sítích a libovolné webové stránky. Vzhledem k tomu, že agent může provádět mnoho stejných akcí jako uživatel v prohlížeči, může být dopad úspěšného útoku hypoteticky stejně široký: přeposlání citlivého e-mailu, odeslání peněz, úprava nebo odstranění souborů v cloudu a další.
Pokročili jsme v obraně proti prompt injection pomocí několika vrstev ochranných opatření, jak jsme sdíleli v v dřívějším příspěvku. V oblasti zabezpečení agentů však zůstává prompt injection otevřenou výzvou, na které budeme pracovat i v následujících letech.
Pro posílení naší obrany neustále hledáme nové útoky typu prompt injection proti agentním systémům v produkčním prostředí. Zjištění těchto útoků je nezbytným předpokladem pro vytvoření spolehlivých řešení: pomáhá nám pochopit skutečná rizika, odhaluje mezery v naší obraně a podporuje konkrétní opravy.
Za tímto účelem jsme vytvořili automatizovaný útočný model založený na LLM a vytrénovali ho k vyhledávání útoků typu prompt injection, které mohou úspěšně napadnout agenta prohlížeče. Tento útočný model jsme trénovali v kompletním rozsahu pomocí posíleného učení, takže se učí ze svých vlastních úspěchů a neúspěchů, aby zlepšil své dovednosti v oblasti red teamingu. Také mu umožňujeme „zkoušku před odesláním“, čímž máme na mysli: během řetězce úvah může útočník navrhnout kandidátní injekci a odeslat ji externímu simulátoru. Simulátor provede kontrafaktuální analýzu toho, jak by se cílový agent oběti (obránce) zachoval, kdyby se setkal s injektáží, a vrátí kompletní stopu uvažování a akcí agenta oběti. Útočný model použije tuto stopu jako zpětnou vazbu, opakuje útok a znovu spouští simulaci. Tento cyklus opakuje několikrát, než se rozhodne pro konečný útok. Toto nabízí útočnému modelu bohatší zpětnou vazbu s kontextem než jednoduchý signál prošlo/neprošlo. Zvyšuje také výpočetní kapacitu útočníka během doby testování. Privilegovaný přístup k argumentačním stopám (které nezveřejňujeme externím uživatelům) navíc obránce poskytuje našemu internímu útočníkovi asymetrickou výhodu - zvyšuje šance, že dokáže předstihnout externí protivníky.
Proč posílené učení? Posílené učení k trénování automatizovaného útočníka jsme zvolili z několika důvodů:
- Optimalizace dlouhodobých a nespojitých cílů útočníka Naším cílem je hledat útoky prompt injection, které mohou agenta přimět k provádění sofistikovaných nepřátelských úkolů (např. odesílání e-mailů, bankovní transakce), které by se mohly vyskytnout v reálném světě. Tyto nepřátelské úkoly jsou ze své podstaty dlouhodobé, vyžadují mnoho kroků uvažování a interakce s prostředím, přičemž úspěšné signály jsou řídké a mají zpoždění. Posílené učení se dobře hodí k této řídké struktuře odměn se zpožděním.
- Využití špičkových schopností LLM Trénovali jsme špičkové LLM přímo jako automatizované red-teamery, takže útočník může přímo využít vylepšení v oblasti uvažování a plánování ve špičkových modelech. Tím, jak se základní modely stávají silnějšími, útočník se přirozeně také stává schopnějším. Toto je tedy škálovatelný způsob, jak udržovat tlak na naše obranné systémy, zatímco se naše modely vyvíjejí.
- Škálování výpočetní kapacity a napodobování adaptivních útočníků Posílené učení se dobře hodí ke škálování výpočetního výkonu vynaloženého na hledání útoků ve velkém počtu vzorků a kroků učení a také přesně odráží, jak se chovají adaptivní lidské útočníci: iterativně zkoušejí strategie, učí se z výsledků a posilují úspěšné chování.
Náš automatizovaný útočník dokáže odhalit nové, realistické útoky typu „prompt injection“ od začátku do konce. Na rozdíl od většiny předchozích prací na automatizovaném red teamingu, které odhalily jednoduché chyby, jako je vyvolávání specifických výstupních řetězců nebo spuštění neúmyslného jednorázového volání nástroje agentem, dokáže náš útočník trénovaný pomocí posíleného učení vést agenta k provádění sofistikovaných, dlouhodobých škodlivých pracovních postupů, které se vyvíjí v desítkách (nebo dokonce stovkách) kroků. Zaznamenali jsme také nové strategie útoků, které se neobjevily v aktivitách našeho lidského red teamingu ani v externích reportech.
Níže uvedená ukázka představuje konkrétní zneužití prompt injection, které nalezl náš automatizovaný útočník a které jsme následně použili k dalšímu posílení obrany systému ChatGPT Atlas. Útočník do schránky uživatele vloží škodlivý e-mail obsahující prompt injection, který agenta navede k odeslání rezignačního dopisu generálnímu řediteli uživatele. Když později uživatel požádá agenta o vypracování odpovědi mimo kancelář, agent se s tímto e-mailem setká při běžném provádění úlohy, považuje vloženou výzvu za autoritativní a postupuje podle ní. Odchod z kanceláře se nikdy nenapíše a místo toho agent jménem uživatele odešle rezignaci.

1. Požádat agenta o pomoc s řízením e-mailu

2. Agent otevře nejnovější nepřečtený e-mail

3. E-mail obsahuje škodlivé pokyny

4. Agent odeslal nechtěný e-mail s rezignací

5. Po naší bezpečnostní aktualizaci režim agenta úspěšně detekuje pokus o prompt injection
Vzhledem k povaze prompt injection je deterministické zaručení bezpečnosti náročné, ale díky rozšiřování našeho automatizovaného bezpečnostního výzkumu, testování protivníků a zpřísnění smyčky rychlé reakce jsme schopni zlepšit robustnost modelu a jeho obranu - dříve než se dočkáme útoku v reálném prostředí.
Tuto ukázku sdílíme, abychom uživatelům a výzkumníkům pomohli lépe pochopit povahu těchto útoků a to, jak se proti nim aktivně bráníme. Jsme přesvědčeni, že toto představuje hranici možností automatizovaného red teamingu, a jsme nesmírně rádi, že můžeme v našem výzkumu pokračovat.
Náš automatizovaný red teaming řídí proaktivní smyčku rychlé reakce: když automatizovaný útočník objeví novou třídu úspěšných útoků typu prompt injection, okamžitě vytvoří konkrétní cíl pro zlepšení naší obrany.
Záměrně škodilvý trénink proti nově objeveným útokůmNepřetržitě trénujeme aktualizované modely agentů proti našemu nejlepšímu automatizovanému útočníkovi a upřednostňujeme útoky, ve kterých cíloví agenti momentálně selhávají. Cílem je naučit agenty ignorovat nepřátelské pokyny a zůstat v souladu se záměrem uživatele, čímž se zlepší odolnost vůči nově objeveným strategiím prompt injection. Tímto způsobem je přímo do kontrolního bodu modelu „vepíše“ odolnost proti novým, vysoce odolným útokům. Nedávný automatizovaný red teaming například přímo vytvořil nový kontrolní bod agenta prohlížeče trénovaný záměrně soupeřem, který již byl rozšířen mezi všechny uživatele aplikace ChatGPT Atlas. To v konečném důsledku pomáhá lépe chránit naše uživatele před novými typy útoků.
Použití stop útoků ke zlepšení širšího obranného systému. Mnoho útočných cest objevených naším automatizovaným nástrojem pro red teaming také odhaluje příležitosti ke zlepšení mimo samotný model. Například v monitorování, bezpečnostních pokynech, které vkládáme do kontextu modelu, nebo v systémových ochranných opatřeních. Tato zjištění nám pomáhají opakovaně vylepšovat celou obrannou sadu, nejen kontrolním bod agenta.
Reakce na aktivní útoky Tato smyčka může také pomoci lépe reagovat na aktivní útoky v reálném prostředí. Když se v rámci naší globální působnosti zaměříme na potenciální útoky, můžeme vzít techniky a taktiky, které pozorujeme u externích protivníků, začlenit je do této smyčky, napodobit jejich aktivitu a podpořit obranné změny v rámci celé naší platformy.
Díky posílení naší schopnosti provádět red teaming agentů a využití našich nejvýkonnějších modelů k automatizaci částí této práce je agent prohlížeče Atlas odolnější tím, že rozšiřuje smyčku od zjištění k opravě. Toto úsilí o posílení bezpečnosti potvrzuje známou poučku z oblasti bezpečnosti: osvědčenou cestou k posílení ochrany je neustále provádět testy reálných systémů pod tlakem, reagovat na selhání a dodávat konkrétní opravy.
Očekáváme, že protivníci se budou nadále přizpůsobovat. Prompt injection, podobně jako podvody a sociální inženýrství na webu, se pravděpodobně nepodaří plně „vyřešit“. Jsme však optimističtí v tom, že proaktivní a vysoce pohotová smyčka rychlé reakce může v průběhu času i nadále významně snižovat reálné riziko. Kombinací automatického odhalování útoků s tréninkem nepřátelských útoků a ochrannými opatřeními na úrovni systému můžeme dříve identifikovat nové vzory útoků, rychleji odstraňovat nedostatky a neustále zvyšovat náklady na zneužívání.
Režim agenta v aplikaci ChatGPT Atlas je výkonný. A také rozšiřuje oblast bezpečnostních hrozeb. Uvědomění si tohoto kompromisu je součástí zodpovědného budování. Naším cílem je s každou další iterací výrazně zvýšit bezpečnost systému Atlas: zlepšit odolnost modelu, posílit okolní obranný systém a sledovat nově vznikající vzory zneužití ve reálné praxi.
Budeme i nadále investovat do výzkumu a nasazení, rozvíjet lepší automatizované metody red teamingu, zavádět vrstevnatá opatření a rychle iterovat v souladu s tím, jak se učíme. O to, co můžeme, se podělíme i s širší komunitou.
Zatímco pokračujeme v posilování systému Atlas na úrovni systému, uživatelé mohou podniknout určité kroky ke snížení rizika i při používání agentů.
Pokud je to možné, omezte přístup přihlášených uživatelů I nadále doporučujeme uživatelům při používání programu Agent v Atlasu využívat režim odhlášení(otevře se v novém okně) vždy, když přístup k webovým stránkám, ke kterým jste přihlášeni, není pro daný úkol nezbytný, nebo omezit přístup ke konkrétním webovým stránkám, ke kterým se přihlašujete během úkolu.
Pečlivě kontrolovat žádosti o potvrzení U určitých důležitých akcí, jako je dokončení nákupu nebo odeslání e-mailu, jsou agenti navrženi tak, aby před pokračováním požádali o tvoje potvrzení. Když tě agent požádá o potvrzení akce, věnuj chvíli ověření, zda je akce správná a zda jsou všechny sdílené informace v daném kontextu vhodné.
Pokud je to možné, dávej agentům výslovné pokyny Vyhni se příliš obecným promptům typu „zkontroluj mé e-maily a proveď jakoukoli potřebnou akci.“ Široká flexibilita usnadňuje skrytému nebo škodlivému obsahu ovlivňovat agenta, i když jsou zavedena ochranná opatření. Je bezpečnější požádat agenta o provedení konkrétních, dobře vymezených úkolů. Sice to riziko zcela neeliminuje, ale ztěžuje to provedení útoků.
Pokud se mají agenti stát důvěryhodnými partnery pro každodenní úkoly, musí být odolní vůči takovým druhům manipulací, které umožňuje otevřený web. Zabezpečení proti prompt injection je dlouhodobým závazkem a jednou z našich nejvyšších priorit. Brzy se s tebou podělíme o tom, co v této věci děláme.


