Okienkowanie
Okienkowanie w sztucznej inteligencji odnosi się do przetwarzania danych w segmentach, czyli „okienkach”, aby efektywnie analizować informacje sekwencyjne. Niez...

Manipulacja oknem kontekstu odnosi się do ataków wykorzystujących skończone okno kontekstu dużych modeli językowych — w tym wypychanie kontekstu, przepełnienie kontekstu i strategiczne zatruwanie — w celu pogorszenia wydajności, ukrycia złośliwych ładunków lub nadpisania wcześniejszych instrukcji.
Okno kontekstu jest jedną z najważniejszych i najmniej rozumianych granic bezpieczeństwa we wdrożeniach dużych modeli językowych. Definiuje, do jakich informacji LLM może uzyskać dostęp podczas pojedynczego wywołania wnioskowania — i jest to skończony zasób, który atakujący mogą celowo wykorzystać.
Duży model językowy przetwarza tekst jako tokeny (w przybliżeniu 3/4 słowa na token). Okno kontekstu definiuje maksymalną liczbę tokenów, które model może przetworzyć jednocześnie. Nowoczesne modele mają zakres od 4K do ponad 1M tokenów, ale wszystkie mają limity.
W oknie kontekstu LLM przetwarza:
Wszystko to pojawia się dla modelu jako ujednolicony strumień. Model nie ma wewnętrznego mechanizmu, aby traktować instrukcje z różnych źródeł inaczej — a jego uwaga na konkretne części kontekstu nie jest jednolita.
Atakujący przesyła niezwykle duże dane wejściowe — często długi dokument, blok kodu lub zrzut tekstu — aby wypchnąć wcześniejszą treść (szczególnie prompt systemowy) dalej od bieżącej pozycji modelu.
Badania pokazują, że LLM wykazują zachowanie “zagubienia w środku”: zwracają większą uwagę na treść na początku i końcu długich kontekstów, a mniejszą uwagę na informacje w środku. Zalewając kontekst, atakujący może strategicznie umieścić swój złośliwy ładunek (zazwyczaj na końcu), podczas gdy wcześniejsze instrukcje bezpieczeństwa dryfują do strefy niskiej uwagi w środku.
Praktyczny przykład: Prompt systemowy chatbota ustala, że nie może dyskutować o produktach konkurencji. Atakujący przesyła dokument o 50 000 tokenów, po którym następuje prompt pytający o konkurencję. Instrukcja promptu systemowego została skutecznie rozmyta.
Gdy kontekst się zapełnia, LLM lub jego infrastruktura musi zdecydować, co odrzucić. Jeśli obcinanie priorytetyzuje aktualność (odrzucając najpierw najstarszą treść), atakujący może przepełnić kontekst, aby całkowicie wyeliminować prompt systemowy — pozostawiając model działający tylko z kontekstem dostarczonym przez użytkownika.
Sekwencja ataku:
W systemach RAG pobrane dokumenty zajmują znaczną przestrzeń kontekstu. Atakujący, który może wpłynąć na to, co zostanie pobrane (poprzez zatruwanie RAG ), może selektywnie wypełnić kontekst treścią służącą ich celom, jednocześnie wypierając legalne informacje.
Badania zidentyfikowały, że instrukcje na określonych pozycjach w kontekście mają nieproporcjonalny wpływ. Atakujący, którzy rozumieją składanie kontekstu, mogą tworzyć dane wejściowe zaprojektowane tak, aby znaleźć się na pozycjach o wysokiej uwadze względem ich ładunku.
W modelach obsługujących bardzo długie konteksty (setki tysięcy tokenów) atakujący mogą osadzić setki “demonstracyjnych” przykładów pokazujących model produkujący wyniki naruszające zasady przed faktycznym złośliwym żądaniem. Model, uwarunkowany tymi demonstracjami, jest znacznie bardziej skłonny do zastosowania się.
Nie umieszczaj wszystkich krytycznych dla bezpieczeństwa instrukcji tylko na początku promptu systemowego. Powtórz kluczowe ograniczenia na końcu promptu systemowego i rozważ wstrzykiwanie krótkich przypomnień w kluczowych punktach długich konwersacji.
Wdróż maksymalne limity długości danych wejściowych odpowiednie dla twojego przypadku użycia. Chatbot obsługi klienta rzadko potrzebuje przetwarzać dane wejściowe o 100 000 tokenów — ograniczenie tego zmniejsza ryzyko ataku zalewania.
Loguj i monitoruj rozmiary i skład kontekstu. Nietypowo duże dane wejściowe, szybki wzrost kontekstu lub nieoczekiwany skład kontekstu są potencjalnymi wskaźnikami ataku.
Dla długotrwałych konwersacji wdróż podsumowanie kontekstu, które zachowuje kluczowe fakty i ograniczenia zamiast surowej historii konwersacji. To opiera się atakom przepełnienia, zachowując jednocześnie ciągłość konwersacji.
Uwzględnij scenariusze manipulacji kontekstem w zaangażowaniach testów penetracyjnych AI . Testuj, czy zachowania bezpieczeństwa utrzymują się w długich kontekstach i czy prompty systemowe pozostają skuteczne po zalewaniu kontekstu.
Okno kontekstu to ilość tekstu (mierzona w tokenach), którą duży model językowy może przetworzyć jednocześnie. Obejmuje prompt systemowy, historię konwersacji, pobrane dokumenty i wyniki narzędzi. Wszystko, co model "wie" podczas sesji, musi zmieścić się w tym oknie.
Atakujący mogą zalać kontekst nieistotnymi treściami, aby wypchnąć wczesne instrukcje (w tym zabezpieczenia) poza efektywną uwagę modelu, wstrzyknąć złośliwe ładunki, które są ukryte w długich kontekstach i pomijane przez filtry, lub wykorzystać zachowania obcinania kontekstu, aby zapewnić, że złośliwa treść przetrwa, podczas gdy legalne instrukcje nie.
Obrona obejmuje: zakotwiczenie krytycznych instrukcji w wielu punktach kontekstu (nie tylko na początku), wdrożenie limitów rozmiaru kontekstu, monitorowanie nietypowo dużych ładunków kontekstu, używanie podsumowania kontekstu dla długich konwersacji oraz testowanie scenariuszy manipulacji kontekstem w ocenach bezpieczeństwa.
Manipulacja oknem kontekstu to niedoceniana powierzchnia ataku. Nasze testy penetracyjne obejmują scenariusze przepełnienia kontekstu i strategicznego zatruwania.
Okienkowanie w sztucznej inteligencji odnosi się do przetwarzania danych w segmentach, czyli „okienkach”, aby efektywnie analizować informacje sekwencyjne. Niez...
Token w kontekście dużych modeli językowych (LLM) to sekwencja znaków, którą model przekształca w reprezentacje numeryczne dla efektywnego przetwarzania. Tokeny...
Duży model językowy (LLM) to rodzaj sztucznej inteligencji, trenowany na ogromnych zbiorach tekstowych, aby rozumieć, generować i przetwarzać ludzki język. LLM-...