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.