Przejdź do treści
Poradniki

Kampania Shai-Hulud rozszerza się na PyPI. Jak chronić swoje tokeny i paczki?

Złośliwa kampania Shai-Hulud, znana z infekowania pakietów npm, trafiła do repozytorium PyPI. Atakujący kradną tokeny dostępowe i publikują zainfekowane wersje popularnych bibliotek. Podpowiadamy, jak się bronić.

3 min read
An abstract digital landscape showing a dark, tangled web of cables and code fragments, with a single glowing key hanging above a cracked vault door, symbolizing the theft of access tokens in a software supply chain attack.

We wrześniu 2025 roku badacze bezpieczeństwa ostrzegali przed kampanią Shai-Hulud, która infekowała paczki w repozytorium npm. Jak wynika z najnowszych ustaleń, kampania nie tylko wciąż trwa, ale również rozszerzyła się na PyPI – popularne repozytorium pakietów Pythona. Specjaliści z OX Security odkryli złośliwe aktualizacje pakietów lightning oraz intercom-client, które kradną poświadczenia i rozprzestrzeniają się dalej. Dla programistów i firm korzystających z tych bibliotek oznacza to konieczność natychmiastowej reakcji.

Jak działa nowy wariant Shai-Hulud?

Zainfekowane zostały pakiety lightning (w wersjach 2.6.2 i 2.6.3) oraz intercom-client (wersja 7.0.4). Lightning to biblioteka dla PyTorch, służąca do trenowania modeli uczenia maszynowego, pobierana ponad 8,3 miliona razy w miesiącu. Intercom-client to SDK dla Node.js, notujący 1,3 miliona pobrań miesięcznie. W przypadku pakietów npm złośliwy kod uruchamiał się przez skrypty preinstall lub postinstall. W PyPI mechanizm jest inny – malware aktywuje się przez plik __init__.py. Finalny payload, napisany w JavaScript, szuka na urządzeniu ofiary tokenów npm i GitHub, a następnie wysyła je do endpointu atakujących pod adresem zero[.]masscan[.]cloud.

Kradzież tokenów i dalsze rozprzestrzenianie

Malware nie tylko kradnie dane. Wykorzystując pozyskane tokeny npm, sprawdza, do jakich paczek ma dostęp ich właściciel. Jeśli token umożliwia publikowanie nowych wersji, atakujący modyfikują te pakiety i ponownie publikują je w npm, rozpowszechniając złośliwy kod w kolejnych bibliotekach. Podobnie działa mechanizm dla tokenów GitHub – szuka Personal Access Tokens (zaczynających się od ghp_ lub gho_) i przesyła wyniki do serwera atakujących. Co więcej, badacze zidentyfikowali ponad 1800 repozytoriów GitHub utworzonych w ramach kampanii, zawierających w opisie frazę „A Mini Shai-Hulud has Appeared”.

Jakie są konsekwencje dla użytkowników i firm?

Kampania Shai-Hulud to klasyczny przykład ataku na łańcuch dostaw oprogramowania. Jeśli programista lub firma zainstalowała zainfekowaną wersję pakietu, atakujący mogą przejąć kontrolę nad tokenami dostępowymi do repozytoriów kodu i menedżerów pakietów. W skrajnych przypadkach może to prowadzić do wstrzyknięcia złośliwego kodu do własnych aplikacji, a w konsekwencji – do naruszenia bezpieczeństwa klientów. Szczególnie narażone są organizacje, które nie stosują ograniczeń uprawnień dla tokenów ani nie weryfikują integralności pobieranych pakietów.

Jak się bronić? Praktyczne kroki

Jeśli instalowaliście lub aktualizowaliście wymienione pakiety do zainfekowanych wersji, kluczowe jest natychmiastowe działanie:

  • Zresetujcie wszystkie istotne poświadczenia – tokeny GitHub, npm, a także klucze do usług chmurowych (AWS, GCP).
  • Usuńcie zainfekowane pakiety i wyczyśćcie cache menedżera pakietów.
  • Ograniczajcie uprawnienia tokenów – w miarę możliwości przypisujcie je do konkretnych adresów IP i nadawajcie minimalny zakres dostępu.
  • Korzystajcie z trusted publishing w npm, które eliminuje potrzebę przechowywania długotrwałych tokenów.
  • Rozważcie sprzętowe klucze FIDO do obsługi bardziej wrażliwych poświadczeń, takich jak klucze SSH.
  • Stosujcie canary tokens – fałszywe poświadczenia, które pozwalają wcześnie wykryć złośliwą aktywność.

Dla administratorów i zespołów DevOps warto również przejść na scentralizowane, zarządzane repozytoria cool-down, które umożliwiają skanowanie i weryfikację pakietów przed ich użyciem w środowisku produkcyjnym.

Co dalej?

Kampania Shai-Hulud pokazuje, że ataki na łańcuch dostaw oprogramowania stają się coraz bardziej wyrafinowane i rozszerzają się na kolejne ekosystemy. Warto śledzić komunikaty badaczy bezpieczeństwa i regularnie aktualizować procedury zarządzania tokenami. W przypadku wykrycia podejrzanej aktywności niezwłocznie unieważniajcie zagrożone poświadczenia i przeprowadźcie audyt bezpieczeństwa.

Redakcja sekuret.pl

Redakcja sekuret.pl

AUTHOR