Cryptographic Context Injection: jak atak zero-click mógł doprowadzić do wycieku historii czatów Grok - Security Bez Tabu

Cryptographic Context Injection: jak atak zero-click mógł doprowadzić do wycieku historii czatów Grok

Cybersecurity news

Wprowadzenie do problemu / definicja

Cryptographic Context Injection to nowa technika ataku wymierzona w systemy AI agentowej, w której złośliwe instrukcje są ukrywane w zaszyfrowanym ładunku i aktywowane dopiero w środowisku wykonawczym modelu. Oznacza to, że tradycyjne mechanizmy bezpieczeństwa analizujące jedynie jawny tekst wejściowy mogą nie wykryć faktycznej intencji atakującego.

W opisywanym scenariuszu celem nie jest wyłącznie manipulacja odpowiedzią modelu, ale również przejęcie wrażliwego kontekstu sesji użytkownika. W praktyce może to obejmować historię rozmów, metadane konta, informacje o subskrypcji czy inne dane dostępne agentowi podczas wykonywania zadań.

W skrócie

Badacz z Adversa AI opisał metodę, w której polecenia dla modelu są przemycane w formie szyfrogramu AES. Dopóki ładunek pozostaje zaszyfrowany, klasyczne guardraile widzą jedynie niegroźnie wyglądające dane oraz instrukcje techniczne.

Po wejściu użytkownika na spreparowaną stronę agent AI może samodzielnie odszyfrować zawartość w sandboxie kodu i potraktować wynik jako wiarygodny kontekst operacyjny. W przypadku Grok taki scenariusz miał umożliwiać automatyczne pozyskanie danych sesyjnych, w tym pełnej historii czatów, bez dodatkowego kliknięcia lub ostrzeżenia.

  • atak wykorzystuje zaszyfrowany ładunek zamiast jawnego promptu,
  • odszyfrowanie następuje dopiero w runtime,
  • problem dotyczy nie tylko modelu, ale całej architektury agentowej,
  • największe ryzyko stanowi eksfiltracja danych i obejście polityk bezpieczeństwa.

Kontekst / historia

Prompt injection od dawna należy do najpoważniejszych zagrożeń dla systemów opartych na dużych modelach językowych. Wcześniejsze warianty takich ataków wykorzystywały proste mechanizmy ukrywania poleceń, między innymi kodowanie Base64, operacje XOR czy podstawienia znaków.

Wspólną cechą tych metod było jednak to, że model mógł odtworzyć ukryty komunikat bezpośrednio w swoim tekstowym kontekście. Nowy wariant stanowi istotną zmianę jakościową, ponieważ używa pełnoprawnej kryptografii symetrycznej, a odszyfrowanie wymaga wykonania kodu oraz operacji w środowisku runtime.

To przesuwa ciężar problemu z warstwy samego modelu na poziom orkiestracji agenta, integracji z narzędziami oraz zasad zaufania wobec danych zewnętrznych. Innymi słowy, zagrożenie pojawia się tam, gdzie model ma jednocześnie dostęp do internetu, sandboxa, danych sesyjnych i możliwości wykonywania połączeń wychodzących.

Analiza techniczna

Mechanizm ataku można opisać jako sekwencję kilku kroków. Najpierw atakujący publikuje stronę lub treść, która wygląda nieszkodliwie, na przykład materiał do streszczenia albo analizę techniczną. W tej treści umieszcza zaszyfrowany ładunek oraz instrukcje, które skłaniają agenta do wykonania procesu odszyfrowania.

Jeżeli platforma AI ma funkcję przeglądania sieci i możliwość uruchamiania kodu, model może pobrać dane, uruchomić skrypt i odtworzyć ukryte polecenia już wewnątrz zaufanego środowiska. W tym momencie klasyczne filtry bezpieczeństwa są spóźnione, ponieważ nie analizowały treści po odszyfrowaniu.

Kluczowy problem polega na tym, że wynik działania kodu bywa traktowany jako wiarygodny kontekst roboczy. Jeśli system nie klasyfikuje takich danych jako nieufnych, odszyfrowany komunikat może uzyskać uprzywilejowaną pozycję i wpłynąć na dalsze działania agenta.

W scenariuszu związanym z Grok odszyfrowany ładunek miał prowadzić do wykorzystania prywatnych danych sesji użytkownika. Agent mógł wstawić do żądania kierowanego na serwer kontrolowany przez napastnika takie informacje jak dane profilu, poziom subskrypcji oraz historia rozmów.

