Badacze cyberbezpieczeństwa opisali długotrwałą kampanię złośliwego oprogramowania w ekosystemie npm. Kampania otrzymała nazwę MALFEX. Według ustaleń CloudSEK i Checkmarx jej operator opublikował od sierpnia 2023 roku 12 pakietów, z których osiem zostało oznaczonych jako złośliwe. Wszystkie wskazane pakiety pobrano łącznie 40 767 razy. Największy udział miał pakiet function-flag, odpowiadający za 37 419 pobrań.
Pakiety pobierały kolejne składniki malware
Trzy pakiety, tlxbnhd, tldriver i mxdriver, działały jako programy ładujące Overlord RAT. Ich złośliwa logika była uruchamiana za pomocą haków cyklu życia npm, które pobierały i uruchamiały plik wykonywalny dla systemu Windows. Inna grupa pakietów, w tym img-to-native, wykorzystywała zależność cdn-img-fetch do pobrania programu napisanego w Go. Ten następnie pobierał narzędzie wykradające dane, zdolne do gromadzenia wrażliwych informacji.
Zależności utrudniały ocenę ryzyka
W pakiecie function-flag znajdował się skrypt postinstall, który uruchamiał kod JavaScript i pobierał kolejny składnik z serwera zdalnego. Badacze ustalili, że różne wersje pakietu korzystały z różnych lokalizacji. Pakiet function-color nie zawierał własnego ładunku, ale wskazywał function-flag jako zależność, przez co mógł pośrednio wprowadzać złośliwe zachowanie do projektu. Według analizy najnowsza opisana wersja function-flag została wydana 4 sierpnia 2025 roku, a sam pakiet pojawił się po raz pierwszy w lipcu 2024 roku.
Badacze oceniają, że za kampanią stoi prawdopodobnie jeden operator posługujący się językiem portugalskim. Wskazują na język opisu jednego z projektów, ustawienia czasu w repozytoriach oraz dane profilu powiązane z Brazylią. Nie oznacza to jednak, że kampania była wymierzona w ten kraj. Dostarczanie pakietów przez npm i Discord ma globalny zasięg, a dalszy dobór celów oceniono jako przypadkowy. Overlord RAT pojawiał się także w innych kampaniach, między innymi wykorzystujących luki w WordPressie oraz fałszywy instalator Zoom dla macOS. Informacja pokazuje, że popularne pakiety i zależności powinny być traktowane jako element powierzchni ataku, a ich instalacja wymaga kontroli pochodzenia oraz zachowania skryptów uruchamianych automatycznie.