WeaselBiscuit: nowy stealer w ekosystemie npm wykrada dane z rozszerzeń Chrome - Security Bez Tabu

WeaselBiscuit: nowy stealer w ekosystemie npm wykrada dane z rozszerzeń Chrome

Cybersecurity news

Wprowadzenie do problemu / definicja

WeaselBiscuit to nowo opisane złośliwe oprogramowanie typu stealer, dystrybuowane za pośrednictwem pakietów npm. Zagrożenie wpisuje się w szerszy trend ataków na łańcuch dostaw oprogramowania, w których napastnicy wykorzystują zaufanie do bibliotek open source oraz automatycznych procesów instalacji zależności.

W praktyce oznacza to, że samo dodanie lub zaimportowanie zainfekowanego pakietu może uruchomić kod odpowiedzialny za pobranie i wykonanie właściwego ładunku malware. W przypadku WeaselBiscuit celem są przede wszystkim dane przechowywane przez rozszerzenia Google Chrome, a na systemach Windows także schowek oraz naciśnięcia klawiszy.

W skrócie

  • Badacze powiązali kampanię z 13 pakietami npm wykorzystywanymi do dystrybucji stealera WeaselBiscuit.
  • Malware uruchamia się po imporcie złośliwej zależności i pobiera właściwy ładunek z zewnętrznego źródła.
  • Po uruchomieniu profiluje host, pobiera konfigurację C2 i wykrada dane z katalogów rozszerzeń Chrome.
  • Zagrożenie działa na Windows, macOS i Linuksie, a na Windows może dodatkowo rejestrować schowek i klawisze.
  • Mimo stosunkowo prostej budowy malware stanowi istotne ryzyko dla deweloperów, środowisk CI/CD i organizacji korzystających z npm.

Kontekst / historia

Ekosystem npm od dawna pozostaje atrakcyjnym celem dla cyberprzestępców. Wynika to z ogromnej liczby dostępnych pakietów, częstego ponownego wykorzystywania zależności oraz automatyzacji procesów budowania aplikacji. W takim modelu złośliwy pakiet może trafić zarówno na stację roboczą programisty, jak i do pipeline’u CI/CD, gdzie często dostępne są cenne sekrety, tokeny i poświadczenia.

Kampania związana z WeaselBiscuit pokazuje, że napastnicy nadal skutecznie wykorzystują ten wektor wejścia. Opisane pakiety npm miały służyć jako nośnik dla wcześniej nieudokumentowanego stealera JavaScript, który koncentruje się na szybkim pozyskaniu danych z lokalnego środowiska ofiary. Choć malware nie oferuje pełnego zestawu funkcji typowych dla zaawansowanych backdoorów, jego specjalizacja zwiększa skuteczność w konkretnym scenariuszu ataku.

Analiza techniczna

Łańcuch infekcji rozpoczyna się od importu złośliwego pakietu npm. Taki import aktywuje loader, który pobiera właściwy komponent malware z zewnętrznego źródła, a następnie uruchamia go bez konieczności trwałego zapisania pełnego ładunku na dysku. Tego rodzaju działanie utrudnia wykrywanie oparte na klasycznej analizie plików i sygnaturach.

Po uruchomieniu WeaselBiscuit wykonuje rozpoznanie hosta oraz pobiera konfigurację command-and-control. Najważniejszą funkcją malware jest jednak enumeracja i eksfiltracja danych z katalogów przechowujących ustawienia rozszerzeń Chrome. Chodzi przede wszystkim o katalog Local Extension Settings, który wykorzystuje mechanizm przechowywania danych oparty o model klucz-wartość i może zawierać cenne informacje operacyjne.

W praktyce napastnicy mogą w ten sposób pozyskać lokalne tokeny, dane sesyjne, ustawienia bezpieczeństwa, artefakty uwierzytelniające lub inne informacje przechowywane przez rozszerzenia przeglądarki. Ma to szczególne znaczenie w środowiskach, gdzie użytkownicy korzystają z menedżerów haseł, narzędzi SSO, integracji SaaS czy rozszerzeń związanych z kryptowalutami.

Malware działa wieloplatformowo w zakresie kradzieży danych z Chrome i obejmuje systemy Windows, macOS oraz Linux. Na Windows jego możliwości są rozszerzone o keylogging i monitorowanie schowka, aktywowane na podstawie poleceń otrzymywanych z infrastruktury C2. Oznacza to, że zagrożenie może jednocześnie wykradać dane zapisane lokalnie oraz przechwytywać informacje wpisywane przez użytkownika w czasie rzeczywistym.

