Zatruwanie pamięci agentów AI: trwałe zagrożenie dla systemów opartych na LLM - Security Bez Tabu

Zatruwanie pamięci agentów AI: trwałe zagrożenie dla systemów opartych na LLM

Cybersecurity news

Wprowadzenie do problemu / definicja

Mechanizmy pamięci w agentach AI mają zwiększać skuteczność modeli językowych poprzez przechowywanie preferencji użytkownika, kontekstu pracy i informacji potrzebnych w kolejnych sesjach. To jednak tworzy nową powierzchnię ataku. Jeśli napastnik zmodyfikuje plik pamięci lub inne dane kontekstowe, agent może wykonywać szkodliwe instrukcje nie tylko jednorazowo, ale również w sposób trwały, wpływając na przyszłe działania systemu.

W praktyce oznacza to przejście od incydentów sesyjnych do trwałej kompromitacji stanu operacyjnego agenta. Problem nie dotyczy wyłącznie jednego narzędzia, lecz całej klasy rozwiązań wykorzystujących pamięć długoterminową, warstwy orkiestracji i integracje z zewnętrznymi źródłami danych.

W skrócie

Zatrucie pamięci agentów AI polega na wprowadzeniu złośliwych instrukcji do plików lub artefaktów, które później są ponownie ładowane do kontekstu modelu. W efekcie agent może przez długi czas podejmować decyzje zgodne z intencją napastnika, mimo że sam model bazowy pozostaje bezstanowy.

  • atak może utrzymywać się między sesjami i projektami,
  • złośliwe instrukcje mogą wpływać na generowany kod i decyzje operacyjne,
  • ryzyko obejmuje wybór niebezpiecznych pakietów, osłabienie konfiguracji i propagację błędów,
  • zagrożenie dotyczy pamięci, plików tekstowych, konfiguracji oraz danych kontekstowych używanych przez agentów AI.

Kontekst / historia

W ostatnim czasie bezpieczeństwo agentów AI stało się jednym z kluczowych tematów w obszarze AppSec i ochrony łańcucha dostaw oprogramowania. Wraz z popularyzacją asystentów kodowania i narzędzi opartych na LLM pojawiły się nowe klasy zagrożeń, takie jak prompt injection, zatrucie kontekstu, manipulacja pamięcią długoterminową i nadużycia integracji z usługami zewnętrznymi.

Badania opisujące kompromitację plików pamięci wykorzystywanych przez asystentów AI pokazały, że atak nie musi kończyć się na pojedynczym wywołaniu modelu. Po zapisaniu złośliwej treści do pamięci system może odtwarzać ją w kolejnych sesjach, projektach lub interakcjach użytkownika. To znacząco zwiększa trwałość ataku i utrudnia jego wykrycie.

Analiza techniczna

Modele bazowe są z natury bezstanowe, dlatego ciągłość działania agentów wymaga dostarczania im stanu z dodatkowych warstw, takich jak pliki pamięci, bazy wektorowe, systemy RAG, adaptery czy konfiguracje projektowe. Każdy z tych elementów może stać się nośnikiem nieautoryzowanych instrukcji.

W analizowanych scenariuszach wektorem wejścia były między innymi mechanizmy post-install hook w ekosystemie pakietów, które pozwalały modyfikować pliki pamięci używane przez narzędzia AI. Jeśli taka zawartość trafia następnie do system promptu lub uprzywilejowanego kontekstu, model może potraktować złośliwy tekst jako zaufaną instrukcję operacyjną.

To podejście jest groźne, ponieważ szkodliwy komponent nie musi mieć postaci klasycznego kodu wykonywalnego. Wystarczy odpowiednio sformułowany tekst, który warstwa orkiestracji zinterpretuje jako część stanu systemu. Podatne mogą być więc nie tylko dedykowane pliki pamięci, ale także pliki Markdown, zależności, dokumentacja projektowa czy reguły pracy modelu.

Z perspektywy architektury bezpieczeństwa jest to rozszerzenie znanego problemu prompt injection. Różnica polega na trwałości oraz na tym, że zainfekowany kanał może być traktowany przez system jako zaufany. W rezultacie memory poisoning staje się formą trwałego skażenia środowiska roboczego agenta, a nie jedynie jednorazową manipulacją odpowiedzią.

