Przejdź do treści
Cyberataki

Kampania Shai-Hulud: nowa fala ataków na łańcuch dostaw zagraża programistom

Atakujący ponownie wykorzystują otwarte narzędzia kampanii Shai-Hulud, tym razem infekując 19 pakietów PyPI używanych w bioinformatyce. Artykuł wyjaśnia, jak działa atak, kogo dotyczy i jakie kroki obronne należy podjąć.

3 min read
Abstract visualization of a tangled web of interconnected code nodes, with a dark, worm-like shape slithering through the network, leaving a trail of glowing red particles. In the background, a faint, translucent shield with cracks attempts to contain the intrusion.

Atak na łańcuch dostaw oprogramowania, znany jako kampania Shai-Hulud, przybrał nową formę. Jak podaje BleepingComputer, hakerzy skompromitowali 19 pakietów w repozytorium PyPI, które łącznie były pobierane setki tysięcy razy. Wśród zaatakowanych znalazły się popularne narzędzia bioinformatyczne, takie jak Dynamo, Spateo, CoolBox, U-FISH i Napari-UFISH. Celem malware jest kradzież sekretów programistycznych – tokenów, kluczy SSH, danych uwierzytelniających do chmury i repozytoriów kodu.

Jak działa nowa fala ataku Shai-Hulud?

Nowa kampania została odkryta przez firmę Socket, specjalizującą się w bezpieczeństwie aplikacji. Badacze zidentyfikowali 37 złośliwych wydań dla 19 pakietów, które najprawdopodobniej pochodzą od jednego opiekuna. Mechanizm infekcji jest wyrafinowany: złośliwe artefakty zawierały plik *-setup.pth oraz zaciemniony ładunek JavaScript o nazwie _index.js.

Wystarczyło uruchomienie Pythona, aby plik PTH został wykonany. Następnie próbował on pobrać środowisko uruchomieniowe Bun z GitHub, by uruchomić dołączony skrypt JavaScript. Jak wyjaśnia Socket: „Oznacza to, że skompromitowane koło może zmienić bierną instalację zależności w opóźniony wyzwalacz wykonania: następne uruchomienie Pythona, pipa, testu, jądra notebooka, zadania CI lub polecenia zarządzania pakietami, które uruchamia Pythona, może przetworzyć złośliwy plik .pth”.

Co kradnie malware i jak działa exfiltracja?

Analiza ładunku JavaScript ujawniła, że malware atakuje szeroki zakres sekretów programistycznych, w tym:

  • tokeny GitHub i sekrety GitHub Actions,
  • tokeny publikacyjne npm, PyPI, RubyGems, JFrog,
  • dane uwierzytelniające do AWS, GCP, Azure, Kubernetes i Vault,
  • klucze SSH,
  • dane uwierzytelniające Dockera,
  • pliki .env, .npmrc, .pypirc,
  • historię powłoki,
  • pliki konfiguracyjne Claude/MCP,
  • inne sekrety ze stanowisk programistycznych i CI/CD.

Główna metoda exfiltracji danych jest podobna do wcześniejszych operacji Shai-Hulud: wykorzystuje automatycznie tworzone repozytoria GitHub do przechowywania wykradzionych sekretów, zapisywanych za pomocą GitHub Actions. Istnieje również druga metoda oparta na bezpośrednim HTTPS, która wskazuje na prawidłowy, ale nieprawidłowy endpoint API Anthropic (api[.]anthropic[.]com/v1/api) – zdaniem badaczy Socket służy to jako kamuflaż.

Mechanizmy unikania wykrycia i trwałość

Malware wyposażono w kilka mechanizmów obronnych. Sprawdza on, czy środowisko działa w rosyjskiej lokalizacji – jeśli tak, wstrzymuje działanie. Unika również narzędzi bezpieczeństwa, takich jak StepSecurity Harden-Runner. Trwałość zapewniana jest poprzez usługi systemd na Linuksie i LaunchAgents na macOS, a także przez modyfikację plików konfiguracyjnych GitHub i Claude/MCP.

Badacze Socket uważają, że atak jest częścią szerszej kampanii Shai-Hulud ze względu na podobieństwa technik. Obecnie lista złośliwych artefaktów przypisanych do działań Shai-Hulud liczy już 453 pozycje.

Co powinni zrobić administratorzy i programiści?

Socket opublikował pełną listę dotkniętych pakietów i wersji. Zaleca, aby organizacje, które je zainstalowały, natychmiast obróciły wszystkie sekrety i przywróciły środowiska z bezpiecznych kopii zapasowych. Defensorzy powinni szukać następujących sygnałów ostrzegawczych:

  • pakietów Pythona zawierających wykonywalne haki startowe .pth,
  • nieoczekiwanych pobrań środowiska uruchomieniowego Bun z GitHub,
  • łańcuchów procesów, w których Python uruchamia Bun w celu wykonania _index.js.

Warto również monitorować aktywność GitHub Actions pod kątem automatycznie tworzonych repozytoriów, które mogą służyć do exfiltracji danych. Regularne przeglądanie uprawnień tokenów CI/CD i stosowanie zasady najmniejszych uprawnień może znacząco ograniczyć ryzyko w przypadku podobnych incydentów w przyszłości.

Redakcja sekuret.pl

Redakcja sekuret.pl

AUTHOR