30 marca 2026 roku badacze z firmy StepSecurity odkryli, że dwie wersje biblioteki axios — jednego z najpopularniejszych klientów HTTP dla JavaScript — zostały podmienione na złośliwe. Zainfekowane pakiety trafiły do repozytorium npm i przez około trzy godziny były dostępne do pobrania. Biorąc pod uwagę, że axios notuje ponad 100 milionów pobrań tygodniowo, potencjalna skala incydentu była ogromna.
Co się stało?
Atakujący przejął konto jednego z głównych opiekunów projektu — użytkownika jasonsaayman — i w ciągu zaledwie 39 minut opublikował dwie skompromitowane wersje: axios@1.14.1 oraz axios@0.30.4. Obie wersje zawierały nową, pozornie niegroźną zależność o nazwie plain-crypto-js@4.2.1, której jedynym zadaniem było uruchomienie skryptu instalacyjnego działającego jako dropper trojana zdalnego dostępu (RAT). Złośliwy ładunek działał na Windows, macOS i Linux — atak był zatem wieloplatformowy.
Po wykryciu incydentu paczki zostały usunięte z npm, a projekt axios opublikował komunikat bezpieczeństwa wzywający deweloperów do sprawdzenia używanych wersji.
Kto stoi za atakiem?
1 kwietnia 2026 roku Google Threat Intelligence Group publicznie przypisało odpowiedzialność za atak grupie oznaczonej jako UNC1069 — podmiotowi powiązanemu z Koreą Północną, motywowanemu finansowo. Nie jest to pierwsza tego typu operacja ze strony północnokoreańskich cyberprzestępców — wcześniej byli oni odpowiedzialni m.in. za ataki na giełdy kryptowalut i firmy z branży technologicznej.
Atak na axios wpisuje się w rosnący trend ataków na łańcuch dostaw oprogramowania (ang. software supply chain attacks). Zamiast atakować bezpośrednio cel końcowy, cyberprzestępcy kompromitują zaufane narzędzia, z których korzystają tysiące firm i deweloperów.
Co to oznacza dla deweloperów i firm?
Choć zainfekowane wersje były dostępne zaledwie przez kilka godzin, incydent ujawnia poważne słabości w ekosystemie open source. Każdy, kto uruchomił w tym czasie npm install z podatną wersją, mógł nieświadomie zainstalować trojana na swoim komputerze lub serwerze.
Aby chronić się przed podobnymi atakami w przyszłości, warto stosować się do kilku zasad:
- Używaj blokowania wersji — korzystaj z pliku
package-lock.jsonlubyarn.lock, aby instalować wyłącznie sprawdzone, zaakceptowane wersje zależności. - Weryfikuj skróty pakietów — narzędzia takie jak
npm auditczy dedykowane skanery (np. Socket, Wiz) mogą wykryć podejrzane zmiany w znanych pakietach. - Monitoruj aktywność po instalacji — skrypty
postinstallto popularny wektor ataku; rozważ korzystanie z narzędzi ograniczających ich uprawnienia. - Reaguj szybko na komunikaty bezpieczeństwa — śledź kanały bezpieczeństwa używanych bibliotek, np. przez GitHub Security Advisories.
Podsumowanie
Atak na axios to kolejny dowód na to, że nawet powszechnie zaufane narzędzia mogą stać się bronią w rękach cyberprzestępców. Skala potencjalnych ofiar — miliony projektów korzystających z tej biblioteki — sprawia, że incydent ten jest jednym z poważniejszych ataków na łańcuch dostaw npm w historii. W dobie coraz bardziej rozbudowanych środowisk programistycznych, bezpieczeństwo zależności staje się równie ważne jak bezpieczeństwo własnego kodu.