Manipulacja Oknem Kontekstu

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ć.

Czym Jest Okno Kontekstu?

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:

  • Prompt systemowy: Instrukcje zdefiniowane przez programistę, ustalające rolę i ograniczenia chatbota
  • Historia konwersacji: Poprzednie tury w bieżącej sesji
  • Pobrana treść: Dokumenty, wyniki bazy danych i wyniki narzędzi zwrócone przez RAG lub wyszukiwanie
  • Dane wejściowe użytkownika: Bieżąca wiadomość użytkownika

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.

Techniki Ataku na Okno Kontekstu

Wypychanie Kontekstu / Zalewanie Kontekstu

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.

Przepełnienie Kontekstu / Wykorzystanie Obcinania

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:

  1. Nawiązanie konwersacji z wieloma turami
  2. Generowanie długich odpowiedzi w celu maksymalizacji zużycia kontekstu
  3. Kontynuacja do momentu obcięcia treści promptu systemowego
  4. Teraz wydanie złośliwych instrukcji bez konkurującego promptu systemowego

Zatruwanie Kontekstu przez Pobraną Treść

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.

Wstrzykiwanie Pozycyjne

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.

Wstrzykiwanie Wielokrotne

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ę.

Logo

Gotowy na rozwój swojej firmy?

Rozpocznij bezpłatny okres próbny już dziś i zobacz rezultaty w ciągu kilku dni.

Obrona Przed Manipulacją Oknem Kontekstu

Zakotwicz Krytyczne Instrukcje

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.

Limity Rozmiaru Kontekstu

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.

Monitorowanie Kontekstu

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.

Podsumowanie dla Długich Konwersacji

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.

Testowanie Kontekstu Przeciwnika

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.

Powiązane Terminy

Najczęściej zadawane pytania

Co to jest okno kontekstu w LLM?

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.

Jak atakujący mogą wykorzystać okno kontekstu?

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.

Jak chronić się przed manipulacją oknem kontekstu?

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.

Przetestuj Swojego Chatbota Pod Kątem Ataków Opartych na Kontekście

Manipulacja oknem kontekstu to niedoceniana powierzchnia ataku. Nasze testy penetracyjne obejmują scenariusze przepełnienia kontekstu i strategicznego zatruwania.

Dowiedz się więcej

Okienkowanie

Okienkowanie

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

7 min czytania
AI NLP +5
Token

Token

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...

3 min czytania
Token LLM +3
Duży model językowy (LLM)

Duży model językowy (LLM)

Duży model językowy (LLM) to rodzaj sztucznej inteligencji, trenowany na ogromnych zbiorach tekstowych, aby rozumieć, generować i przetwarzać ludzki język. LLM-...

8 min czytania
AI Large Language Model +4