Bezpieczeństwo łańcucha dostaw oprogramowania po raz kolejny znalazło się w centrum uwagi po wykryciu złośliwej kampanii w repozytorium npm. Badacze bezpieczeństwa zidentyfikowali 148 pakietów, które pod przykrywką narzędzi do obsługi serwerów proxy dla studentów, w rzeczywistości przekształcały przeglądarki użytkowników w elementy sieci botnet służącej do przeprowadzania ataków typu DDoS (Distributed Denial of Service).
Mechanizm ataku był precyzyjnie zaplanowany. Pakiety, które miały ułatwiać dostęp do zasobów sieciowych, zawierały ukryty kod JavaScript. Po zainstalowaniu i uruchomieniu w środowisku przeglądarki, skrypt ten nawiązywał połączenie z serwerem kontrolnym atakujących. W efekcie, nieświadomy użytkownik stawał się nieumyślnym uczestnikiem ataków na wybrane cele, wykorzystując zasoby własnego komputera oraz łącze internetowe do generowania szkodliwego ruchu.
Jak działał mechanizm infekcji?
Złośliwe oprogramowanie wykorzystywało popularność narzędzi typu proxy, które są często poszukiwane przez osoby potrzebujące obejść ograniczenia geograficzne lub zarządzać wieloma sesjami przeglądarkowymi. Atakujący wykorzystali tzw. typosquatting oraz podszywanie się pod legalne biblioteki, aby nakłonić programistów do pobrania zainfekowanych plików.
Proces przejęcia kontroli nad przeglądarką przebiegał w kilku etapach:
Skala zagrożenia i reakcja
Choć liczba 148 pakietów może wydawać się ograniczona w skali całego repozytorium npm, ich potencjał destrukcyjny był znaczny. Każda zainfekowana przeglądarka stanowiła węzeł w rozproszonej sieci, która mogła zostać użyta do paraliżowania serwisów internetowych. Wykorzystanie legalnie wyglądających narzędzi sprawiło, że wykrycie aktywności było utrudnione, gdyż ruch generowany przez botnet przypominał zachowanie zwykłego użytkownika.
Eksperci podkreślają, że incydent ten jest kolejnym dowodem na to, jak istotna jest weryfikacja zależności w projektach programistycznych. Warto zauważyć, że w kontekście finansowym, straty wynikające z przestojów spowodowanych atakami DDoS mogą być ogromne. Dla porównania, koszty usług ochrony przed takimi atakami na rynku komercyjnym często zaczynają się od kwot rzędu 500 dolarów miesięcznie (około 2000 złotych), co pokazuje, jak kosztowne dla firm jest zabezpieczanie się przed skutkami działań botnetów.
Obecnie wszystkie zidentyfikowane pakiety zostały usunięte z repozytorium npm, a administratorzy platformy podjęli kroki w celu ograniczenia możliwości publikacji podobnych zagrożeń w przyszłości. Użytkownikom zaleca się każdorazowe sprawdzanie źródeł pobieranych bibliotek oraz regularne audytowanie zależności w swoich projektach, aby uniknąć nieświadomego włączenia złośliwego kodu do własnych aplikacji.

