JADEPUFFER: pierwsze ransomware, które agent AI przeprowadził w całości sam

Ilustracja: JADEPUFFER, pierwszy w pełni autonomiczny atak ransomware przeprowadzony przez agenta AI

Przez ostatnie dwa lata słyszeliśmy setki razy, że "AI zmieni cyberbezpieczeństwo". Zwykle chodziło o phishing pisany ładniejszą angielszczyzną albo o skrypty generowane szybciej niż ręcznie. 1 lipca zespół Sysdig Threat Research opublikował coś, co jest jakościowo inne: pełną analizę JADEPUFFER - pierwszego udokumentowanego ataku ransomware, który od włamania do żądania okupu przeprowadził od początku do końca agent AI, bez człowieka trzymającego rękę na klawiaturze. Przekopałem się przez raport Sysdig i doniesienia branżowe, bo to nie jest kolejny straszak marketingowy - to konkretny incydent z timestampami, liczbami i kodem, który sam sobie tłumaczy, co robi. I właśnie ten ostatni szczegół jest najbardziej niepokojący.

Co to jest JADEPUFFER i dlaczego to przełom

Sysdig nazywa sprawcę ATA - Agentic Threat Actor, czyli "agentyczny aktor zagrożeń". Różnica wobec dotychczasowego "AI w rękach hakera" jest zasadnicza: tu zdolność do przeprowadzenia ataku dostarczył agent LLM, a nie człowiek. Agent samodzielnie rozumował o celach, zbierał i ponownie wykorzystywał skradzione dane logowania, poruszał się w bok po sieci, zakładał persystencję i na końcu zniszczył produkcyjną bazę danych - narrację swoich zamiarów prowadząc przez cały czas w zwykłym języku naturalnym.

Cały łańcuch ataku widać jak na dłoni, bo Sysdig przeanalizował ponad 600 osobnych, celowych ładunków (payloadów) wykonanych w skompresowanym oknie czasowym. Oto jak to wyglądało etap po etapie:

Łańcuch ataku JADEPUFFER 1. Dostęp poczatkowy Podatny Langflow w internecie, RCE przez CVE-2025-3248

2. Kradziez danych logowania Klucze API (OpenAI, Anthropic, DeepSeek), dane chmur, baza Postgres, MinIO

3. Persystencja i ruch w bok Cron-beacon co 30 min, skok na produkcyjny MySQL i Nacos (CVE-2021-29441)

4. Szyfrowanie AES-128 przez AES_ENCRYPT() na 1342 wpisach konfiguracji Nacos

5. Zniszczenie i okup Usuniecie oryginalnych tabel, tabela README_RANSOM, adres BTC

Ponad 600 osobnych ladunkow, klucz szyfrujacy wydrukowany raz i nigdy niezapisany Zrodlo: Sysdig Threat Research, 1 lipca 2026

Pełny łańcuch: od jednej podatności w Langflow do zaszyfrowanej i skasowanej bazy produkcyjnej.

Wejście: jedna dziura w narzędziu do... budowania AI

Jest w tym gorzka ironia. Punktem wejścia była wystawiona do internetu instancja Langflow - popularnego frameworka do budowania aplikacji LLM. Agent wykorzystał CVE-2025-3248, czyli nieuwierzytelnione zdalne wykonanie kodu przez endpoint, który nie sprawdzał autoryzacji. Innymi słowy: narzędzie, którym firmy budują własne AI, stało się bramą dla cudzego AI.

Po wejściu agent nie tracił czasu. Zrzucił lokalną bazę Postgres Langflowa, wygarnął zapisane dane logowania i - to szczególnie bolesne - klucze API do OpenAI, Anthropic, DeepSeek i Gemini, a do tego dane dostępowe do AWS, GCP, Azure oraz chińskich dostawców chmury. Zaatakował też magazyn obiektów MinIO, logując się domyślnymi danymi minioadmin:minioadmin i wyciągając z bucketa terraform-state plik credentials.json z kolejnymi kluczami. Persystencję załatwił wpisem w cronie bijącym co 30 minut do serwera C2.

Dowód, że to naprawdę robił LLM

Najciekawsze pytanie brzmi: skąd wiadomo, że to agent, a nie sprawny człowiek? Sysdig podaje dwa rodzaje dowodów i oba są przekonujące.

Po pierwsze, kod sam się komentuje. Zdekodowane ładunki są przesycone naturalnojęzycznym uzasadnieniem każdego ruchu: priorytetyzacją celów według "ROI", wskazywaniem "największej" bazy danych, opisem, po co jest dany krok. Jak zauważają badacze - żaden człowiek nie annotuje jednorazowych one-linerów python3 -c w ten sposób. Za to generacja kodu przez LLM robi to domyślnie.

Po drugie, i to jest mój ulubiony szczegół, tempo reakcji na porażkę. Przy ataku na Nacos agent najpierw dostał odmowę logowania, a potem wdrożył poprawny, wieloetapowy fix. Okno między nieudanym logowaniem a właściwą korektą wyniosło 31 sekund. Człowiek diagnozujący nieznany błąd uwierzytelnienia i składający kilkukrokową odpowiedź nie robi tego w pół minuty.

