ZombieAgent: jak „zombifikować” ChatGPT i wykradać dane z konektorów oraz pamięci - Security Bez Tabu

ZombieAgent: jak „zombifikować” ChatGPT i wykradać dane z konektorów oraz pamięci

Wprowadzenie do problemu / definicja luki

ZombieAgent to pokazowy łańcuch ataków typu indirect prompt injection (pośrednia iniekcja promptów), który – według badań Radware – pozwalał przejąć sterowanie nad zachowaniem ChatGPT w scenariuszach „agentowych”: gdy model ma dostęp do narzędzi (np. przeglądania WWW), integracji/konektorów (np. poczta, dysk, repozytoria) i/lub mechanizmów pamięci długoterminowej. Efekt: wyciek danych z usług podłączonych do ChatGPT, możliwość propagacji (rozsyłania ładunku dalej) oraz utrwalenia (persistence) przez manipulację zasadami zapisywanymi w pamięci.

Kluczowe jest to, że w pośredniej iniekcji promptów „polecenia” atakującego nie przychodzą wprost od użytkownika, tylko są ukryte w treści, którą agent ma przetworzyć (e-mail, dokument, plik). Jeśli agent potraktuje tę treść jak instrukcję, zaczyna działać „dla atakującego”.


W skrócie

  • Atak bazuje na złośliwych e-mailach i/lub plikach, które zawierają instrukcje dla AI ukryte w treści.
  • Celem jest eksfiltracja danych (np. z inboxa i książki adresowej) oraz obejście wcześniejszych ograniczeń (m.in. zakazu modyfikowania URL).
  • W wariancie „persistence” atakujący dąży do zapisania reguł w pamięci długoterminowej, by agent wykonywał złośliwe działania w kolejnych rozmowach.
  • Radware raportował podatności wcześniej (ShadowLeak), a ZombieAgent pokazał „drugą rundę”: obejście poprawek; według doniesień luka była zgłoszona 26 września 2025 i załatana 16 grudnia 2025.

Kontekst / historia / powiązania

ZombieAgent jest rozwinięciem szerszego problemu: agentic AI zwiększa powierzchnię ataku, bo model nie tylko „pisze tekst”, ale czyta dane z systemów i wykonuje akcje. Radware wcześniej opisywał technikę ShadowLeak, w której model wyciekał dane przez dopisywanie ich do parametrów URL — co OpenAI miało ograniczyć m.in. przez blokadę modyfikowania linków.

ZombieAgent pokazuje, że nawet po wprowadzeniu takich guardrails można zbudować obejście, jeśli atakujący zmieni sposób „kodowania” danych i kanał wycieku.


Analiza techniczna / szczegóły luki

Radware opisał kilka scenariuszy, które łączy wspólny mianownik: agent dostaje do przetworzenia treść kontrolowaną przez atakującego i wykonuje ukryte instrukcje.

1) Eksfiltracja przez „pre-zbudowane” URL (obejście blokady modyfikacji linków)

Wg opisu, wcześniejsza obrona polegała na tym, że ChatGPT „nie może modyfikować dostarczonych URL” (np. dopisując wykradane dane jako parametry). ZombieAgent omija to, podając z góry przygotowaną listę URL-i odpowiadających literom/cyfrom/spacjom. Agent ma:

  1. odnaleźć w skrzynce ofiary wrażliwy fragment (np. token, adres, dane kontaktowe),
  2. „znormalizować” go,
  3. a potem „wyciekać” znak po znaku, wywołując odpowiedni URL dla kolejnych znaków.
    Ponieważ agent nie „modyfikuje” linku (tylko wybiera z listy), ograniczenie przestaje pomagać.

2) Złośliwy plik + kanały wycieku (serwer + renderowanie Markdown)

Drugi wektor to złośliwe instrukcje w pliku udostępnionym ChatGPT, które skłaniają agenta do eksfiltracji danych zarówno „po stronie usługi”, jak i przez mechanizmy renderowania (np. elementy w treści rozmowy).

3) Propagacja: atak „robi się sam” w ekosystemie e-mail

W wariancie propagacji agent najpierw pozyskuje z inboxa ostatnie adresy e-mail, a następnie atakujący rozsyła payload do kolejnych osób, zwiększając zasięg kampanii. To klasyczny „worm-like” efekt, tylko że paliwem są: konektory + automatyzacja pracy agenta.

4) Persistence przez pamięć długoterminową (Memory)

Najbardziej niepokojący element to „utrwalenie”: złośliwy plik ma instruować agenta, by dodał do pamięci trwałe reguły (np. priorytetyzowanie określonych kroków przed odpowiedzią). W opisie SecurityWeek: normalnie konektory i pamięć nie powinny działać razem w tym samym czacie, ale poprzez wstrzyknięte „reguły pamięci” agent może zawsze najpierw wykonać kroki atakującego (np. odczyt/wyciek), a dopiero potem rozmawiać z użytkownikiem.


Praktyczne konsekwencje / ryzyko