Na tle innych rodzin malware WeaselBiscuit wyróżnia się prostotą. Nie zawiera modułów trwałości, nie zapewnia pełnego zdalnego dostępu i nie implementuje mechanizmów opróżniania portfeli kryptowalut. Taka oszczędna konstrukcja nie zmniejsza jednak ryzyka, ponieważ pozwala skupić się na szybkim przejęciu danych o wysokiej wartości przy relatywnie niewielkim śladzie operacyjnym.

Konsekwencje / ryzyko

Najpoważniejszym skutkiem infekcji może być kompromitacja danych przechowywanych przez rozszerzenia Chrome. Dla wielu organizacji są to informacje bezpośrednio powiązane z dostępem do systemów biznesowych, kont uprzywilejowanych i usług chmurowych. Utrata takich danych może prowadzić do przejęcia sesji, eskalacji dostępu oraz dalszych ataków na infrastrukturę firmy.

Ryzyko jest szczególnie wysokie w zespołach programistycznych. Deweloperzy i systemy budujące często dysponują kluczami API, tokenami do rejestrów pakietów, dostępem do repozytoriów kodu oraz sekretami wykorzystywanymi w automatyzacji. Nawet jeśli malware nie wdraża trwałego backdoora, wykradzione dane mogą wystarczyć do późniejszego przejęcia kont, modyfikacji kodu lub ruchu bocznego w organizacji.

Dodatkowym problemem pozostaje charakter ataku supply chain. Jedna zainfekowana zależność może zostać pobrana przez wiele hostów jednocześnie, co zwiększa skalę incydentu i utrudnia szybkie ograniczenie skutków kompromitacji. Organizacje, które bez dodatkowej weryfikacji ufają pobieranym pakietom, pozostają szczególnie narażone.

Rekomendacje

Aby ograniczyć ryzyko podobnych kampanii, organizacje powinny wdrożyć bardziej restrykcyjną kontrolę nad łańcuchem dostaw oprogramowania. Kluczowe jest nie tylko monitorowanie znanych zagrożeń, ale również zmniejszenie zaufania do nowych i niezweryfikowanych pakietów.

  • Stosować zatwierdzanie i whitelistowanie pakietów npm dopuszczonych do użycia.
  • Korzystać z lokalnych proxy, mirrorów rejestrów i pinningu wersji zależności.
  • Analizować skrypty uruchamiane podczas instalacji lub importu pakietów.
  • Monitorować nietypowe połączenia wychodzące inicjowane przez procesy Node.js.
  • Wykrywać masowy odczyt katalogów Local Extension Settings oraz plików powiązanych z rozszerzeniami Chrome.
  • Ograniczać liczbę rozszerzeń przeglądarkowych na stacjach deweloperskich i administracyjnych.
  • Rozdzielać profile przeglądarki oraz środowiska pracy uprzywilejowanej od środowisk developerskich.

W przypadku podejrzenia kompromitacji należy jak najszybciej sprawdzić obecność wskazanych pakietów npm w projektach, cache narzędzi oraz runnerach CI. Równolegle warto przeprowadzić rotację tokenów, kluczy API, poświadczeń chmurowych i sesji, do których dostęp mogła mieć potencjalnie zainfekowana stacja robocza.

Podsumowanie

WeaselBiscuit potwierdza, że nawet relatywnie prosty stealer może stanowić poważne zagrożenie dla organizacji rozwijających oprogramowanie. Atakujący nie muszą wdrażać rozbudowanego backdoora, aby osiągnąć cel, jeśli są w stanie wykorzystać zaufanie do pakietów npm i przejąć dane z przeglądarki oraz środowiska deweloperskiego.

Dla zespołów bezpieczeństwa to kolejny sygnał, że ochrona pipeline’ów developerskich, nadzór nad zależnościami oraz monitoring aktywności przeglądarki powinny być traktowane jako integralna część strategii obrony przed atakami na łańcuch dostaw.

Źródła

  1. https://thehackernews.com/2026/09/weaselbiscuit-stealer-spreads-via-13.html
  2. https://docs.npmjs.com/
  3. https://developer.chrome.com/docs/extensions
  4. https://github.com/google/leveldb