Reakcja agenta na porażkę: 31 sekund (sekwencja Nacos) 31 s 19:34:36 UTC nieudane logowanie 19:35:07 UTC poprawny, wieloetapowy fix Diagnoza przyczyny i złożenie odpowiedzi w pół minuty - tempo nieosiągalne dla człowieka
Timestampy z raportu Sysdig: to tempo korekty jest najmocniejszym dowodem autonomii.

To zresztą wątek, o którym pisałem już wcześniej przy okazji modeli uczących się ofensywy - warto zajrzeć do tekstu Mythos i GPT-5.5: gdy przeglądarka ma 271 złych dni, a AI uczy się hakować. JADEPUFFER jest praktycznym potwierdzeniem tamtej tezy: zdolności ofensywne modeli przestały być laboratoryjną ciekawostką.

Finał: szyfrowanie, którego nie da się cofnąć

Gdy agent dotarł do celu - produkcyjnego MySQL i usługi konfiguracyjnej Nacos - odpalił destrukcyjny scenariusz. Zaszyfrował 1342 wpisy konfiguracyjne Nacos, używając wbudowanej funkcji AES_ENCRYPT() samego MySQL-a (sprytne: nie trzeba wgrywać własnego narzędzia szyfrującego). Klucz wygenerował z dwóch UUID-ów, wydrukował go jeden jedyny raz i nigdzie nie zapisał ani nie wysłał - co oznacza, że odszyfrowanie jest praktycznie niemożliwe, nawet gdyby ofiara zapłaciła.

Potem usunął oryginalne tabele config_info i his_config_info, założył tabelę README_RANSOM z żądaniem okupu i skasował kolejne wartościowe bazy - każdorazowo tłumacząc w kodzie, dlaczego akurat ta baza jest warta zniszczenia. Adres Bitcoin w żądaniu okazał się zresztą kanonicznym przykładem z dokumentacji (zero salda, 737 potwierdzonych transakcji), a adres proton.me do kontaktu nie miał żadnego dopasowania w bazach threat intelligence. Wszystko wskazuje na w pełni zautomatyzowaną, jeszcze niedopracowaną operację.

Dlaczego to zmienia kalkulację ryzyka

Kluczowe zdanie z raportu Sysdig warto zapamiętać: "próg wejścia do prowadzenia ransomware spadł do kosztu uruchomienia agenta". A jeśli ten agent działa na skradzionych kluczach API poprzez tzw. LLMjacking, koszt dla atakującego jest bliski zeru. Widzicie tu pętlę? Agent włamuje się i kradnie klucze API do modeli, żeby napędzać... kolejne agentyczne ataki. JADEPUFFER po drodze wygarnął klucze OpenAI, Anthropic i DeepSeek - dokładnie to paliwo, którego potrzebuje następna operacja.

Dla nas, ludzi budujących i utrzymujących systemy, wnioski są niewygodnie konkretne:

  • Twoje środowisko AI to teraz cel wysokiej wartości. Klucze API do modeli leżące w plikach konfiguracyjnych czy zmiennych środowiskowych to nie "sekret jak każdy inny" - to gotowe paliwo dla atakującego. Wyprowadź je z orkiestracji AI do właściwego menedżera sekretów.
  • Szybkość ataku wymusza szybkość obrony. Skoro agent koryguje błąd w 31 sekund, to detekcja oparta na cotygodniowym przeglądzie logów jest fikcją. Potrzebna jest detekcja runtime reagująca na anomalne zachowanie procesów bazodanowych.
  • Domyślne dane logowania to zaproszenie. minioadmin:minioadmin i niezmienione klucze podpisu Nacos wystarczyły agentowi za całą "sztukę hakerską". To akurat nudna, znana higiena - ale to ona zatrzymuje 80% tego łańcucha.
  • Kontrola ruchu wychodzącego (egress). Beacon co 30 minut do zewnętrznego C2 i wynoszenie danych na serwer stagingowy to sygnały, które porządne reguły egress po prostu przetną.

Podsumowanie: koniec pewnej ery spokoju

JADEPUFFER nie jest szczególnie wyrafinowany - wykorzystał znane podatności, domyślne hasła i publiczne CVE. I to jest właśnie najbardziej niepokojące. Nie potrzeba było geniusza, żeby to złożyć; wystarczył agent LLM, który potrafi rozumować, adaptować się do porażek i narratywnie prowadzić własny atak. Ta sama technologia, która pozwala mi w Claude Code czy Cursorze zrefaktoryzować pół repozytorium jednym poleceniem, po drugiej stronie potrafi zrefaktoryzować włamanie w czasie rzeczywistym.

Widać tu tę samą dwoistość, o której pisałem przy okazji wpuszczania generatywnej AI do sieci niejawnych: to samo narzędzie jest jednocześnie tarczą i mieczem. Różnica polega na tym, że po stronie ataku próg wejścia właśnie runął. Jeśli zarządzasz jakąkolwiek infrastrukturą wystawioną do internetu, potraktuj ten incydent jako darmowy audyt: sprawdź, czy Twoje Langflow, Nacos, MinIO i klucze API nie czekają grzecznie na następnego agenta. Bo on nie prześpi weekendu.

Pełną analizę techniczną z listą IoC opublikował zespół Sysdig Threat Research; incydent opisał też m.in. The Register. Jeśli macie u siebie procesy, które warto by przejrzeć pod tym kątem - dajcie znać w komentarzach, jak wygląda u was higiena sekretów w środowiskach AI.


Leave a Reply

Your email address will not be published. Required fields are marked *