Manipulácia s kontextovým oknom

Kontextové okno je jednou z najdôležitejších a najmenej pochopených bezpečnostných hraníc v nasadeniach veľkých jazykových modelov. Definuje, k akým informáciám má LLM prístup počas jedného inferenčného volania — a je to konečný zdroj, ktorý môžu útočníci zámerne zneužiť.

Čo je kontextové okno?

Veľký jazykový model spracováva text ako tokeny (približne 3/4 slova na token). Kontextové okno definuje maximálny počet tokenov, ktoré môže model spracovať naraz. Moderné modely sa pohybujú od 4K do viac ako 1M tokenov, ale všetky majú limity.

V rámci kontextového okna LLM spracováva:

  • Systémový prompt: Vývojárom definované inštrukcie stanovujúce rolu a obmedzenia chatbota
  • História konverzácie: Predchádzajúce ťahy v aktuálnej relácii
  • Získaný obsah: Dokumenty, výsledky databázy a výstupy nástrojov vrátené RAG alebo vyhľadávaním
  • Vstup používateľa: Aktuálna správa používateľa

Všetko toto sa modelu javí ako jednotný prúd. Model nemá inherentný mechanizmus na odlišné zaobchádzanie s inštrukciami z rôznych zdrojov — a jeho pozornosť na špecifické časti kontextu nie je jednotná.

Techniky útoku na kontextové okno

Prepchanie kontextu / Zaplavenie kontextu

Útočník odošle extrémne veľký vstup — často dlhý dokument, blok kódu alebo textový dump — aby posunul skorší obsah (najmä systémový prompt) ďalej od aktuálnej pozície modelu.

Výskum preukazuje, že LLM vykazujú správanie “stratené v strede”: venujú väčšiu pozornosť obsahu na začiatku a konci dlhých kontextov a menšiu pozornosť informáciám v strede. Zaplavením kontextu môže útočník strategicky umiestniť svoj škodlivý payload (typicky na konci), zatiaľ čo skoršie bezpečnostné inštrukcie unášajú do zóny nízkej pozornosti v strede.

Praktický príklad: Systémový prompt chatbota ustanovuje, že nemôže diskutovať o produktoch konkurencie. Útočník odošle dokument s 50 000 tokenmi, po ktorom nasleduje prompt pýtajúci sa na konkurenciu. Inštrukcia systémového promptu bola efektívne zriedená.

Pretečenie kontextu / Zneužitie skracovania

Keď sa kontext zaplní, LLM alebo jeho infraštruktúra musí rozhodnúť, čo zahodiť. Ak skracovanie uprednostňuje aktuálnosť (najprv zahodí najstarší obsah), útočník môže pretečením kontextu úplne eliminovať systémový prompt — čím ponechá model fungovať iba s kontextom dodaným používateľom.

Sekvencia útoku:

  1. Nadviazať konverzáciu s mnohými ťahmi
  2. Generovať dlhé odpovede na maximalizáciu spotreby kontextu
  3. Pokračovať, kým nie je obsah systémového promptu skrátený
  4. Teraz vydať škodlivé inštrukcie bez konkurenčného systémového promptu

Otrava kontextu prostredníctvom získaného obsahu

V RAG systémoch získané dokumenty spotrebúvajú významný priestor kontextu. Útočník, ktorý môže ovplyvniť, čo sa získa (prostredníctvom otravy RAG ), môže selektívne naplniť kontext obsahom, ktorý slúži jeho cieľom, zatiaľ čo vytláča legitímne informácie.

Pozičná injekcia

Výskum identifikoval, že inštrukcie na špecifických pozíciách v kontexte majú neproporčný vplyv. Útočníci, ktorí rozumejú zostavovaniu kontextu, môžu vytvoriť vstupy navrhnuté tak, aby sa umiestnili na pozíciách s vysokou pozornosťou relatívne k ich payloadu.

Injekcia mnohých príkladov

