Zatrucie kontekstu

Atak polegający na wprowadzeniu do okna kontekstu agenta — przez zewnętrzne dokumenty, historię konwersacji lub pamięć długoterminową — fałszywych informacji które modyfikują przyszłe zachowanie agenta nawet gdy bezpośredni atak już nie jest aktywny. Szczególnie groźny przy agentach z RAG i pamięcią długoterminową.

W Polsce nazywane też:

zatrucie kontekstumanipulacja pamięcią agentazatruta historia konwersacji

Długa rozmowa z agentem buduje kontekst. Agent pamięta co użytkownik powiedział pięćdziesiąt wiadomości wcześniej. Pamięta jakie decyzje były podjęte, jakie preferencje wyrażone, jaki stan systemu był opisany. Ta „pamięć” — reprezentowana przez historię konwersacji w oknie kontekstu — wpływa na wszystkie kolejne decyzje agenta.

Context poisoning polega na skażeniu tej pamięci.

Atakujący nie musi przejmować agenta w czasie rzeczywistym. Może wstrzyknąć fałszywe wspomnienie — dokument który agent „przeczytał” na początku sesji, decyzję którą „podjął” użytkownik, fakt o systemie który „jest prawdziwy” — i czekać aż agent użyje tego wspomnienia przy krytycznej akcji.

Czym jest context poisoning

Context poisoning to atak na agenta AI polegający na wprowadzeniu do jego okna kontekstu — przez zewnętrzne dokumenty, historię konwersacji, dane z narzędzi lub pamięć długoterminową — fałszywych lub złośliwych informacji które modyfikują przyszłe zachowanie agenta, nawet gdy bezpośredni atak już nie jest aktywny.

Dlaczego okno kontekstu jest wartościowym celem

Agent podejmuje decyzje na podstawie tego co jest w jego kontekście. Fakty które „wie” bo przeczytał dokument mają taki sam status jak fakty które „wie” bo powiedział mu użytkownik. Agent nie ma inherentnego mechanizmu weryfikacji skąd pochodzi informacja i czy jest prawdziwa.

Im większe okno kontekstu — tym więcej możliwości zatrucia. Model który przetwarza milion tokenów może mieć w kontekście setki dokumentów, z których część może zawierać fałszywe informacje. Efekt „lost in the middle” — gorsze przetwarzanie informacji z środka kontekstu — może sprawić że zatruty fragment jest słabiej świadomie przetwarzany ale nadal wpływa na zachowanie modelu.

RAG poisoning jako forma context poisoning

Gdy agent używa RAG — pobiera dokumenty z bazy wiedzy i wstawia je do kontekstu — kompromitacja bazy wiedzy jest bezpośrednim wektorem context poisoning. Atakujący który może dodać lub zmodyfikować dokument w bazie RAG może wprowadzić do kontekstu agenta dowolną informację.

Przykład: agent obsługi klienta który używa RAG nad dokumentacją produktu. Atakujący dodaje do bazy dokument który wygląda jak oficjalna polityka firmy, ale zawiera instrukcje żeby agent oferował nieistniejące zniżki lub zbierał dodatkowe dane od klientów.

Persistent context poisoning

Agenty z pamięcią długoterminową — które „pamiętają” poprzednie sesje przez zewnętrzną bazę danych — są szczególnie narażone. Raz zatruta pamięć może wpływać na zachowanie agenta przez kolejne tygodnie lub miesiące, bez żadnego bieżącego ataku.

Mitygacja

Weryfikacja źródeł w kontekście: ważne decyzje powinny być podejmowane na podstawie informacji z zaufanych, zweryfikowanych źródeł — nie z anonimowych dokumentów w kontekście. Mechanizm który oznacza dokumenty jako „zaufane” lub „niezaufane” w kontekście i różnicuje ich wagę.

Regularny reset kontekstu: dla agentów z długimi sesjami — regularne „czyszczenie” kontekstu i powrót do zaufanego stanu bazowego. Droższe obliczeniowo, ale redukuje akumulację zatrutych informacji.

Audyt pamięci długoterminowej: periodyczny przegląd co agent „pamięta” — jakie fakty są w jego pamięci długoterminowej i czy są legitymowane.

gnicie kontekstuDegradacja jakości odpowiedzi modelu w miarę zapychania okna nieistotną treścią. Im więcej szumu, tym trudniej modelowi wyłowić sygnał.Zatruwanie okna kontekstuAtak na agenta RAG przez wstrzyknięcie złośliwych instrukcji do dokumentów w bazie wiedzy — instrukcje są pobierane przez agenta jako kontekst i wpływają na jego zachowanie. Whitelist źródeł RAG i separacja konfigu od danych jako główne środki obrony.Pośrednie wstrzyknięcie instrukcjiWariant prompt injection w którym złośliwe instrukcje są ukryte w zewnętrznych danych które agent przetwarza w ramach zadania — stronach, mailach, dokumentach, bazach danych — nie w bezpośredniej komunikacji z użytkownikiem. Szczególnie groźny bo agent nie może odróżnić złośliwej instrukcji od legitymowanej treści, a atak jest trudny do wykrycia.Wstrzyknięcie instrukcjiAtak na system agentowy polegający na wstrzyknięciu złośliwych instrukcji w treść którą agent przetwarza — maile, dokumenty, strony internetowe — tak że agent wykonuje działania inne niż zamierzył użytkownik. Fundamentalna klasa zagrożeń wynikająca z tego że modele językowe nie odróżniają inherentnie "treści do przeczytania" od "instrukcji do wykonania".Przejęcie agentaAtak polegający na manipulacji agentem AI przez złośliwe instrukcje ukryte w treści strony lub danych — agent wykonuje działania inne niż zamierzył użytkownik który go wysłał.Okno kontekstuMaksymalna ilość tekstu (mierzona w tokenach) którą model AI może przetworzyć w jednym zapytaniu — determinuje ile treści strony agent może przeczytać naraz i dlaczego Markdown for Agents ma znaczenie.RAGRetrieval-Augmented Generation — technika wzbogacania odpowiedzi modelu AI o dane pobrane w czasie rzeczywistym ze stron WWW lub baz wiedzy, zamiast polegania wyłącznie na wiedzy z treningu.