
Co znajdziesz w tym artykule?
Wprowadzenie do problemu / definicja
ENCFORGE to nowo zidentyfikowane oprogramowanie ransomware zaprojektowane z myślą o atakowaniu środowisk sztucznej inteligencji. W odróżnieniu od klasycznych kampanii szyfrujących dokumenty, archiwa czy bazy danych, ten wariant koncentruje się na artefaktach AI, takich jak wagi modeli, checkpointy, indeksy wektorowe oraz dane treningowe.
W analizowanym scenariuszu napastnik uzyskał dostęp do serwera Langflow poprzez krytyczną podatność umożliwiającą zdalne wykonanie kodu. Następnie wykorzystał błędną konfigurację środowiska kontenerowego, aby wydostać się na host i uruchomić ransomware bezpośrednio w systemie operacyjnym.
W skrócie
- Nowy ransomware ENCFORGE został ukierunkowany na zasoby AI i ML.
- Punktem wejścia była krytyczna luka CVE-2025-3248 w Langflow.
- Atakujący wykorzystał dostęp do gniazda Dockera, aby przejść z kontenera na host.
- Szyfrowane pliki otrzymywały rozszerzenie
.locked. - Celem były m.in. modele, dane treningowe, checkpointy i indeksy wektorowe.
Kontekst / historia
Langflow jest platformą służącą do tworzenia i orkiestracji przepływów pracy dla aplikacji opartych na dużych modelach językowych i innych komponentach AI. Takie środowiska często mają dostęp do krytycznych zasobów, w tym repozytoriów modeli, baz wektorowych, kluczy API oraz danych treningowych, co czyni je szczególnie atrakcyjnym celem dla cyberprzestępców.
Z ustaleń badaczy wynika, że za kampanią stoi operator określany jako JADEPUFFER, wcześniej obserwowany w działaniach wymierzonych w podatne wdrożenia Langflow. Poprzednie ataki opierały się na prostszych skryptach destrukcyjnych i szyfrujących, natomiast obecna kampania wskazuje na wyraźną ewolucję narzędzi, ponieważ wykorzystano skompilowane binarium ransomware przygotowane specjalnie pod infrastrukturę AI.
Sama podatność CVE-2025-3248 dotyczy wersji Langflow starszych niż 1.3.0 i została uznana za krytyczną. Jej praktyczne wykorzystanie przez atakujących dodatkowo podnosi znaczenie tej luki dla organizacji rozwijających lub utrzymujących aplikacje AI.
Analiza techniczna
Technicznie kampania łączy dwa elementy: zdalne wykonanie kodu w aplikacji oraz niewłaściwie zabezpieczone środowisko kontenerowe. Atak rozpoczynał się od wykorzystania nieautoryzowanego dostępu do endpointu walidacji kodu w Langflow, co umożliwiało uruchamianie dowolnego kodu Pythona na serwerze.
Po uzyskaniu początkowego dostępu napastnik prowadził rozpoznanie środowiska i odkrywał dostęp do /var/run/docker.sock. To szczególnie niebezpieczna konfiguracja, ponieważ w praktyce pozwala zarządzać kontenerami z poziomu przejętego procesu aplikacyjnego. Gdy początkowe próby pobrania ładunku nie przyniosły rezultatu, operator modyfikował skrypty, stosując m.in. kodowanie base64 i wykonanie przez funkcję exec(), aby utrudnić detekcję.
Końcowy etap polegał na utworzeniu uprzywilejowanego kontenera z szerokimi uprawnieniami, dostępem do przestrzeni PID hosta, trybem sieci hosta oraz zapisywalnym montowaniem systemu plików gospodarza. Następnie przy użyciu API Dockera i narzędzia nsenter ransomware ENCFORGE zostało skopiowane i uruchomione bezpośrednio na hoście.
Samo malware to statycznie linkowane binarium ELF napisane w Go i spakowane UPX. Do szyfrowania wykorzystuje AES-256-CTR, a klucz sesyjny zabezpiecza przy użyciu RSA-2048. Zamiast szyfrować całe pliki, wybiera jedynie ich fragmenty, co znacząco przyspiesza operację i wpisuje się w techniki stosowane przez bardziej dojrzałe rodziny ransomware.
Na szczególną uwagę zasługuje dobór celów. ENCFORGE obejmuje m.in. checkpointy PyTorch i TensorFlow, pliki SafeTensors, ONNX, GGUF, GGML, indeksy FAISS oraz dane w formatach Parquet, Arrow, NumPy i TFRecord. To wskazuje, że ransomware zostało zaprojektowane specjalnie z myślą o środowiskach AI, a nie jako uniwersalne narzędzie do masowego szyfrowania wszystkiego, co znajduje się na dysku.
Konsekwencje / ryzyko
Wpływ takiego incydentu może być większy niż w przypadku tradycyjnych ataków ransomware. W środowiskach AI przywrócenie działania nie kończy się na odzyskaniu kodu aplikacji i bazy danych. Konieczne może być również odtworzenie wag modeli, adapterów fine-tuningowych, indeksów wektorowych oraz danych używanych do trenowania i dostrajania modeli.
Jeżeli wiele modeli lub zbiorów danych współdzieli ten sam host albo tę samą pamięć masową, pojedynczy atak może sparaliżować kilka usług jednocześnie. To zwiększa promień rażenia, wydłuża czas odtwarzania i może istotnie zakłócić ciągłość działania organizacji.
Dodatkowym problemem jest ryzyko kradzieży sekretów. Nawet jeśli podatność w Langflow zostanie załatana, wcześniejsze przejęcie instancji mogło umożliwić napastnikowi pozyskanie kluczy API, poświadczeń chmurowych, haseł baz danych czy tokenów usług wewnętrznych. Oznacza to możliwość dalszych nadużyć także po zakończeniu samego etapu szyfrowania.
Rekomendacje
Podstawowym krokiem obronnym powinna być natychmiastowa aktualizacja Langflow do wspieranej i poprawionej wersji. Organizacje nie powinny jednak ograniczać się wyłącznie do załatania pojedynczej luki, lecz regularnie aktualizować cały stos aplikacyjny i zależności.
Kluczowe znaczenie ma również usunięcie niepotrzebnego dostępu do gniazda Dockera. Udostępnienie /var/run/docker.sock kontenerowi aplikacyjnemu należy traktować jako konfigurację wysokiego ryzyka. Jeśli jest to absolutnie konieczne, dostęp powinien być ściśle ograniczony i kontrolowany.
- Monitorować wywołania API Dockera inicjowane przez procesy aplikacyjne.
- Wykrywać tworzenie kontenerów uprzywilejowanych.
- Alarmować o użyciu trybu host PID oraz montowaniu systemu plików hosta z prawem zapisu.
- Analizować uruchamianie
nsenterz wnętrza kontenera. - Wykrywać masowe pojawianie się plików z rozszerzeniem
.locked. - Rejestrować nagłe zamykanie procesów utrzymujących uchwyty do plików modeli i danych.
Należy także przeprowadzić rotację wszystkich sekretów dostępnych dla podatnej instancji, w tym kluczy API, tokenów chmurowych, haseł baz danych i innych poświadczeń. W obszarze odporności operacyjnej warto traktować modele, indeksy wektorowe i dane treningowe jak zasoby krytyczne, utrzymując ich kopie offline lub niemodyfikowalne snapshoty oraz regularnie testując procedury odtworzeniowe.
Podsumowanie
ENCFORGE pokazuje wyraźną zmianę w krajobrazie ransomware. Cyberprzestępcy coraz częściej kierują uwagę na zasoby AI, które stanowią rdzeń nowoczesnych usług i procesów biznesowych. Połączenie krytycznej luki w Langflow z nadmiernymi uprawnieniami kontenera umożliwiło przejście od zdalnego wykonania kodu do pełnego szyfrowania zasobów hosta.
Dla organizacji rozwijających rozwiązania oparte na sztucznej inteligencji to ważny sygnał ostrzegawczy. Ochrona modeli, danych treningowych, indeksów wektorowych i infrastruktury kontenerowej musi być dziś traktowana tak samo poważnie jak bezpieczeństwo tradycyjnych systemów produkcyjnych.
Źródła
- The Hacker News — New ENCFORGE Ransomware Targets AI Model Files in Langflow RCE Attack — https://thehackernews.com/2026/07/new-encforge-ransomware-targets-ai.html
- National Vulnerability Database — CVE-2025-3248 Detail — https://nvd.nist.gov/vuln/detail/CVE-2025-3248
- Langflow GitHub Releases — Version 1.3.0 — https://github.com/langflow-ai/langflow/releases/tag/1.3.0
- CISA — Known Exploited Vulnerabilities Catalog — https://www.cisa.gov/known-exploited-vulnerabilities-catalog
- Horizon3.ai — Unsafe at Any Speed: Abusing Python exec for Unauth RCE in Langflow AI — https://www.horizon3.ai/attack-research/disclosures/unsafe-at-any-speed-abusing-python-exec-for-unauth-rce-in-langflow-ai/