Atak na łańcuch dostaw
W grudniu 2024 roku wykryto poważne naruszenie bezpieczeństwa trzech popularnych pakietów NPM: @rspack/core, @rspack/cli oraz Vant. Jak ustalili badacze z Sonatype i Socket, cyberprzestępcy wykorzystali skradzione tokeny kont NPM, by opublikować złośliwe wersje tych pakietów. Każdy z nich zawierał kod instalujący koparkę kryptowaluty XMRig, zaprojektowaną do wydobywania kryptowaluty Monero.
Czym są zaatakowane pakiety?
Rspack: To bundler JavaScript napisany w języku Rust, służący do łączenia projektów JavaScript. Jego narzędzia – @rspack/core i @rspack/cli – były pobierane setki tysięcy razy tygodniowo.
Vant: Biblioteka interfejsu użytkownika dla Vue.js, oferująca gotowe komponenty dla aplikacji mobilnych, pobierana ok. 46 tys. razy tygodniowo.
Złośliwy kod znaleziono w plikach konfiguracyjnych obu pakietów. W przypadku Rspack był to plik "support.js," natomiast w Vant "config.js." Kod ten komunikował się z serwerami zewnętrznymi, pozyskując dane sieciowe i geolokalizacyjne ofiar.
Mechanizm działania ataku
Głównym celem cyberprzestępców było dyskretne wykorzystanie zasobów użytkowników do wydobywania kryptowalut. Kluczowe działania obejmowały:
Zbieranie danych: Kod pobierał informacje o sieci i lokalizacji systemu ofiary.
Ukrywanie działań: W przypadku pakietu Vant koparka XMRig była maskowana jako "/tmp/vant_helper," co utrudniało wykrycie.
Efektywne wydobycie: Parametry koparki ograniczały użycie procesora do 75%, co pozwalało uniknąć zwrócenia uwagi użytkowników.
Reakcje i środki zaradcze
Twórcy zaatakowanych pakietów szybko zareagowali na incydent, publikując oczyszczone wersje swoich narzędzi oraz przepraszając społeczność za naruszenie. Rspack i Vant wezwały użytkowników do natychmiastowej aktualizacji swoich projektów do najnowszych, bezpiecznych wersji:
Rspack: Wersja 1.1.8 lub nowsza.
Vant: Wersja 4.9.15 lub wyższa.
W przypadku Rspack wersja 1.1.6 została uznana za bezpieczną, ale twórcy zalecają aktualizację do najnowszej, wzmocnionej pod względem zabezpieczeń edycji. Z kolei w Vant należy unikać wersji między 2.13.3 a 4.9.14, które były podatne na atak.
Coraz większe ryzyko w ekosystemach open source
Atak na @rspack/core, @rspack/cli i Vant to kolejny przykład wzrastającego zagrożenia w łańcuchu dostaw oprogramowania. Podobne incydenty, takie jak ataki na LottieFiles, Ultralytics czy Solana Web3.js, uwypuklają problem niedostatecznego zabezpieczenia w środowiskach open source.
Cyberprzestępcy coraz częściej wykorzystują popularne narzędzia, by infekować użytkowników na szeroką skalę. Dlatego niezbędne są:
Regularne audyty bezpieczeństwa kodu.
Monitorowanie integralności bibliotek i ich zależności.
Wdrożenie wielowarstwowych systemów ochrony w projektach open source.
Zdarzenia te przypominają, że zachowanie czujności i proaktywna ochrona są istotne w dynamicznie rozwijającym się środowisku programistycznym.