V modeloch, ktoré podporujú veľmi dlhé kontexty (stovky tisíc tokenov), môžu útočníci vložiť stovky “demonštračných” príkladov ukazujúcich model produkujúci výstupy porušujúce politiky pred skutočnou škodlivou požiadavkou. Model, podmienený týmito demonštráciami, má výrazne vyššiu pravdepodobnosť, že vyhovie.

Logo

Pripravení rozšíriť svoje podnikanie?

Začnite svoju 30-dňovú skúšobnú verziu ešte dnes a vidzte výsledky behom pár dní.

Obrana proti manipulácii s kontextovým oknom

Ukotvenie kritických inštrukcií

Neumiesťňujte všetky bezpečnostne kritické inštrukcie iba na začiatok systémového promptu. Opakujte kľúčové obmedzenia na konci systémového promptu a zvážte vloženie stručných pripomienok na kľúčových miestach v dlhých konverzáciách.

Limity veľkosti kontextu

Implementujte maximálne limity dĺžky vstupu vhodné pre váš prípad použitia. Chatbot zákazníckej podpory zriedka potrebuje spracovať vstupy s 100 000 tokenmi — obmedzenie tohto znižuje riziko útoku zaplavením.

Monitorovanie kontextu

Zaznamenávajte a monitorujte veľkosti a zloženie kontextov. Nezvyčajne veľké vstupy, rýchly rast kontextu alebo neočakávané zloženie kontextu sú potenciálne indikátory útoku.

Sumarizácia pre dlhé konverzácie

Pre dlhotrvajúce konverzácie implementujte sumarizáciu kontextu, ktorá zachováva kľúčové fakty a obmedzenia namiesto surovej histórie konverzácie. Toto odolá útokom pretečenia pri zachovaní konverzačnej kontinuity.

Testovanie adversariálneho kontextu

Zahrňte scenáre manipulácie s kontextom do AI penetračného testovania . Testujte, či bezpečnostné správanie platí naprieč dlhými kontextmi a či systémové prompty zostávajú efektívne po zaplavení kontextu.

Súvisiace pojmy

Najčastejšie kladené otázky

Čo je kontextové okno v LLM?

Kontextové okno je množstvo textu (merané v tokenoch), ktoré môže veľký jazykový model spracovať naraz. Zahŕňa systémový prompt, históriu konverzácie, získané dokumenty a výstupy nástrojov. Všetko, čo model 'vie' počas relácie, sa musí zmestiť do tohto okna.

Ako môžu útočníci zneužiť kontextové okno?

Útočníci môžu zaplaviť kontext irelevantným obsahom, aby vytlačili skoré inštrukcie (vrátane bezpečnostných ochranných opatrení) mimo efektívnej pozornosti modelu, vložiť škodlivé payloady, ktoré sú zakopané v dlhých kontextoch a prehliadané filtrami, alebo zneužiť správanie skracovania kontextu na zabezpečenie toho, aby škodlivý obsah prežil, zatiaľ čo legitímne inštrukcie nie.

Ako sa chrániť proti manipulácii s kontextovým oknom?

Obranné opatrenia zahŕňajú: ukotvenie kritických inštrukcií na viacerých miestach v kontexte (nielen na začiatku), implementáciu limitov veľkosti kontextu, monitorovanie nezvyčajne veľkých kontextových payloadov, použitie sumarizácie kontextu pre dlhé konverzácie a testovanie scenárov manipulácie s kontextom v bezpečnostných posúdeniach.

Otestujte svojho chatbota proti útokom založeným na kontexte

Manipulácia s kontextovým oknom je podceňovaná útočná plocha. Naše penetračné testovanie zahŕňa scenáre pretečenia kontextu a strategickej otravy.

Zistiť viac

Windowing
Windowing

Windowing

Windowing v umelej inteligencii označuje spracovanie dát v segmentoch alebo „oknách“ na efektívnu analýzu sekvenčných informácií. Nevyhnutné v NLP a LLM, window...

7 min čítania
AI NLP +5
Token
Token

Token

Token v kontexte veľkých jazykových modelov (LLM) je sekvencia znakov, ktorú model prevádza na číselné reprezentácie pre efektívne spracovanie. Tokeny sú základ...

3 min čítania
Token LLM +3