
Wprowadzenie do problemu / definicja
Ekosystem npm od lat pozostaje jednym z najczęściej wykorzystywanych wektorów ataków na łańcuch dostaw oprogramowania. Najnowsza kampania pokazuje jednak, że cyberprzestępcy nie zawsze dążą wyłącznie do kradzieży sekretów, przejęcia środowiska CI/CD czy zdalnego wykonania kodu. W tym przypadku celem stało się nadużycie aktywnych sesji WhatsApp powiązanych z botami i narzędziami automatyzacji.
Zidentyfikowane pakiety npm zostały przygotowane tak, aby po instalacji i uruchomieniu z autoryzowaną sesją użytkownika automatycznie dodawać konto ofiary do wybranych grup lub kanałów WhatsApp. Działanie to odbywało się bez świadomej zgody użytkownika, a cała operacja była ukryta pod pozorem legalnej funkcji biblioteki.
W skrócie
- Badacze wykryli 101 złośliwych pakietów npm powiązanych z kampanią PhantomSub.
- Pakiety bazowały głównie na forkach biblioteki Baileys używanej do automatyzacji WhatsApp.
- Łączna liczba pobrań sięgnęła około 490 tys., w tym około 116 tys. w ciągu ostatnich 30 dni.
- Celem kampanii było sztuczne zwiększanie liczby członków grup i subskrybentów kanałów kontrolowanych przez operatorów.
- Atak nie musiał kraść danych, aby stanowić realne zagrożenie dla użytkowników i organizacji.
Kontekst / historia
Biblioteka Baileys jest popularnym narzędziem wśród deweloperów tworzących boty, integracje i automatyzacje dla WhatsApp. Ta popularność sprawia, że jej forki stają się atrakcyjnym nośnikiem dla ataków supply chain. Z perspektywy napastników to idealne środowisko: użytkownik sam instaluje pakiet i często świadomie przyznaje mu dostęp do aktywnej sesji komunikatora.
Wcześniejsze sygnały ostrzegawcze dotyczące złośliwych forków Baileys pojawiały się już wcześniej. Analizy wskazywały na pakiety wymuszające obserwowanie kanałów lub modyfikujące zachowanie botów. Obecna kampania wpisuje się więc w szerszy trend, w którym atakujący coraz częściej monetyzują zaufanie oraz autoryzowane sesje użytkowników, zamiast natychmiast przejmować ich infrastrukturę.
Analiza techniczna
Sednem kampanii było nadużycie bibliotek opartych na nieoficjalnej implementacji interfejsu WhatsApp. Po zainstalowaniu pakietu i połączeniu go z legalną, autoryzowaną sesją użytkownika kod wykonywał dodatkowe operacje niezwiązane z deklarowaną funkcją. Zamiast jedynie obsługiwać wiadomości lub logikę bota, pakiet wykorzystywał uprawnienia sesji do dołączania konta do wskazanych grup albo kanałów.
Badacze opisali trzy główne warianty działania. Pierwszy pobierał identyfikatory kanałów z zewnętrznego źródła w czasie działania, co dawało operatorom elastyczność i pozwalało zmieniać cele bez publikowania nowej wersji pakietu. Drugi zawierał identyfikatory zapisane bezpośrednio w kodzie źródłowym. Trzeci stosował zapis zakodowany lub zaciemniony, aby utrudnić analizę statyczną i detekcję opartą na prostych regułach.
Wiele artefaktów wskazuje, że nie były to odrębne, przypadkowe incydenty. Powtarzające się identyfikatory kanałów, wspólne zewnętrzne listy subskrypcji oraz podobieństwa w publikacji pakietów sugerują współdzieloną infrastrukturę i wspólnego beneficjenta. To charakterystyczny wzorzec kampanii supply chain, w której liczne pozornie różne komponenty realizują ten sam cel operacyjny.
Atak był szczególnie podstępny dlatego, że nie musiał powodować widocznych anomalii. Deweloper mógł uruchomić bibliotekę, poprawnie połączyć bota z WhatsApp i nie zauważyć, że jego konto zostało automatycznie zapisane do nieznanych grup. Złośliwa funkcja działała bowiem w kontekście już uwierzytelnionej, zaufanej sesji.
Konsekwencje / ryzyko
Choć kampania nie koncentrowała się bezpośrednio na kradzieży haseł czy tokenów, jej skutki są istotne. Przede wszystkim dochodzi do nieautoryzowanego wykorzystania tożsamości cyfrowej użytkownika. Sam fakt obecności w grupach lub kanałach może posłużyć do dalszego profilowania, kierowania spamu, działań socjotechnicznych lub przekierowywania ofiary do kolejnych złośliwych zasobów.
Dla organizacji korzystających z botów WhatsApp zagrożenie obejmuje także aspekt reputacyjny. Konto firmowe automatycznie dodane do podejrzanych grup może zostać powiązane z treściami spamowymi, nielegalnymi usługami albo kampaniami oszustw. Taki incydent ujawnia również słabości procesu walidacji zależności open source.
Warto podkreślić możliwość eskalacji. Jeżeli złośliwy pakiet potrafi wykonywać akcje w imieniu autoryzowanej sesji komunikatora, ten sam mechanizm może w przyszłości zostać rozszerzony o wysyłanie wiadomości, manipulowanie subskrypcjami, analizę metadanych kontaktów czy inne działania wykonywane bez wiedzy użytkownika.
Rekomendacje
Organizacje powinny potraktować ten incydent jako wyraźne ostrzeżenie dotyczące bezpieczeństwa zależności w projektach Node.js. W pierwszej kolejności warto przeprowadzić pełną inwentaryzację używanych pakietów oraz sprawdzić, czy w projektach, lockfile’ach i cache buildów nie występują podejrzane forki Baileys lub biblioteki publikowane przez maintainerów o niskiej reputacji.
- blokowanie znanych złośliwych nazw pakietów na poziomie proxy repozytoriów i narzędzi SCA,
- wymuszenie stosowania lockfile oraz zatwierdzonych źródeł zależności,
- weryfikację maintainerów i reputacji nowych bibliotek przed dopuszczeniem ich do pipeline’u,
- skanowanie zależności pod kątem wywołań do API komunikatorów niezwiązanych z deklarowaną funkcją pakietu,
- monitorowanie połączeń do zewnętrznych list konfiguracyjnych pobieranych w czasie działania,
- ograniczenie używania prywatnych i produkcyjnych kont WhatsApp podczas testów z bibliotekami niewiadomego pochodzenia.
W przypadku podejrzenia kompromitacji należy zweryfikować, czy konta użytkowników lub botów nie zostały dodane do nieznanych grup i kanałów. Jeśli incydent się potwierdzi, zalecane jest opuszczenie takich grup, ich zablokowanie, przegląd historii działań aplikacji, analiza pipeline’ów i artefaktów buildu oraz rotacja powiązanych danych uwierzytelniających tam, gdzie to uzasadnione.
Dobrą praktyką jest także wdrożenie zasady minimalnego zaufania wobec bibliotek wymagających pełnego dostępu do prywatnych kont komunikatorów. Jeżeli pakiet wymaga zeskanowania kodu QR i uzyskuje szerokie uprawnienia do sesji użytkownika, powinien przejść rozszerzony przegląd bezpieczeństwa przed użyciem w środowisku firmowym.
Podsumowanie
Kampania PhantomSub pokazuje, że ataki na łańcuch dostaw open source stają się coraz bardziej subtelne, ale nie mniej skuteczne. Zamiast bezpośrednio kraść dane, operatorzy wykorzystali zaufanie deweloperów i aktywne sesje WhatsApp do sztucznego pompowania liczby członków grup i obserwujących kanały. Skala operacji oraz liczba złośliwych pakietów wskazują na zorganizowane działanie, które może być dalej rozwijane i adaptowane do kolejnych scenariuszy nadużyć.
Dla zespołów bezpieczeństwa to kolejny sygnał, że ochrona software supply chain musi obejmować nie tylko klasyczne wskaźniki malware, lecz także analizę nadużyć funkcjonalnych wykonywanych w imieniu legalnie uwierzytelnionego użytkownika. Nawet pozornie mniej groźne manipulacje mogą prowadzić do realnych strat reputacyjnych, operacyjnych i bezpieczeństwa.
Źródła
- The Hacker News — https://thehackernews.com/2026/09/101-malicious-npm-packages-add.html
- PhantomSub: Malicious npm Campaign Secretly Adds Users to WhatsApp Spam Channels — https://www.ox.security/blog/phantomsub-malicious-npm-campaign-secretly-adds-users-to-whatsapp-spam-channels/
- Malicious npm Package in Baileys Fork (Skyzopedia Case) — https://xygeni.io/blog/malicious-npm-package-in-baileys-fork-skyzopedia-case/