Najważniejsze ryzyka dla firm i użytkowników, jeśli podobne klasy błędów występują w agentach:

  • Wyciek danych z aplikacji podłączonych konektorami: poczta, dyski, narzędzia dev/PM (repozytoria, tickety), komunikatory — wszystko, co agent potrafi odczytać.
  • „Cloud-side exfiltration” i ślepe plamki detekcji: jeśli operacje dzieją się po stronie dostawcy usługi AI, tradycyjne zabezpieczenia perymetryczne/EDR/SWG mogą nie widzieć pełnego obrazu (w praktyce zależy od architektury integracji i logowania).
  • Utrwalony „insider”: pamięć długoterminowa jako mechanizm persistence to jakościowa zmiana — atak nie musi być jednorazowy, tylko może „żyć” w kolejnych sesjach.
  • Ryzyko łańcuchowe: propagacja przez e-mail i automatyzację może szybko przenosić problem na kolejne skrzynki/zespoły.

Rekomendacje operacyjne / co zrobić teraz

Poniżej praktyczny zestaw działań, które mają sens niezależnie od tego konkretnego PoC (bo celują w całą klasę indirect prompt injection dla agentów):

Szybkie „hardening” (dni)

  • Ogranicz konektory do minimum: odłącz e-mail i dyski od agentów tam, gdzie nie są krytyczne; stosuj zasadę najmniejszych uprawnień (tylko odczyt, tylko wybrane foldery/projekty).
  • Wyłącz lub ściśle kontroluj Memory w środowiskach firmowych (szczególnie dla kont uprzywilejowanych i zespołów obsługujących dane wrażliwe).
  • Wprowadź regułę: agent nie wykonuje akcji na podstawie treści z e-maili/plików bez walidacji (human-in-the-loop dla akcji i eksportów danych).
  • Allowlist dla otwierania linków / egress control: jeżeli agent ma narzędzie „open URL”, ogranicz domeny i blokuj nietypowe wzorce (np. masowe „odpytywanie” setek linków). (To dokładnie uderza w styl eksfiltracji „znak po znaku”).

Ochrona procesowa i monitorowanie (tygodnie)

  • Logowanie i audyt narzędzi agenta (co otworzył, co pobrał, jakie akcje wykonał w konektorach) + korelacja z DLP.
  • Segmentacja agentów: osobne tożsamości/instancje do zadań o różnym ryzyku (np. osobny agent do „czytania maili”, bez dostępu do repozytoriów i bez pamięci).
  • Testy bezpieczeństwa agentów: stałe „red teaming” prompt injection na realnych workflow (mail → podsumuj → wykonaj akcję). Radware podkreśla, że klasyczne guardrails bywają niewystarczające przeciw trwałym, pośrednim iniekcjom.

Wymagania wobec dostawcy (vendor / procurement)

  • Pytaj o separację „instrukcji” od „danych”, filtrowanie IPI, polityki pamięci, granice narzędzi oraz telemetrię (co klient może monitorować).
  • Weryfikuj timeline poprawek i komunikację podatności: w tym przypadku media opisywały zgłoszenie 26.09.2025 i łatę 16.12.2025.

Różnice / porównania z innymi przypadkami

  • ShadowLeak vs ZombieAgent: ShadowLeak (wg opisu mediów i Radware) eksfiltrował dane przez dopisywanie ich do URL (parametry). ZombieAgent omija to przez „słownik” predefiniowanych URL-i, czyli nie prosi modelu o modyfikację linku — tylko o wybór linku odpowiadającego znakowi.
  • Jednorazowy wyciek vs persistence: nowością w ZombieAgent jest mocny nacisk na utrwalenie przez pamięć i „reguły”, które wpływają na przyszłe zachowanie agenta.

Podsumowanie / kluczowe wnioski

ZombieAgent to ważny sygnał ostrzegawczy: im bardziej ChatGPT (i inne LLM) stają się agentami z narzędziami, tym mniej wystarcza klasyczne „prompt hardening”. Pośrednia iniekcja promptów w e-mailach i dokumentach jest szczególnie groźna, bo:

  • wygląda jak zwykła treść biznesowa,
  • może uruchamiać się w ramach normalnej pracy („podsumuj skrzynkę / przejrzyj plik”),
  • a w najgorszym wariancie może zostawić trwały ślad w pamięci agenta.

Jeśli w organizacji używacie konektorów i pamięci w narzędziach typu ChatGPT, potraktujcie ten temat jak nową klasę ryzyka operacyjnego (AI supply chain + data governance), a nie „ciekawostkę o jailbreakach”.


Źródła / bibliografia

  1. SecurityWeek — opis scenariuszy eksfiltracji, propagacji i persistence (ZombieAgent).
  2. Radware (blog Threat Intelligence) — streszczenie podatności, eksfiltracja z konektorów, pamięć, propagacja.
  3. Radware (Threat Advisory/Report) — kontekst „agentic economy”, indirect prompt injection, blind spots i persistence.
  4. SC Media/SCWorld — obejście guardrails z URL i wzmocnienia po stronie OpenAI.
  5. The Register — timeline zgłoszenia i łat (26.09.2025 → 16.12.2025) oraz odniesienie do ShadowLeak.