Wystartowała Akademia NIS2/KSC2! Można jeszcze dołączyć do końca lipca!

Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!

Bezpłatne szkolenie: AI dla admina. Top 5 zadań, które zrobisz szybciej

Od rekonesansu do zaszyfrowania infrastruktury: agent AI wyręcza cyberprzestępców. Szczegóły kampanii JadePuffer

23 lipca 2026, 10:06 | W biegu | 0 komentarzy

Badacze bezpieczeństwa z Sysdig opisali kampanię powiązaną z JadePuffer, w której cyberprzestępcy wykorzystali agenta AI bazującego na LLM (large language model) do przeprowadzenia ataku. Nie byłoby w tym nic dziwnego – w końcu atakujący od dawna wspierają się narzędziami bazującymi na sztucznej inteligencji. Tym razem jednak cała akcja została przeprowadzona autonomicznie przez AI: od znalezienia podatności i zdobycia przyczółka w sieci, aż po szyfrowanie danych i wystawienie żądania okup. Analitycy podkreślają, że agent potrafił na bieżąco reagować na błędy, modyfikować składnie poleceń oraz dostosowywać metody ataku do konkretnych sytuacji.

TLDR:

  • Badacze bezpieczeństwa z Sysdig wykryli kampanię cyberprzestępczą JadePuffer, w której agent AI (LLM) został wykorzystany do przeprowadzenia ataku.
  • Co ciekawe, agent działał w pełni autonomicznie: od rekonesansu i znalezienia podatności, aż po eksploitację, zaszyfrowanie danych i wystawienie notatki z żądaniem okupu.
  • Punktem wejścia do infrastruktury celu okazały się podatne instancje oprogramowania Langflow.
  • Po zdobyciu początkowego dostępu, agent “w locie” dostosowywał skrypty do warunków napotkanych w sieci (potrafił zdebugować błąd, wprowadzić modyfikacje, a następnie ponowić atak).
  • Analitycy nie mają wątpliwości, że mają do czynienia z autonomicznym agentem AI. Świadczą o tym chociażby prędkość działania, szybka autokorekta oraz komentarze umieszczone w wygenerowanych skryptach.

Zgodnie z zaplanowanym scenariuszem, agent przeczesywał sieć w poszukiwaniu podatnych instancji Langflow (frameworku służącego do budowania aplikacji opartych na modelach LLM) wystawionych bezpośrednio na świat. Jak łatwo zauważyć, agent nie próbował szukać nowych błędów (0-day), skupił się przede wszystkim na dobrze znanych podatnościach. W analizowanej kampanii kluczem do sukcesu okazała się luka oznaczona jako CVE-2025-3248, pozwalająca na zdalne wykonanie kodu (RCE) bez uwierzytelnienia. Dzięki niej możliwe było uruchomienie dowolnego skryptu w środowisku Python. Jeżeli eksploit nie działał, agent przeprowadzał niezbędne modyfikacje, aby osiągnąć zamierzony cel. 

Jednak to co jest warte uwagi, to sposób działania agenta po uzyskaniu dostępu do środowiska celu. To jednoznacznie pokazuje, jak będzie wyglądać najbliższa przyszłość i jak szybko trzeba będzie reagować na incydenty.

Pierwsza faza obejmowała rekonesans. Agent skupił się na identyfikacji systemu, rozpoznaniu interfejsów sieciowych oraz przeskanował uruchomione procesy i usługi. Następnie przeszukał system pod kątem zmiennych środowiskowych, plików konfiguracyjnych oraz sekretów. Warto zwrócić uwagę, że na liście interesujących danych znalazły się:

  • klucze API dostawców LLM (OpenAI, Anthropic, DeepSeek, Gemini),
  • poświadczenia logowania do usług chmurowych (Alibaba, Tencent, Huawei, AWS, GCP, Azure),
  • portfele kryptowalutowe.

Wykonał dump bazy danych Langflow celem ekstrakcji zapisanych poświadczeń, kluczy API oraz danych użytkownika. Zgromadzone informacje przechowywał w plikach tymczasowych, które po przeanalizowaniu usuwał.

Kolejnym krokiem było przeskanowanie sieci lokalnej i wykorzystanie zgromadzonych poświadczeń do przemieszczania się wewnątrz infrastruktury (lateral movement). W efekcie agent wykrył aktywną usługę MinIO działającą na standardowym porcie 9000. MinIO to popularny, samodzielnie hostowany magazyn obiektów kompatybilny z Amazon S3 (Simple Storage Service) – powszechnie używany m.in. do przechowywania kopii zapasowych, danych aplikacji, czy modeli uczenia maszynowego. Komunikacja z serwisem odbywa się za pomocą API.

