
Co znajdziesz w tym artykule?
Wprowadzenie do problemu / definicja
JadePuffer to nowo opisana operacja ransomware, w której kluczową rolę odegrał autonomiczny agent oparty na dużym modelu językowym. Zamiast klasycznego scenariusza, w którym operator ręcznie prowadzi kolejne etapy włamania, tutaj znaczną część działań zautomatyzowano — od rekonesansu i pozyskiwania poświadczeń po ruch lateralny, szyfrowanie danych oraz próbę wymuszenia okupu.
To ważny sygnał dla rynku cyberbezpieczeństwa, ponieważ pokazuje, że agenci AI mogą już pełnić funkcję aktywnego wykonawcy pełnego łańcucha ataku, a nie tylko narzędzia pomocniczego używanego do pojedynczych zadań.
W skrócie
Kampania powiązana z JadePuffer rozpoczęła się od wykorzystania podatności CVE-2025-3248 w publicznie dostępnym środowisku Langflow. Po uzyskaniu zdalnego wykonania kodu napastnik zautomatyzował rozpoznanie hosta, pozyskanie danych uwierzytelniających, ustanowienie trwałości oraz przejście do systemów produkcyjnych.
- punktem wejścia była luka w Langflow umożliwiająca RCE,
- agent AI przeszukiwał środowisko pod kątem sekretów i poświadczeń,
- atak objął także usługi wewnętrzne, w tym MinIO, MySQL i Nacos,
- finałem było szyfrowanie danych konfiguracyjnych i usunięcie oryginalnych rekordów,
- badacze odnotowali zdolność agenta do adaptacji do błędów bez ręcznej ingerencji.
Kontekst / historia
Punktem startowym była podatność CVE-2025-3248 w Langflow, czyli otwartoźródłowym frameworku wykorzystywanym do budowy aplikacji i workflow opartych na modelach LLM. Luka pozwalała na nieuwierzytelnione zdalne wykonanie kodu przez endpoint walidacji kodu. Problem załatano 1 kwietnia 2025 roku, a na początku maja 2025 roku podatność została wskazana jako aktywnie wykorzystywana przeciwko publicznie wystawionym instancjom.
Środowiska Langflow są szczególnie atrakcyjne dla napastników, ponieważ często przechowują klucze API, dane integracyjne, poświadczenia chmurowe oraz inne sekrety potrzebne do działania aplikacji AI. W praktyce takie komponenty bywają wdrażane szybko, bez pełnego hardeningu, segmentacji sieci i odpowiedniego ograniczenia dostępu.
Analiza techniczna
Po wykorzystaniu CVE-2025-3248 napastnik uruchomił ładunki w Pythonie dostarczane przez podatny endpoint RCE. Pierwsza faza obejmowała standardowy rekonesans hosta: identyfikację systemu, interfejsów sieciowych, procesów oraz aktywnych usług. Następnie agent przeszukał zmienne środowiskowe, pliki konfiguracyjne i lokalne zasoby w poszukiwaniu sekretów, takich jak klucze dostawców AI, poświadczenia chmurowe oraz dane bazodanowe.
Kolejnym krokiem było pobranie zawartości zaplecza PostgreSQL używanego przez Langflow, co umożliwiło wydobycie dodatkowych rekordów użytkowników, kluczy API i poświadczeń. Równolegle prowadzono rozpoznanie usług wewnętrznych osiągalnych z przejętego hosta, w tym skanowanie przestrzeni adresowej i sprawdzanie usług przechowywania danych oraz konfiguracji.
Szczególnie istotna była interakcja z MinIO. Agent próbował enumeracji zasobów object storage, wykorzystując domyślne dane logowania i pobierając obiekty mogące zawierać dalsze sekrety, takie jak pliki środowiskowe czy pliki z poświadczeniami. Według analizy zachowanie miało charakter adaptacyjny: gdy odpowiedź API nie odpowiadała oczekiwanemu formatowi, agent automatycznie zmieniał sposób parsowania i ponawiał operację z poprawionymi parametrami.
Na zainfekowanym hoście ustanowiono również mechanizm trwałości w postaci zadania cron wywołującego okresowy beacon do infrastruktury napastnika. Następnie z kompromitowanego systemu Langflow atak przeszedł na docelowy serwer produkcyjny, gdzie działały MySQL oraz Alibaba Nacos. W środowisku Nacos wykorzystano wiele ładunków, w tym techniki odnoszące się do CVE-2021-29441, czyli podatności pozwalającej na obejście uwierzytelniania i utworzenie nieautoryzowanego konta administracyjnego.
Ostatnim etapem była warstwa wymuszenia. Zamiast szyfrowania plików na stacji roboczej lub serwerze plików, JadePuffer zaatakował bezpośrednio dane aplikacyjne. Według opisu zaszyfrowano 1342 elementy konfiguracji usługi Nacos z użyciem funkcji szyfrujących w MySQL, usunięto oryginalne tabele z konfiguracją i historią, a następnie utworzono tabelę zawierającą notę okupu. Badacze zaznaczyli również, że deklaracje dotyczące użycia AES-256 mogły być mylące, a rzeczywisty mechanizm szyfrowania mógł być słabszy niż sugerowano.
Konsekwencje / ryzyko
Najważniejszą konsekwencją tego incydentu jest obniżenie bariery wejścia dla operatorów ransomware. Jeśli agent AI potrafi samodzielnie realizować rozpoznanie, ekstrakcję sekretów, ruch lateralny i niszczenie danych, to skuteczny atak może wymagać mniejszego udziału doświadczonego operatora niż w tradycyjnych kampaniach.
Drugie ryzyko dotyczy środowisk AI i cloud-native. Platformy takie jak Langflow, object storage, systemy konfiguracji i bazy danych często działają w silnie zintegrowanych architekturach. W efekcie przejęcie jednego komponentu może otworzyć drogę do systemów produkcyjnych i krytycznych usług biznesowych.
Trzecim problemem jest tempo działania. Zautomatyzowany agent może reagować na błędy szybciej niż człowiek, testować różne warianty poleceń i dynamicznie dostosowywać payloady do odpowiedzi środowiska. To skraca czas od początkowego dostępu do osiągnięcia celu końcowego.
Rekomendacje
Organizacje powinny w pierwszej kolejności zidentyfikować wszystkie publicznie wystawione instancje Langflow i podobnych narzędzi AI, a następnie upewnić się, że zostały zaktualizowane i objęte silną kontrolą dostępu. Tego typu komponenty nie powinny być dostępne z Internetu bez odpowiedniego uwierzytelniania, segmentacji sieci oraz monitoringu.
Równie ważne jest usunięcie domyślnych poświadczeń z usług takich jak MinIO, Nacos i innych elementów zaplecza aplikacyjnego. Sekrety powinny być przechowywane w dedykowanych mechanizmach zarządzania tajemnicami, a nie w lokalnych plikach, bucketach obiektowych czy szeroko dostępnych zmiennych środowiskowych.
- monitorować nietypowe wywołania endpointów walidacji lub egzekucji kodu w aplikacjach AI,
- wykrywać masowe odczyty zmiennych środowiskowych i plików konfiguracyjnych,
- śledzić enumerację usług wewnętrznych z hostów aplikacyjnych,
- alarmować o użyciu domyślnych kont administracyjnych,
- kontrolować modyfikacje crontab i zadania beaconujące,
- analizować operacje szyfrujące lub destrukcyjne wykonywane bezpośrednio na danych w bazach.
Dodatkowo warto wdrożyć zasadę najmniejszych uprawnień dla kont serwisowych, odseparować środowiska developerskie od produkcyjnych oraz przygotować reguły wykrywania anomalii dla nietypowych sekwencji działań w Pythonie, shellu i warstwie bazodanowej. Organizacje powinny też testować scenariusze ataków obejmujące narzędzia AI, ponieważ klasyczne playbooki bezpieczeństwa nie zawsze uwzględniają specyfikę takich komponentów.
Podsumowanie
JadePuffer pokazuje kolejny etap ewolucji ransomware: przejście od ręcznie prowadzonych operacji do ataków wspieranych lub realizowanych przez autonomiczne agenty AI. W tym przypadku automatyzacja objęła cały łańcuch działań — od wykorzystania luki w Langflow po szyfrowanie danych konfiguracyjnych w środowisku produkcyjnym.
Dla obrońców oznacza to konieczność traktowania systemów AI jako pełnoprawnej powierzchni ataku. Komponenty wykorzystywane do budowy i obsługi aplikacji opartych na LLM powinny być chronione z taką samą starannością jak krytyczne usługi biznesowe.
Źródła
- https://www.bleepingcomputer.com/news/security/jadepuffer-ransomware-used-ai-agent-to-automate-entire-attack/
- https://www.sysdig.com/blog/jadepuffer-agentic-ransomware-for-automated-database-extortion
- https://www.bleepingcomputer.com/news/security/critical-langflow-rce-flaw-exploited-to-hack-ai-app-servers/