Dla administratorów chmury: PCPJack celuje w wystawione publicznie Docker API, Kubernetes bez uwierzytelnienia, Redis, MongoDB i RayML. Jeśli którakolwiek z tych usług jest dostępna z internetu bez uwierzytelnienia — jest prawdopodobnie już skompromitowana, przez TeamPCP, PCPJack lub przez kogoś trzeciego. Lista pięciu CVE używanych do propagacji: CVE-2025-29927 (Next.js), CVE-2025-55182 (React2Shell), CVE-2026-1357 (WPVivid Backup), CVE-2025-9501 (W3 Total Cache), CVE-2025-48703 (CentOS Web Panel). Wszystkie publiczne, wszystkie załatane — ale wyraźnie nie przez wszystkich.
Metryka która zmienia wszystko
7 maja 2026 roku SentinelOne opublikowało analizę frameworku nazwanego PCPJack. Punkt wyjścia był nieoczekiwany: skrypt wykryty przez regułę huntingową Kubernetes który jako pierwsze działanie sprawdzał obecność narzędzi TeamPCP na hoście i je usuwał.
To zachowanie zasługuje na chwilę uwagi. Typowy złośliwy kod nie sprawdza czy ktoś inny jest już na hoście. Nie dlatego że jest nieświadomy rywalizacji — po prostu dlatego że nie ma powodu dbać o wyłączność. Jeśli cel jest skompromitowany, to jest skompromitowany.
PCPJack nie tylko sprawdza — mierzy. W każdym pakiecie danych wysyłanym do serwera sterującego jest pole "PCP replaced". Wartość wskazuje ile razy PCPJack z powodzeniem wypchnął TeamPCP z hosta który właśnie zainfekował. Operator PCPJack śledzi ten wskaźnik tak jak firma śledzi udział w rynku.
Alex Delamotte z SentinelOne opisuje implikację tego jednego pola: "Sugeruje to bezpośrednie skupienie na aktywności grupy zagrożeń, a nie czysto oportunistyczny atak na chmurę." Innymi słowami — PCPJack nie jest dziełem przypadkowego script kiddie. Jest dziełem kogoś kto zna TeamPCP od środka i świadomie buduje na ich pracy.
Kim prawdopodobnie jest PCPJack
W dogłębnej analizie TeamPCP opisywaliśmy zmianę przywództwa grupy — oryginalny operator DMT przekazał kontrolę nowemu liderowi T00001B w trakcie aktywnej kampanii. To było sygnałem struktury wykraczającej poza jedną osobę.
PCPJack wygląda jak konsekwencja tej zmiany. SentinelOne wskazuje na "byłego operatora głęboko zaznajomionego z narzędziami grupy" jako najbardziej prawdopodobną atrybucję. Techniki, cele, lista usług — identyczne z wczesnymi kampaniami TeamPCP/PCPCat z grudnia 2025. Ale kilka celowych różnic: brak kryptominera (który TeamPCP zawsze instalował), inne kanały eksfiltracji, lepsza modularność kodu.
To jest wzorzec który powtarza się w świecie grup przestępczych gdy wzrasta ich profil publiczny: widoczność przynosi uwagę badaczy i organów ścigania, część operatorów odpada lub zmienia taktykę, ktoś z dostępem do playbooka uruchamia własną operację. PCPJack jest prawdopodobnie odpowiednikiem franchisebiorcy który otworzył własny lokal — znając wszystkie przepisy oryginalnego restauratora.
Common Crawl jako lista celów ataków
Jest jeden szczegół w mechanizmie propagacji PCPJack który jest wart osobnego opisania, bo nie pojawił się w żadnym anglojęzycznym omówieniu w odpowiednim kontekście.
PCPJack pobiera pliki Parquet z Common Crawl — publicznego archiwum internetowego używanego powszechnie przez badaczy do analizy sieci i przez firmy AI do trenowania modeli językowych. Filtruje je pod kątem bannerów serwisowych pasujących do listy celów i używa wynikowych hostów jako kolejnych ofiar. 104 miliony potencjalnych wpisów na cykl skanowania, bez generowania głośnego ruchu skanującego.
Ten sam zbiór danych który jest fundamentem trenowania dużych modeli językowych jest teraz używany do nabywania celów przez atakujących.
To nie jest trywialna obserwacja. Badania bezpieczeństwa dokumentują od lat że skanery sieciowe jak Shodan są używane do identyfikowania podatnych hostów. Common Crawl jako alternatywa jest cichsza — żaden system detekcji nie oznacza pobierania publicznych zbiorów danych jako podejrzanego. I jest ogromna: 104 miliony wpisów to zasięg który przekracza możliwości typowych kampanii skanujących.
Lista usług których PCPJack szuka na twoim hoście
SentinelOne dokumentuje pełną listę typów poświadczeń zbieranych przez extractor.py. To jest lista warta uważnego przeczytania przez każdego kto zarządza infrastrukturą deweloperską lub AI:
Klucze API Anthropic. Klucze API OpenAI. Tokeny Google API. Poświadczenia AWS (IMDSv2, zmienne środowiskowe, pliki konfiguracyjne). Tokeny Digital Ocean. Dane uwierzytelniające Grafana Cloud. Tokeny HashiCorp Vault. Dane dostępowe 1Password. Klucze Slack. Tokeny Discord. Konfiguracje WordPress (zawierające dane bazy danych). Klucze SSH z katalogów .ssh. Zmienne środowiskowe procesów.
Klucze Anthropic i OpenAI na tej liście to nie jest przypadek — opisywaliśmy przy kampanii Shai-Hulud że narzędzia AI do kodowania z ich tokenami API są precyzyjnym celem. PCPJack dociera do tych samych zasobów przez inny wektor: nie przez zatrute pakiety npm, ale przez wystawioną infrastrukturę chmurową.
Szczegół operacyjny który SentinelOne odnotowuje jako błąd OpSec: PCPJack szyfruje wszystkie wykradzione dane przez X25519 ECDH i ChaCha20-Poly1305 przed eksfiltrację — z jednym wyjątkiem. Własne poświadczenia Telegram używane do C2 są przechowywane w plaintext w kodzie. Jeśli zainfekowany host zostanie przeanalizowany przez badaczy, te poświadczenia prowadzą bezpośrednio do kanału C2 atakującego.
Dlaczego brak kryptominera jest ważny
Niemal każda chmurowa kampania złośliwego oprogramowania instaluje XMRig lub podobny miner kryptowaluty. To jest standardowy model monetyzacji: przejmujesz CPU ofiary, kopiesz kryptowalutę, zarabiasz pasywnie. TeamPCP to robił. Większość jego poprzedników to robi.
PCPJack tego nie robi — i celowo usunął funkcje minera które były w narzędziach TeamPCP.
gblock.app ujmuje konsekwencję trafnie: "Mining campaigns are loud and resource intensive — the victim notices the CPU pinned at 100%. A pure credential stealer wants to be quiet."
Gdy procesor jest przypięty do 100%, administrator dostaje alert lub skargi od użytkowników. Investigacja. Odkrycie. Usunięcie. Miner jest szybkim dochodem z krótkim czasem życia na hoście.
Poświadczenia skradzione przez PCPJack — klucze Vault, tokeny Anthropic, konfiguracje AWS — mogą być używane tygodniami lub miesiącami zanim zostaną obrócone lub wykryte. Jeśli host nigdy nie zostanie zidentyfikowany jako skompromitowany, poświadczenia mają nieograniczony czas życia. Cichszy operator, dłuższy dochód.
Infrastruktura AI jako waluta
Pisaliśmy przy analizie TeamPCP że grupa funkcjonuje jako "access generation engine" — nie finalny atakujący, ale producent dostępu dla innych podmiotów. PCPJack ma ten sam model: zbieranie poświadczeń do sprzedaży na rynkach dark web lub bezpośrednio do grup przestępczych wyspecjalizowanych w konkretnych typach fraud.
Klucze OpenAI z wysokim limitem wydatków kosztują na rynkach dark web od kilkudziesięciu do kilkuset dolarów — w zależności od poziomu konta i pozostałych credits. Klucze Anthropic podobnie. Tokeny Vault lub 1Password dające dostęp do poświadczeń organizacji — znacznie więcej, bo otwierają drzwi do całej infrastruktury.
Intruder w badaniu z marca 2026 znalazł tysiące instancji Ollamy, Flowise i Open WebUI wystawionych bez uwierzytelnienia. Te instancje są dokładnie w zasięgu PCPJack — nie tylko jako potencjalne hosty do propagacji, ale jako magazyny poświadczeń AI z wysoką wartością rynkową.
RayML na liście celów jest szczególnie interesujący. Ray to framework do rozproszonych obliczeń używany do trenowania i wnioskowania dużych modeli. Host RayML ma zazwyczaj uprawnienia IAM do zasobów obliczeniowych GPU, dostęp do zbiorów danych treningowych i modeli, połączenia z rejestrami modeli. To są zasoby których wartość rynkowa przekracza klucze API — bo dają dostęp do możliwości obliczeniowych za które ktoś inny zapłacił.
Połączenie z pełnym obrazem
Ciąg jest czytelny gdy zestawić go z tym co cyberflux opisywał przez ostatnie tygodnie.
TeamPCP przez KICS, LiteLLM, PyTorch Lightning, Shai-Hulud — ataki przez łańcuch dostaw, kradzież poświadczeń deweloperów. PCPJack — ataki przez wystawioną infrastrukturę chmurową, kradzież poświadczeń AI. TrustFall przez sklonowane repozytoria — ataki przez konfigurację narzędzi deweloperskich. Mitiga przez pakiety npm i konfigurację MCP — trwałe przekierowanie tokenów OAuth.
Różne wektory wejścia, jeden cel: klucze i tokeny dające dostęp do infrastruktury AI. Poświadczenia Anthropic, OpenAI, AWS, HashiCorp Vault — to jest wspólny mianownik wszystkich tych kampanii. Infrastruktura AI stała się walutą, a każda nowa kampania dostosowuje wektor wejścia do tego co jest dostępne.
Podsumowanie
PCPJack jest prawdopodobnie dziełem byłego operatora TeamPCP który po publicznej ekspozycji grupy wziął playbook i uruchomił własną operację. Wyrzuca ślady swojego poprzedniego pracodawcy, mierzy sukces tej eliminacji jako wskaźnik biznesowy, i działa cicho — bez kryptominera który by zdradzał jego obecność.
Jeden szczegół projektowy — pole "PCP replaced" w danych do C2 — opisuje coś co branża rzadko dokumentuje: ekosystem atakujących który aktywnie rywalizuje o te same zainfekowane hosty. Twój niezabezpieczony Docker API nie jest Twój. Jest prawdopodobnie już czyjś. Pytanie tylko czyj.
Źródła
SentinelOne — pełna analiza techniczna z kodem modułów i infrastrukturą C2: https://www.sentinelone.com/labs/cloud-worm-evicts-teampcp-and-steals-credentials-at-scale/
BleepingComputer — lista CVE propagacji i mechanizm bootstrap.sh: https://www.bleepingcomputer.com/news/security/new-pcpjack-worm-steals-credentials-cleans-teampcp-infections/
The Hacker News — szczegóły modułów Python i Common Crawl jako lista celów: https://thehackernews.com/2026/05/pcpjack-credential-stealer-exploits-5.html
SecurityWeek — kontekst atrybucji i porównanie z TeamPCP: https://www.securityweek.com/pcpjack-worm-removes-teampcp-infections-steals-credentials/
gblock.app — analiza ekonomiczna braku kryptominera: https://www.gblock.app/articles/pcpjack-credential-stealer-cloud-infrastructure















































































































Nie nowy atak, tylko naprawiony błąd. Co łatka Gemini CLI mówi o tym, że tryb –yolo w potoku CI/CD to nie jest dobry pomysł