Manipulace s kontextovým oknem

Kontextové okno je jednou z nejdůležitějších a nejméně pochopených bezpečnostních hranic v nasazeních velkých jazykových modelů. Definuje, k jakým informacím má LLM přístup během jediného volání inference — a je to konečný zdroj, který mohou útočníci záměrně zneužít.

Co je kontextové okno?

Velký jazykový model zpracovává text jako tokeny (přibližně 3/4 slova na token). Kontextové okno definuje maximální počet tokenů, které může model zpracovat najednou. Moderní modely se pohybují od 4K do více než 1M tokenů, ale všechny mají limity.

V rámci kontextového okna LLM zpracovává:

  • Systémový prompt: Vývojářem definované instrukce stanovující roli a omezení chatbota
  • Historie konverzace: Předchozí výměny v aktuální relaci
  • Získaný obsah: Dokumenty, výsledky databáze a výstupy nástrojů vrácené RAG nebo vyhledáváním
  • Uživatelský vstup: Aktuální zpráva uživatele

To vše se modelu jeví jako jednotný proud. Model nemá inherentní mechanismus, jak zacházet s instrukcemi z různých zdrojů odlišně — a jeho pozornost ke konkrétním částem kontextu není jednotná.

Techniky útoku na kontextové okno

Přeplnění kontextu / Zaplavení kontextu

Útočník odešle extrémně velký vstup — často zdlouhavý dokument, blok kódu nebo textový dump — aby posunul dřívější obsah (zejména systémový prompt) dále od aktuální pozice modelu.

Výzkum prokazuje, že LLM vykazují chování „ztraceno uprostřed": věnují větší pozornost obsahu na začátku a konci dlouhých kontextů a menší pozornost informacím uprostřed. Zaplavením kontextu může útočník strategicky umístit svůj škodlivý payload (typicky na konci), zatímco dřívější bezpečnostní instrukce upadnou do zóny nízké pozornosti uprostřed.

Praktický příklad: Systémový prompt chatbota stanoví, že nemůže diskutovat o produktech konkurence. Útočník odešle dokument o 50 000 tokenech následovaný promptem ptajícím se na konkurenci. Instrukce systémového promptu byla efektivně zředěna.

Přetečení kontextu / Zneužití ořezávání

Když se kontext zaplní, LLM nebo jeho infrastruktura musí rozhodnout, co zahodit. Pokud ořezávání upřednostňuje nedávnost (nejprve zahodí nejstarší obsah), útočník může přetečením kontextu zcela eliminovat systémový prompt — čímž zůstane model pracující pouze s kontextem dodaným uživatelem.

Sekvence útoku:

  1. Navázat konverzaci s mnoha výměnami
  2. Generovat dlouhé odpovědi pro maximalizaci spotřeby kontextu
  3. Pokračovat, dokud není obsah systémového promptu ořezán
  4. Nyní vydat škodlivé instrukce bez konkurenčního systémového promptu

Otrávení kontextu prostřednictvím získaného obsahu

V RAG systémech získané dokumenty spotřebovávají významný prostor kontextu. Útočník, který může ovlivnit, co je získáno (prostřednictvím otrávení RAG ), může selektivně zaplnit kontext obsahem, který slouží jeho cílům, zatímco vytlačí legitimní informace.

Poziční injekce

Výzkum identifikoval, že instrukce na konkrétních pozicích v kontextu mají neúměrný vliv. Útočníci, kteří rozumí sestavování kontextu, mohou vytvořit vstupy navržené tak, aby se umístily na pozice s vysokou pozorností relativně k jejich payloadu.

Many-Shot injekce

V modelech, které podporují velmi dlouhé kontexty (stovky tisíc tokenů), mohou útočníci vložit stovky „demonstračních" příkladů ukazujících model produkující výstupy porušující zásady před skutečným škodlivým požadavkem. Model, podmíněný těmito demonstracemi, je významně pravděpodobnější, že vyhoví.

Logo

Připraveni rozšířit své podnikání?

Začněte svou bezplatnou zkušební verzi ještě dnes a viďte výsledky během několika dní.

Obrana proti manipulaci s kontextovým oknem

Ukotvení kritických instrukcí

Neumisťujte všechny bezpečnostně kritické instrukce pouze na začátek systémového promptu. Opakujte klíčová omezení na konci systémového promptu a zvažte vložení krátkých připomínek na klíčových místech v dlouhých konverzacích.

Limity velikosti kontextu

Implementujte maximální limity délky vstupu vhodné pro váš případ použití. Chatbot zákaznického servisu zřídka potřebuje zpracovat vstupy o 100 000 tokenech — omezení tohoto snižuje riziko útoku zaplavením.

Monitorování kontextu

Zaznamenávejte a monitorujte velikosti a složení kontextu. Neobvykle velké vstupy, rychlý růst kontextu nebo neočekávané složení kontextu jsou potenciálními indikátory útoku.

Sumarizace pro dlouhé konverzace

Pro dlouhotrvající konverzace implementujte sumarizaci kontextu, která zachovává klíčová fakta a omezení spíše než surovou historii konverzace. To odolává útokům přetečení při zachování kontinuity konverzace.

Adversariální testování kontextu

Zahrňte scénáře manipulace s kontextem do zapojení penetračního testování AI . Testujte, zda bezpečnostní chování zůstává v dlouhých kontextech a zda systémové prompty zůstávají efektivní po zaplavení kontextu.

Často kladené otázky

Co je kontextové okno v LLM?

Kontextové okno je množství textu (měřené v tokenech), které může velký jazykový model zpracovat najednou. Zahrnuje systémový prompt, historii konverzace, získané dokumenty a výstupy nástrojů. Vše, co model 'ví' během relace, se musí vejít do tohoto okna.

Jak mohou útočníci zneužít kontextové okno?

Útočníci mohou zaplavit kontext irelevantním obsahem, aby vytlačili rané instrukce (včetně bezpečnostních ochran) z efektivní pozornosti modelu, vložit škodlivé payloady, které jsou pohřbeny v dlouhých kontextech a přehlédnuty filtry, nebo zneužít chování ořezávání kontextu k zajištění přežití škodlivého obsahu, zatímco legitimní instrukce nikoli.

Jak se chránit proti manipulaci s kontextovým oknem?

Obrana zahrnuje: ukotvení kritických instrukcí na více místech v kontextu (nejen na začátku), implementaci limitů velikosti kontextu, monitorování neobvykle velkých kontextových payloadů, použití sumarizace kontextu pro dlouhé konverzace a testování scénářů manipulace s kontextem v bezpečnostních posouzeních.

Otestujte svého chatbota proti útokům založeným na kontextu

Manipulace s kontextovým oknem je podceňovaná útočná plocha. Naše penetrační testování zahrnuje scénáře přetečení kontextu a strategického otrávení.

Zjistit více

Windowing
Windowing

Windowing

Windowing v oblasti umělé inteligence znamená zpracování dat v segmentech neboli „oknech“ za účelem efektivní analýzy sekvenčních informací. Je klíčové v NLP a ...

6 min čtení
AI NLP +5
Velký jazykový model (LLM)
Velký jazykový model (LLM)

Velký jazykový model (LLM)

Velký jazykový model (LLM) je typ umělé inteligence trénovaný na obrovském množství textových dat, aby porozuměl, generoval a upravoval lidský jazyk. LLM využív...

8 min čtení
AI Large Language Model +4