Shai Hulud v2 Malware
Druga fala ataku na łańcuch dostaw Shai-Hulud dotarła już do ekosystemu Maven, po tym jak doszło do naruszenia bezpieczeństwa ponad 830 pakietów w rejestrze npm. Badacze zidentyfikowali pakiet Maven Central, org.mvnpm:posthog-node:4.18.1, który zawiera te same złośliwe komponenty, co wcześniejsze ataki npm: moduł ładujący setup_bun.js i ładunek bun_environment.js. Obecnie jest to jedyny znany pakiet Java, którego dotyczył atak.
Warto zauważyć, że pakiet Maven nie został opublikowany przez PostHog. Został wygenerowany za pomocą zautomatyzowanego procesu mvnpm, który przebudowuje pakiety npm jako artefakty Maven. Maven Central potwierdził, że wszystkie kopie lustrzane zostały usunięte do 25 listopada 2025 roku, a wdrażane są dodatkowe zabezpieczenia, aby zapobiec ponownej publikacji zagrożonych komponentów npm.
Spis treści
Globalny wpływ na programistów i cele ataków
Najnowsza fala ataków jest skierowana przeciwko deweloperom na całym świecie, a jej celem jest kradzież poufnych danych, takich jak:
- Klucze API
- Poświadczenia w chmurze
- npm i tokeny GitHub
Umożliwia również głębsze naruszenie łańcucha dostaw w sposób przypominający robaka i samoreplikujący się. Ta wersja Shai-Hulud jest bardziej dyskretna, agresywna i destrukcyjna niż pierwotna wersja z września. Włamując się na konta administratorów npm, atakujący mogą publikować zainfekowane pakiety, które umożliwiają dostęp do maszyn programistów i automatyczne skanowanie w poszukiwaniu poufnych informacji, aby je wykraść do repozytoriów GitHub.
Jak działa złośliwe oprogramowanie: podwójne przepływy pracy i techniki ukrywania się
Atak wykorzystuje dwa złośliwe przepływy pracy:
- Rejestracja biegacza hostowanego samodzielnie: umożliwia wykonywanie dowolnych poleceń za każdym razem, gdy otwierana jest dyskusja w serwisie GitHub.
- Proces zbierania sekretów: systematyczne zbieranie danych uwierzytelniających i przesyłanie ich do serwisu GitHub.
- Kluczowe udoskonalenia w Shai-Hulud v2 obejmują:
- Wykorzystanie środowiska wykonawczego Bun do ukrycia logiki rdzenia
- Zwiększenie limitu zakażeń z 20 do 100 opakowań
- Losowe repozytoria eksfiltracji w serwisie GitHub w celu uniknięcia wykrycia
Do tej pory atak objął ponad 28 000 repozytoriów, co pokazuje skalę i podstępność tej kampanii.
Wykorzystywane luki w zabezpieczeniach i mechanizmy łańcucha dostaw
Aktorzy zagrożeń wykorzystują błędne konfiguracje CI w przepływach pracy GitHub Actions, szczególnie w wyzwalaczach pull_request_target i workflow_run. Pojedynczy błędnie skonfigurowany przepływ pracy może zamienić repozytorium w „pacjenta zero”, umożliwiając szybką propagację złośliwego kodu.
Atak wymierzono w projekty związane z AsyncAPI, PostHog i Postman, kontynuując szerszą kampanię rozpoczętą atakiem S1ngularity z sierpnia 2025 r., który wpłynął na kilka pakietów Nx w npm.
The Fallout: Wyciek sekretów i ryzyko systemowe
Analiza kampanii pokazuje:
- Wykradziono setki tokenów dostępu GitHub i danych uwierzytelniających do chmury z AWS, Google Cloud i Microsoft Azure.
- Ponad 5000 plików zawierających sekrety zostało przesłanych do serwisu GitHub.
- Spośród 11 858 unikalnych sekretów zidentyfikowanych w 4645 repozytoriach, 2298 pozostało ważnych i zostało ujawnionych publicznie na dzień 24 listopada 2025 r.
Pokazuje to, jak pojedynczy naruszony administrator może wywołać efekt kaskadowy, infekując tysiące aplikacji podrzędnych.
Rekomendacje dla programistów
Aby ograniczyć narażenie, deweloperzy powinni:
- Rotacja wszystkich kluczy API, tokenów i poświadczeń
- Przeprowadź audyt i usuń zagrożone zależności
- Zainstaluj ponownie czyste wersje pakietów
- Wzmocnij środowiska CI/CD za pomocą dostępu o najmniejszych uprawnieniach, skanowania tajnego i automatycznego egzekwowania zasad
Shai-Hulud podkreśla, że współczesny łańcuch dostaw oprogramowania pozostaje wysoce podatny na ataki. Atakujący nadal wykorzystują luki w sposobie publikowania, pakowania i wdrażania oprogramowania open source, często nie polegając na lukach zero-day. Najskuteczniejsza obrona wymaga ponownego przemyślenia sposobu tworzenia, udostępniania i użytkowania oprogramowania.