Samoreplikujący się robak, który przejmuje kontrolę nad potokami GitHub Actions w celu publikowania złośliwych pakietów npm, ponownie zaatakował, narażając na niebezpieczeństwo pakiety AntV, echarts-for-react oraz zestaw SDK durabletask firmy Microsoft. Key Takeaways
Wirus z serwisu GitHub atakuje pakiety npm, które pobrano 16 milionów razy

- </span></p>
- <p><span style="font-weight: 400;">Najważniejsze wnioski: </span></p>
- <ul>
- <li><span style="font-weight: 400;">19 maja Mini Shai-Hulud wykorzystał GitHub Actions, narażając na niebezpieczeństwo ponad 300 pakietów npm, które co tydzień są pobierane ponad 16 milionów razy. </span></li>
- <li><span style="font-weight: 400;">Złośliwe oprogramowanie instaluje mechanizm „dead-man's switch”, który kasuje dane z komputera programisty, jeśli skradziony token npm zostanie unieważniony. </span></li>
- <li><span style="font-weight: 400;">GitHub zareagował 20 maja, wprowadzając publikację etapową, masową integrację OIDC oraz plan wycofania starszych tokenów npm.</span></li>
- </ul>
- <p><span style="font-weight: 400;">
Mini Shai-Hulud wykorzystuje GitHub Actions, aby dotrzeć do 16 milionów pobrań tygodniowo
Kampania Mini Shai-Hulud, przypisywana grupie Team PCP, nie działa tak, jak większość ataków na łańcuch dostaw, ponieważ zamiast kraść dane uwierzytelniające programisty i publikować bezpośrednio, atakujący tworzy fork docelowego repozytorium na GitHubie i otwiera pull request, który uruchamia workflow `pull_request_target`.
Powoduje to zanieczyszczenie pamięci podręcznej GitHub Actions złośliwym sklepem pnpm, a od tego momentu zainfekowane pakiety posiadają ważne certyfikaty podpisane i przechodzą kontrole pochodzenia SLSA, dzięki czemu dla standardowych narzędzi bezpieczeństwa wydają się całkowicie czyste.

19 maja najnowsza fala uderzyła w ekosystem wizualizacji danych AntV, gdy atakujący uzyskali dostęp do przejętego konta opiekuna w przestrzeni nazw @atool i opublikowali ponad 300 złośliwych wersji pakietów w 323 pakietach w ciągu 22-minutowej automatycznej serii.
Wśród dotkniętych pakietów znajduje się echarts-for-react, opakowanie React dla Apache Echarts, które ma około 1,1 miliona pobrań tygodniowo
. Łączną liczbę pobrań tygodniowo dla wszystkich dotkniętych pakietów w tej fali szacuje się na około 16 milionów.Najbardziej niepokojącym szczegółem technicznym jest to, co dzieje się, gdy programista próbuje interweniować. Złośliwe oprogramowanie instaluje wyłącznik awaryjny, tj. skrypt powłoki, który co 60 sekund sprawdza API serwisu GitHub, aby sprawdzić, czy utworzony przez niego token npm został unieważniony. Ten token zawiera opis „IfYouRevokeThisTokenItWillWipeTheComputerOfTheOwner”, co oznacza, że jeśli zostanie unieważniony przez programistę, natychmiast wyczyści katalog domowy zainfekowanej maszyny.
Token kradnie również dane uwierzytelniające z serwisów GitHub, AWS, Azure, GCP, Kubernetes, Hashi Corp Vault oraz ponad 90 konfiguracji narzędzi programistycznych, a następnie rozprzestrzenia się w poprzek połączonej infrastruktury chmurowej.
Jeden atak, wiele ofiar
Kampania uderzyła jednocześnie w Python Package Index (PyPI), gdy 19 maja opublikowano trzy złośliwe wersje oficjalnego pakietu SDK Microsoftu dla języka Python o nazwie durabletask, które po cichu pobierały i uruchamiały 28-kilobajtowy ładunek służący do kradzieży danych uwierzytelniających (zdolny do przemieszczania się po środowiskach AWS, Azure i GCP po pierwszym uruchomieniu).GitHub zareagował 20 maja ogłoszeniem przedstawiającym trzy kluczowe zmiany w publikowaniu w npm, a mianowicie zbiorcze wdrażanie OIDC, aby pomóc organizacjom w migracji setek pakietów do zaufanego publikowania na dużą skalę, rozszerzoną obsługę dostawców OIDC poza GitHub Actions i Gitlab oraz nowy model publikowania etapowego, który daje opiekunom okno na przegląd przed uruchomieniem pakietów, wymagając zatwierdzenia za pomocą uwierzytelniania wieloskładnikowego (MFA).

Firma planuje również wycofać starsze, klasyczne tokeny, przenieść użytkowników na uwierzytelnianie dwuskładnikowe oparte na FIDO oraz domyślnie zablokować publikowanie oparte na tokenach. W ramach wcześniejszej fali kampanii we wrześniu 2025 r. GitHub usunął ponad 500 zainfekowanych pakietów z rejestru npm
Firma Slowmist zajmująca się bezpieczeństwem blockchain wydała wczesne ostrzeżenie 14 maja po wykryciu trzech złośliwych wersji node-ipc, pakietu z 822 000 pobrań tygodniowo, w ramach tej samej kampanii.
Programistom korzystającym z któregokolwiek ze zgłoszonych pakietów zalecono natychmiastowe przeprowadzenie audytu drzew zależności, rotację wszystkich poświadczeń bez uprzedniego unieważniania złośliwego tokenu oraz sprawdzenie wskaźników naruszenia opublikowanych przez Snyk, Wiz, Socket.dev i Step Security.