Istotne jest również rozróżnienie między podatnością modelu a błędem projektowym całej architektury. Źródłem ryzyka jest połączenie kilku uprawnień w jednym łańcuchu wykonania:

  • dostępu do treści zewnętrznych,
  • możliwości uruchamiania kodu,
  • dostępu do danych sesyjnych,
  • uprawnienia do komunikacji z internetem.

Gdy wszystkie te elementy występują jednocześnie, złośliwa treść może przejść drogę od niewinnego materiału wejściowego do pełnej eksfiltracji danych.

Konsekwencje / ryzyko

Najpoważniejszą konsekwencją ataku jest naruszenie poufności. Jeśli agent ma dostęp do historii rozmów, danych firmowych, fragmentów kodu źródłowego, analiz biznesowych lub informacji o klientach, każda z tych kategorii może stać się celem wycieku.

Drugim obszarem ryzyka jest obejście polityk bezpieczeństwa. Jeżeli wynik działania sandboxa lub innego narzędzia zyskuje automatycznie status wiarygodnego, napastnik może przemycić instrukcje omijające ograniczenia dotyczące treści, zgodności lub użycia narzędzi.

Trzecim problemem pozostaje niska wykrywalność. Sam szyfrogram może nie wzbudzać podejrzeń, a pojedyncze operacje, takie jak pobranie strony, uruchomienie skryptu czy wysłanie żądania HTTP, mogą wyglądać jak zwykła aktywność agenta. Bez pełnego śledzenia łańcucha działań analiza incydentu staje się znacznie trudniejsza.

Rekomendacje

Podstawową zasadą obrony powinna być ścisła separacja kontekstów zaufanych i nieufnych. Treści pochodzące z internetu, dokumentów użytkownika lub zewnętrznych integracji powinny być przetwarzane w izolowanym środowisku bez dostępu do danych sesyjnych i uprzywilejowanych narzędzi.

Organizacje powinny również ograniczyć możliwość automatycznego uruchamiania kodu oraz połączeń wychodzących. Jeżeli runtime jest niezbędny, działania wysokiego ryzyka powinny wymagać jawnej zgody lub dodatkowej warstwy kontroli.

Równie ważne jest traktowanie wyników generowanych przez narzędzia jako danych nieufnych. Dotyczy to odpowiedzi z sandboxa, parserów dokumentów, przeglądarek oraz integracji API. Takie dane nie powinny automatycznie stawać się instrukcją dla głównego agenta.

  • wdrożyć izolację danych zewnętrznych od pamięci sesji,
  • ograniczyć dostęp runtime do sieci i wrażliwego kontekstu,
  • wymuszać weryfikację finalnych argumentów wywołań narzędzi,
  • logować pełne ślady działań per sesja,
  • monitorować sekwencje: pobranie treści, wykonanie kodu, odczyt danych i ruch do nietypowego hosta.

Z perspektywy architektury bezpieczeństwa szczególnie niebezpieczna jest nadmierna kumulacja uprawnień w jednym komponencie. Każdy agent, który jednocześnie czyta dane użytkownika, wykonuje kod i komunikuje się z internetem, powinien być traktowany jako strefa podwyższonego ryzyka.

Podsumowanie

Cryptographic Context Injection pokazuje, że bezpieczeństwo systemów AI zależy nie tylko od jakości filtrów modelu, ale przede wszystkim od sposobu integracji modelu z narzędziami, pamięcią sesji i komunikacją sieciową. Zaszyfrowany ładunek nie musi przekonywać guardraili na poziomie tekstu, jeśli może zostać odszyfrowany i wykonany już wewnątrz zaufanego runtime.

W praktyce oznacza to ryzyko zarówno dla integralności działania modelu, jak i dla poufności danych użytkownika. Dla zespołów bezpieczeństwa jest to wyraźny sygnał, że platformy agentowe AI wymagają kontroli porównywalnych z tymi, jakie stosuje się wobec aplikacji uruchamiających kod i przetwarzających informacje wrażliwe.

Źródła

  1. Security Affairs – Zero-Click Grok Chat History Theft: Adversa AI Demonstrates Cryptographic Context Injection – https://securityaffairs.com/197717/hacking/zero-click-grok-chat-history-theft-adversa-ai-demonstrates-cryptographic-context-injection.html
  2. Adversa AI – Cryptographic Context Injection – https://adversa.ai/
  3. xAI – Grok – https://grok.x.ai/
  4. Google Gemini – Product information – https://gemini.google.com/