
Co znajdziesz w tym artykule?
Wprowadzenie do problemu / definicja
Ekosystem npm pozostaje jednym z najczęściej atakowanych elementów łańcucha dostaw oprogramowania. Najnowsza kampania pokazuje, że cyberprzestępcy nadal skutecznie wykorzystują zaufanie programistów do bibliotek open source, publikując pakiety zawierające kod kradnący dane oraz komponenty służące do budowy botnetu DDoS.
Szczególnie niepokojące jest to, że część wykorzystywanego kodu bazuje na wcześniej ujawnionym narzędziu Shai-Hulud. Oznacza to, że publicznie dostępne ofensywne projekty mogą bardzo szybko zostać zaadaptowane do realnych kampanii wymierzonych w deweloperów, zespoły DevOps i organizacje korzystające z automatyzacji CI/CD.
W skrócie
Badacze bezpieczeństwa zidentyfikowali cztery złośliwe pakiety npm opublikowane z jednego konta. Były to: chalk-tempalte, @deadcode09284814/axios-util, axois-utils oraz color-style-utils.
- Trzy pakiety działały jako infostealery kradnące dane i sekrety.
- Pakiet
axois-utilsdostarczał dodatkowo bota DDoS Phantom Bot. - Pakiet
chalk-tempaltezawierał klon robaka Shai-Hulud. - Kampania łączyła typo-squatting, kradzież sekretów i elementy trwałej infekcji hosta.
Kontekst / historia
Ataki na rejestry pakietów open source od lat należą do najskuteczniejszych metod kompromitacji środowisk developerskich. npm jest szczególnie atrakcyjnym celem ze względu na ogromną skalę wykorzystania, częste automatyczne instalacje zależności oraz silne powiązanie z procesami build i deployment.
Obecna kampania wpisuje się w szerszy trend wtórnego wykorzystywania publicznie ujawnionego kodu ofensywnego. Po upublicznieniu Shai-Hulud pojawiło się wysokie ryzyko, że mniej zaawansowani aktorzy zaczną kopiować jego mechanizmy i wdrażać je w złośliwych bibliotekach. Wykrycie pakietu chalk-tempalte pokazuje, że ten scenariusz szybko się zmaterializował.
Równie istotne są same nazwy pakietów. Atakujący zastosowali techniki imitowania legalnych bibliotek i tworzenia nazw łudząco podobnych do popularnych modułów, co zwiększa prawdopodobieństwo przypadkowej instalacji przez programistę lub pipeline automatyzacyjny.
Analiza techniczna
Zidentyfikowane pakiety nie były jednorodne pod względem funkcjonalnym, mimo że opublikowano je z jednego konta. To sugeruje, że operator kampanii testował różne ładunki i scenariusze infekcji w ramach jednego ciągu działań.
Pakiet axois-utils został powiązany z botem DDoS Phantom Bot napisanym w Go. Malware obsługiwało generowanie ruchu z wykorzystaniem protokołów HTTP, TCP i UDP, co wskazuje na możliwość prowadzenia różnego typu ataków wolumetrycznych i aplikacyjnych. Dodatkowo wdrażano mechanizmy persystencji, dzięki którym infekcja mogła przetrwać restart systemu.
W środowiskach Windows złośliwy komponent miał dodawać się do folderu autostartu oraz tworzyć zadanie harmonogramu. W praktyce oznacza to, że jednorazowe pobranie zależności mogło skutkować długotrwałym wykorzystaniem stacji roboczej jako węzła botnetu.
Pozostałe pakiety koncentrowały się na kradzieży danych. Zakres wykradanych informacji obejmował między innymi klucze SSH, zmienne środowiskowe, dane chmurowe, informacje systemowe, adres IP oraz artefakty związane z portfelami kryptowalutowymi. Taki zestaw jest szczególnie niebezpieczny dla organizacji programistycznych, ponieważ otwiera drogę do dalszej eskalacji i przejęcia krytycznych zasobów.
Najbardziej interesującym elementem kampanii był pakiet chalk-tempalte, który zawierał klon Shai-Hulud. Według dostępnych analiz kod został wykorzystany niemal bez zmian, ale skonfigurowany do współpracy z własną infrastrukturą dowodzenia i kontroli oraz odrębnym kluczem prywatnym. Wykradzione tokeny GitHub mogły być następnie używane do publikowania danych przez API do publicznych repozytoriów, co zwiększało skalę i szybkość eksfiltracji.
Kampania pokazuje kilka charakterystycznych cech współczesnych ataków supply chain:
- uruchamianie złośliwego kodu już na etapie instalacji zależności,
- kradzież sekretów deweloperskich i poświadczeń chmurowych,
- wykorzystanie zewnętrznej infrastruktury C2,
- wdrażanie mechanizmów persystencji,
- łączenie infostealera z funkcjami destrukcyjnymi lub ofensywnymi, takimi jak DDoS.
Konsekwencje / ryzyko
Skutki takiego incydentu wykraczają poza pojedynczą stację roboczą. Na poziomie hosta kompromitacja może oznaczać wyciek kluczy SSH, tokenów GitHub, sekretów aplikacyjnych i danych środowiskowych. Na poziomie zespołu może prowadzić do przejęcia repozytoriów, pipeline’ów CI/CD, kont serwisowych i infrastruktury chmurowej.
Dla przedsiębiorstw największym zagrożeniem jest efekt kaskadowy. Jeśli napastnik uzyska dostęp do rejestrów pakietów, systemów budowania lub kont publikacyjnych, organizacja może nieświadomie stać się źródłem dalszej dystrybucji złośliwego oprogramowania do klientów, partnerów i społeczności open source.
Dodatkowe ryzyko wynika z połączenia infostealera z botem DDoS. Zainfekowane systemy mogą jednocześnie tracić poufne dane i uczestniczyć w atakach na zewnętrzne cele. To zwiększa zarówno skalę incydentu, jak i potencjalne konsekwencje prawne, operacyjne oraz reputacyjne.
Rekomendacje
Organizacje korzystające z npm powinny potraktować ten incydent jako sygnał do pilnego przeglądu procesów związanych z bezpieczeństwem łańcucha dostaw oprogramowania.
- Zweryfikować, czy wskazane pakiety nie pojawiły się w projektach, plikach lock, cache narzędzi build, obrazach kontenerowych oraz środowiskach CI/CD.
- Po wykryciu instalacji przeprowadzić pełną rotację sekretów, w tym tokenów GitHub, kluczy SSH, poświadczeń chmurowych i sekretów aplikacyjnych.
- Sprawdzić historię publikacji, nietypowe commity i nowe publiczne repozytoria mogące świadczyć o nadużyciu kont programistów.
- Przeanalizować autostart, zadania harmonogramu, nietypowe procesy w Go oraz połączenia sieciowe do nieznanej infrastruktury.
- Wdrożyć pinning wersji, rygorystyczną kontrolę plików lock i ograniczenie automatycznych aktualizacji bez walidacji.
- Rozważyć użycie prywatnych mirrorów lub proxy dla pakietów oraz skanowanie zależności pod kątem złośliwych skryptów instalacyjnych.
- Egzekwować zasadę najmniejszych uprawnień dla tokenów deweloperskich i odseparować środowiska build od systemów produkcyjnych.
Zespoły SOC i DevSecOps powinny również rozszerzyć detekcję o wskaźniki kompromitacji związane z eksfiltracją sekretów, publikacją danych do repozytoriów GitHub oraz persystencją na systemach Windows i Linux.
Podsumowanie
Nowa kampania wymierzona w npm pokazuje, że ataki na łańcuch dostaw stają się coraz bardziej modularne, skalowalne i łatwe do odtworzenia przez kolejnych aktorów. Cztery wykryte pakiety łączyły funkcje kradzieży danych z dystrybucją bota DDoS, a jeden z nich wykorzystywał klon wcześniej ujawnionego robaka Shai-Hulud.
Dla organizacji to wyraźne ostrzeżenie, że bezpieczeństwo zależności open source nie może być traktowane wyłącznie jako problem programistyczny. Kluczowe znaczenie mają szybka identyfikacja zainfekowanych komponentów, pełna rotacja poświadczeń oraz wzmocnienie kontroli nad npm, procesami CI/CD i zarządzaniem sekretami.
Źródła
- Four Malicious npm Packages Deliver Infostealers and Phantom Bot DDoS Malware — https://thehackernews.com/2026/05/four-malicious-npm-packages-deliver.html
- TeamPCP Copycats: New Actors Deploy Shai-Hulud Clones — https://www.ox.security/blog/new-actors-deploy-shai-hulud-clones-teampcp-copycats-are-here/
- Leaked Shai-Hulud malware fuels new npm infostealer campaign — https://www.bleepingcomputer.com/news/security/leaked-shai-hulud-malware-fuels-new-npm-infostealer-campaign/