Konsekwencje / ryzyko

Największym zagrożeniem jest utrata integralności działań agenta AI. Organizacja może przez długi czas nie zauważyć, że model podejmuje decyzje zgodne z logiką zaszytą przez napastnika, a nie z polityką bezpieczeństwa firmy.

W środowiskach deweloperskich skutki mogą być szczególnie dotkliwe, ponieważ agenci często mają dostęp do kodu, repozytoriów, konfiguracji CI/CD, zależności i pośrednio do danych wrażliwych. Zatruta pamięć może prowadzić do wdrażania ryzykownych bibliotek, osłabienia konfiguracji bezpieczeństwa, wprowadzania poufnych danych do kodu lub dokumentacji oraz propagacji niepoprawnych zmian na inne zespoły.

Problemem pozostaje także niska widoczność incydentu. Złośliwe instrukcje mogą wyglądać jak zwykła zawartość tekstowa w pozornie nieszkodliwym pliku. Im dłużej pamięć jest przechowywana i rzadziej weryfikowana, tym większa szansa, że atak pozostanie aktywny przez wiele dni lub tygodni.

Rekomendacje

Organizacje wdrażające agentów AI powinny traktować pliki pamięci, dane kontekstowe i artefakty sterujące jako zasoby wysokiego ryzyka. Wymagają one podobnych kontroli jak konfiguracje bezpieczeństwa, skrypty startowe czy komponenty łańcucha dostaw.

  • wdrożenie kontroli integralności plików pamięci i ich wersjonowania,
  • regularne przeglądy bezpieczeństwa oraz monitoring zmian w artefaktach kontekstowych,
  • skanowanie zależności, hooków instalacyjnych i konfiguracji pod kątem nieautoryzowanych modyfikacji,
  • ograniczenie retencji pamięci i okresowe czyszczenie stanu długoterminowego,
  • odbudowa pamięci wyłącznie z zaufanych źródeł po wykryciu anomalii,
  • separacja uprawnień i ograniczenie dostępu agenta do systemów wysokiego ryzyka,
  • wymaganie zatwierdzenia człowieka dla działań o wysokim wpływie operacyjnym.

W praktyce zespoły bezpieczeństwa powinny przyjąć, że każdy plik tekstowy dołączany do kontekstu modelu może stać się wektorem ataku. Ochrona agentów AI nie może więc ograniczać się do samego modelu, lecz musi obejmować także stan, pamięć i warstwę orkiestracji.

Podsumowanie

Zatrucie pamięci agentów AI to jedno z najpoważniejszych i nadal niedoszacowanych zagrożeń w bezpieczeństwie systemów opartych na LLM. Mechanizmy, które mają poprawiać użyteczność i personalizację, jednocześnie tworzą trwały kanał wpływu na zachowanie modelu.

Dla organizacji oznacza to konieczność rozszerzenia klasycznego podejścia do AppSec i supply chain security o nowe klasy artefaktów: pliki pamięci, dane kontekstowe oraz logikę orkiestracji agentów. W najbliższych latach to właśnie ochrona stanu operacyjnego agentów może stać się jednym z kluczowych warunków bezpiecznego wdrażania AI w środowiskach produkcyjnych.

Źródła

  1. Bad Memories Still Haunt AI Agents — https://www.darkreading.com/vulnerabilities-threats/bad-memories-haunt-ai-agents
  2. Cisco: Weaponizing AI Assistant Memories: Prompt Injection & Persistence in Anthropic Claude Code — https://blogs.cisco.com/security/weaponizing-ai-assistant-memories-prompt-injection-persistence-in-anthropic-claude-code
  3. Palo Alto Networks Unit 42: Context Manipulation Attacks in AI Agents — https://unit42.paloaltonetworks.com/context-manipulation-attacks-ai-agents/
  4. Princeton University / Sentient AI: Emergent Misalignment from Memory Poisoning — https://arxiv.org/abs/2502.17424
  5. Open Worldwide Application Security Project: OWASP Top 10 for LLM Applications — https://owasp.org/www-project-top-10-for-large-language-model-applications/