Ewolucja Zagrożenia: Dlaczego Shai-Hulud 2.0 zmusza nas do ponownego zdefiniowania Bezpieczeństwa Łańcucha Dostaw Oprogramowania
Spis treści
Jako ICWT (In Cloud We Trust) monitorujemy ewolucję zagrożeń i dostarczamy rozwiązania odpowiadające na realne wyzwania. Ostatnie ataki na ekosystem open-source, zwłaszcza powrót malware Shai-Hulud w wersji 2.0, demonstrują, że ryzyko w łańcuchu dostaw oprogramowania nie dotyczy już jedynie luk CVE i błędów w kodzie, ale skompromitowanych tożsamości i zaufanej automatyzacji.
Samo skanowanie po fakcie jest niewystarczające. Musimy przejść do modelu bezpieczeństwa przewidującego zagrożenia poprzez rozumienie kontekstu kodu i całego ekosystemu. Deweloperzy często nie są świadomi zależności używanych przez ich kod.
Skala i Wyrafinowanie Ataku Shai-Hulud 2.0
Wersja 2.0 identyfikowana w listopadzie 2025 roku jako "The Second Coming" pokazała szybkość rozprzestrzeniania się zagrożeń w ekosystemie npm. Pierwszy atak we wrześniu 2025 skompromitował ponad 180 pakietów npm. Nowa fala listopada 2025 objęła ponad 796 unikalnych pakietów npm i 1092 unikalne wersje, dotykając projektów z Zapier, ENS Domains, PostHog i Postman.
Kradzież poświadczeń i propagacja robaka
Atak rozpoczął się od przejęcia kont deweloperów i wstrzyknięcia złośliwego kodu w popularne zależności npm. Kod zbierał poświadczenia poprzez kierowanie na:
- Tokeny GitHub (PATs/Actions secrets)
- Tokeny npm
- Klucze dostępu do chmur (AWS, GCP, Azure)
- Inne sekrety poprzez narzędzie Trufflehog
Mechanizm samopropagacji był szczególnie niepokojący: używając skradzionych tokenów npm, robak automatycznie infekował dodatkowe pakiety, inkrementował numery wersji i publikował je na npm.
Celowe uderzenie w proces CI/CD i środowiska chmurowe
Atak nie ograniczał się do maszyn deweloperów. Około 20% skompromitowanych maszyn stanowiły GitHub runners. Malware wykrywało środowisko CI poprzez zmienne takie jak GITHUB_ACTIONS lub GITLAB_CI.
W środowiskach CI payload działał synchronicznie, aby utrzymać runnera w aktywności. Na maszynach deweloperskich działał w tle, aby nie wzbudzać podejrzeń.
Malware scrapowało pliki konfiguracyjne i używało pakietów SDK do interakcji z usługami metadanych instancji (IMDS) w chmurach, aby przechwycić tymczasowe tokeny uwierzytelniające.
Wyrafinowana eksfiltracja i „Wyłącznik Bezpieczeństwa"
W przeciwieństwie do wcześniejszych ataków, Shai-Hulud 2.0 wykorzystuje publiczne repozytoria GitHub do eksfiltracji danych, tworzone za pomocą skradzionych tokenów, oznaczane opisem: "Sha1-Hulud: The Second Coming".
Atakujący stworzyli mechanizm obronny: dead man's switch. Jeśli zainfekowany system straci dostęp do GitHub i npm, malware uruchamia niszczycielski ładunek, próbując zniszczyć dane użytkownika poprzez nadpisanie sektorów dysku lub użycie narzędzia shred.
Ta taktyka sprawia, że tradycyjne metody reagowania kryzysowego stają się ryzykowne — mogą prowadzić do zniszczenia danych na tysiącach zainfekowanych systemów.
Jak ograniczyć ryzyko: Aikido Security w łańcuchu dostaw
Tradycyjne podejścia SAST (Static Application Security Testing) czy DAST ujawniają swoje luki w ochronie łańcucha dostaw, bo złośliwy kod przychodzi w zaufanej zależności i uruchamia się już podczas instalacji pakietu. ICWT wdraża platformę Aikido Security, która łączy analizę zależności, wykrywanie złośliwych pakietów, wykrywanie sekretów i kontrolę potoków CI/CD.
Kompleksowa widoczność i SBOM jako podstawa
Moduł SCA (Software Composition Analysis) w Aikido skanuje zależności bezpośrednie i przechodnie, wykrywa znane podatności i pozwala wygenerować Software Bill of Materials (SBOM).
Analiza osiągalności pokazuje, czy podatny kod jest faktycznie wywoływany przez aplikację, a zależności zawierające złośliwe oprogramowanie są oznaczane na podstawie własnej bazy złośliwych pakietów Aikido. Dzięki temu po ujawnieniu kampanii takiej jak Shai-Hulud szybko widać, które repozytoria korzystają z przejętych wersji pakietów.
Wymuszanie polityk w CI/CD
Ataki takie jak Shai-Hulud 2.0 wykorzystują przejęte poświadczenia i zaufaną automatyzację. Aikido pozwala wbudować ochronę w potoki DevSecOps poprzez:
- Bramki bezpieczeństwa w CI/CD, które zatrzymują build lub pull request wprowadzający podatną albo złośliwą zależność
- Wykrywanie sekretów w kodzie, takich jak tokeny npm i GitHub czy klucze chmurowe, aby ujawnione poświadczenia dało się szybko znaleźć i unieważnić
Narzędzia nie zastąpią higieny procesu: warto równolegle wymagać sprzętowego 2FA, stosować krótkotrwałe tokeny i domyślnie wyłączać skrypty instalacyjne w CI.
Blokowanie złośliwych pakietów przed instalacją
Shai-Hulud 2.0 uruchamiał złośliwy kod w skryptach instalacyjnych pakietów, więc skanowanie po fakcie przychodzi za późno. Aikido Safe Chain to bezpłatne narzędzie, które przed instalacją sprawdza pakiety npm i PyPI w bazie złośliwego oprogramowania Aikido i blokuje te oznaczone jako złośliwe.
Safe Chain działa jako nakładka na polecenia menedżerów pakietów, takich jak npm, yarn czy pnpm, dlatego chroni zarówno stacje deweloperów, jak i runnery CI bez zmiany codziennego sposobu pracy.
Dla podatnych zależności Aikido może automatycznie przygotować poprawkę w postaci pull requesta z aktualizacją do bezpiecznej wersji (AI Autofix), a alerty są deduplikowane, więc zespół dostaje konkretne zadania zamiast setek ogólnych komunikatów.
Wtyczki Aikido do IDE pokazują problemy z zależnościami i sekretami jeszcze przed commitem, przesuwając bezpieczeństwo w lewo w cyklu tworzenia oprogramowania.
Podsumowanie: Wzmocnienie Odporności Twojej Organizacji
W erze, gdzie 70–90% kodu w nowoczesnych aplikacjach pochodzi z zależności open-source, a ataki ukierunkowują się na przejmowanie poświadczeń i automatyzacji, wspólna odpowiedzialność nie może polegać na biernym oczekiwaniu na łatkę.
Odporność osiąga się poprzez monitorowanie i wzmocnienie procesu wytwarzania i integracji oprogramowania (CI/CD).
ICWT wspiera wdrożenie i optymalizację platformy Aikido Security. Nie pozwól, aby ewolucja zagrożeń zaskoczyła Twoją organizację - skontaktuj się, aby omówić zabezpieczenie łańcucha dostaw oprogramowania i ochronę poświadczeń przed atakami nowej generacji.
Powiązane artykuły
Cloudflare AI Gateway: logi, DLP i kontrola kosztów AI
Cloudflare AI Gateway centralizuje ruch aplikacji, agentów i automatyzacji do modeli AI. Pokazujemy, jak wykorzystać logi, DLP, Guardrails, cache i limity kosztów - oraz czego ta usługa nie obejmuje.
Shai-Hulud znów atakuje npm: keyv i setki pakietów z malware
Złośliwe wersje keyv i powiązanych pakietów npm odpalały się same podczas instalacji, wyciągały sekrety z komputerów deweloperów i runnerów CI, a potem publikowały kolejne zainfekowane paczki. Pokazujemy, jak sprawdzić ekspozycję i co zrobić najpierw.
SAST i DAST: Kompletny przewodnik po nowoczesnym bezpieczeństwie aplikacji
SAST vs DAST - porównanie metod testowania bezpieczeństwa aplikacji. Tabela różnic, kluczowe korzyści i wskazówki wdrożenia dla zespołów DevSecOps.