Co ciekawe, po wykryciu usługi agent bez problemu zalogował się do panelu administracyjnego, wykorzystując domyślne dane dostępowe (minioadmin:minioadmin). Następnie przeszedł do enumeracji zasobów, pobierając obiekty mogące zawierać sekrety (np. pliki .env). 

W tym miejscu warto zwrócić uwagę, że agent samodzielnie podjął decyzję o zaatakowaniu usługi. Co więcej, wykazał się również dużą elastycznością w konstrukcji zapytań. Jeżeli jego skrypt żądał danych w formacie JSON, a serwer MinIO odpowiadał strukturą XML, to agent nie rezygnował z dalszych działań, tylko “w locie” implementował parser kodu, po czym kontynuował operacje.

Enumeracja zasobów. Źródło: sysdig.com/blog/
Eksfiltracja sekretów. Źródło: sysdig.com/blog/

Ostatnim elementem na tym etapie było zapewnienie stałego dostępu do przejętej maszyny (persistence). W tym celu agent wykorzystał crontab, dzięki czemu atakujący co 30 minut otrzymywał sygnał (beacon) potwierdzający, że sesja jest nadal aktywna.

Na tym jednak atak się nie zakończył. Agent z poziomu Langflow przeniósł się na serwer bazy danych MySQL oraz powiązanego z nim narzędzia Alibaba Nacos (Naming and Configuration Service), służącego do centralnego zarządzania konfiguracją mikroserwisów. Szczegóły tego przejścia oraz eskalacja uprawnień do poziomu roota nie zostały sprecyzowane w raporcie. Niemniej jednak wiadomo, że będąc już na serwerze, wykorzystał podatność CVE-2021-29441 do ominięcia procedury uwierzytelnienia w Nacos i utworzenia konta administratora. 

Posiadając najwyższe uprawnienia w Nacos, agent przystąpił do ostatniego etapu – “zabezpieczenie danych”. Zamiast zaszyfrowania plików na przejętych maszynach, agent zdecydował się zaatakować bezpośrednio dane aplikacyjne. 

Zgodnie z raportem zaatakowano 1342 elementy konfiguracyjne usługi Nacos. Wykorzystano w tym celu funkcje szyfrującą dostępną w MySQL (AES_ENCRYPT). Jeżeli nie zostało to inaczej zdefiniowane, pod tą funkcją kryje się AES-128 w trybie pracy ECB. Zgodnie z notatką ransomware algorytmem szyfrującym był AES-256. 

Na co warto zwrócić uwagę, a co jest wręcz krytyczne to sposób generacji klucza szyfrującego oraz to co się z nim później dzieje. Agent wygenerował klucz szyfrujący za pomocą polecenia: base64(uuid4().bytes + uuid4().bytes). Następnie wyświetlił go na standardowe wyjście (stdout), nie zapisując go na dysku ani nie przesyłając do infrastruktury kontrolowanej przez atakującego. Oznacza to, że użytkownik bezpowrotnie utracił konfigurację, a zapłacenie okupu w zasadzie nic nie zmieni. Co więcej, agent usunął oryginalne tabele z konfiguracją i historią, a następnie utworzył tabelkę z notatką zawierającą żądanie okupu.

Ransomware. Źródło: sysdig.com/blog/ 

Na koniec warto wspomnieć dlaczego atakujący uznali, że atak został przeprowadzony w całości przez agenta AI. Złożyło się na to szereg czynników wśród których należy wymienić:

  • brak przesłania klucza szyfrującego do atakującego,
  • działanie destrukcyjne (szantaż jest bez sensu, skoro nie da się odszyfrować danych),
  • adres portfela (3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy) znany z dokumentacji deweloperskiej Bitcoina,
  • szczegółowe komentarze w języku naturalnym umieszczone bezpośrednio w kodzie, wyjaśniające podjęte działania,
  • błyskawiczna reakcja na napotkane błędy. Czas potrzebny na obejście procesu logowania wynosił nieco ponad 30 sekund.
Proces uzyskiwania nieautoryzowanego dostępu wraz z linią czasu. Źródło: sysdig.com/blog/

Przeprowadzona analiza i wnioski z niej płynące świadczą o jednym: automatyzacja oraz wykorzystanie agentów bazujących na AI w atakach na systemy teleinformatyczne będą stawać się coraz bardziej popularne. Umiejętności techniczne cyberprzestępców nie grają już tak istotnej roli. W ciągu najbliższych lat liczba incydentów może zacząć gwałtownie rosnąć.

Źródło: sysdig.com/blog/  

~_secmike

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

Odpowiedz