
Co znajdziesz w tym artykule?
Wprowadzenie do problemu / definicja
Ataki na łańcuch dostaw oprogramowania należą dziś do najpoważniejszych zagrożeń dla firm rozwijających i utrzymujących aplikacje. W najnowszym incydencie dotyczącym ekosystemu npm złośliwe aktualizacje pakietów powiązanych z Mastra AI zostały przypisane przez Microsoft grupie Sapphire Sleet, znanej również jako BlueNoroff. Sprawa pokazuje, że konta maintainerów oraz popularne biblioteki open source pozostają atrakcyjnym celem dla zaawansowanych grup sponsorowanych przez państwa.
W skrócie
Microsoft ocenił z wysokim poziomem pewności, że kompromitacja pakietów Mastra AI w repozytorium npm była dziełem północnokoreańskiej grupy Sapphire Sleet. Napastnicy przejęli konto maintainera z uprawnieniami publikacyjnymi, a następnie opublikowali złośliwe aktualizacje dla ponad 140 pakietów. Kampania była ukierunkowana na kradzież poświadczeń, tokenów, kluczy API oraz danych związanych z portfelami kryptowalutowymi.
- przejęto konto maintainera odpowiedzialne za publikację pakietów,
- skażono ponad 140 pakietów powiązanych z zakresem @mastra,
- wykorzystano typosquatting w postaci zależności „easy-day-js”,
- malware działał na Windows, Linux i macOS,
- celem była kradzież sekretów i aktywów cyfrowych.
Kontekst / historia
Łańcuch dostaw npm od lat znajduje się pod presją kampanii wymierzonych w programistów, pipeline’y CI/CD oraz organizacje intensywnie korzystające z komponentów open source. Model oparty na dużej liczbie zależności i szybkim publikowaniu nowych wersji sprzyja nadużyciom, szczególnie gdy atakującym uda się przejąć konto z prawami maintainera.
W omawianym przypadku wcześniejsze ustalenia wskazywały na przejęcie konta npm maintainera i wykorzystanie go do publikacji skażonych wydań. Późniejsza analiza telemetryczna, infrastruktury oraz stosowanych technik pozwoliła Microsoftowi powiązać kampanię z Sapphire Sleet. To istotne, ponieważ grupa ta od lat jest kojarzona z operacjami nastawionymi na zysk finansowy, zwłaszcza w obszarze kryptowalut, oraz z zaawansowanymi działaniami socjotechnicznymi.
Analiza techniczna
Punktem wejścia miało być przejęcie konta maintainera „ehindero”, które posiadało uprawnienia do publikacji pakietów powiązanych z Mastra. Po uzyskaniu dostępu napastnicy opublikowali złośliwe aktualizacje dla szerokiego zestawu pakietów, rozszerzając zasięg incydentu na środowiska deweloperskie i buildowe korzystające z automatycznych aktualizacji zależności.
Kluczowym elementem kampanii było dodanie złośliwej zależności o nazwie „easy-day-js”, podszywającej się pod legalną bibliotekę „dayjs”. Taka technika typosquattingu wykorzystuje podobieństwo nazw oraz zaufanie programistów do popularnych komponentów JavaScript. Po instalacji pakietu uruchamiany był mechanizm postinstall, który wykonywał zaciemniony skrypt pełniący rolę droppera.
Według analizy technicznej dropper wyłączał weryfikację certyfikatów TLS, komunikował się z infrastrukturą sterującą napastników, pobierał ładunek kolejnego etapu i uruchamiał go jako ukryty, odłączony proces. Drugi etap stanowił międzyplatformowy stealer przeznaczony dla systemów Windows, Linux i macOS.
Złośliwe oprogramowanie zbierało informacje o hoście, historię przeglądarek, listę zainstalowanych aplikacji oraz uruchomionych procesów. Szczególnie niepokojący był moduł wyszukujący rozszerzenia portfeli kryptowalutowych w przeglądarkach. Tego typu funkcjonalność wskazuje, że kampania była ukierunkowana nie tylko na klasyczną kradzież poświadczeń, ale również na bezpośrednie przejęcie dostępu do aktywów cyfrowych.
W obszarze utrzymania dostępu malware stosował techniki zależne od systemu operacyjnego. Na Windows wykorzystywano klucze Run w rejestrze, na macOS mechanizmy LaunchAgents, a na Linuksie usługi systemd. Microsoft zaobserwował również aktywność następczą obejmującą użycie tylnej furtki PowerShell, dodatkowe mechanizmy persistence, wykluczenia w rozwiązaniach ochronnych oraz złośliwą usługę Windows działającą z wysokimi uprawnieniami.
Konsekwencje / ryzyko
Znaczenie incydentu wykracza daleko poza pojedynczy projekt. Naruszenie zaufanego kanału dystrybucji pakietów oznacza, że ofiarami mogą paść zarówno indywidualni deweloperzy, jak i przedsiębiorstwa automatycznie pobierające aktualizacje zależności. Jeśli celem są poświadczenia, tokeny dostępu i klucze API, ryzyko szybko rozszerza się na repozytoria kodu, chmury publiczne, systemy CI/CD oraz środowiska produkcyjne.
Szczególnie narażone są organizacje tworzące rozwiązania Web3, fintech i SaaS, a także wszystkie podmioty przechowujące sekrety w środowiskach deweloperskich. Kradzież portfeli kryptowalutowych i tokenów autoryzacyjnych może prowadzić do bezpośrednich strat finansowych, przejęcia kont usługowych, manipulacji kodem oraz dalszego rozprzestrzeniania się ataku w modelu supply chain.
Dodatkowym problemem jest wieloplatformowość malware. Współczesne zespoły programistyczne często pracują równolegle na Windows, macOS i Linuksie, dlatego jedno złośliwe wydanie może zagrozić dużej części organizacji. Ponadto wykorzystanie legalnego procesu instalacji pakietów utrudnia szybkie wykrycie incydentu, zwłaszcza jeśli firma nie monitoruje skryptów postinstall i ruchu wychodzącego z maszyn deweloperskich.
Rekomendacje
Organizacje korzystające z npm powinny jak najszybciej ustalić, czy w ich środowiskach pojawiły się skażone wersje pakietów Mastra lub odwołania do „easy-day-js”. Konieczna jest weryfikacja historii instalacji, logów buildów i artefaktów CI/CD, aby określić rzeczywisty zakres ekspozycji.
- unieważnić i zrotować tokeny npm, klucze API, sekrety CI/CD oraz poświadczenia przechowywane na stacjach deweloperskich,
- wymusić ponowne uwierzytelnienie dla kont uprzywilejowanych i zresetować aktywne sesje,
- przeanalizować ruch sieciowy pod kątem połączeń z nieautoryzowaną infrastrukturą,
- sprawdzić mechanizmy persistence w Windows, macOS i Linuksie,
- przeskanować hosty pod kątem nietypowych procesów potomnych uruchamianych podczas instalacji pakietów.
W dłuższej perspektywie warto wdrożyć praktyki ograniczające ryzyko kompromitacji łańcucha dostaw.
- ograniczać lub blokować wykonywanie skryptów postinstall tam, gdzie to możliwe,
- stosować pinowanie wersji i korzystać z zatwierdzonych mirrorów pakietów,
- wymuszać MFA dla maintainerów oraz kont publikacyjnych,
- monitorować nowe wersje zależności pod kątem anomalii,
- wdrożyć SBOM i kontrole integralności komponentów,
- segmentować środowiska deweloperskie od krytycznych zasobów produkcyjnych,
- wykorzystywać EDR lub XDR do obserwacji procesów uruchamianych przez menedżery pakietów.
Zespoły SOC powinny przygotować reguły detekcyjne dla nietypowego użycia PowerShell, modyfikacji ustawień TLS, tworzenia kluczy Run, LaunchAgents oraz usług systemd inicjowanych po instalacji zależności developerskich.
Podsumowanie
Atak na łańcuch dostaw Mastra AI pokazuje, że przejęcie pojedynczego konta maintainera może doprowadzić do szerokiej kompromitacji całego ekosystemu pakietów. Atrybucja Microsoftu wskazująca na Sapphire Sleet wzmacnia ocenę, że kampanie supply chain są coraz częściej wykorzystywane do operacji finansowych i kradzieży aktywów kryptowalutowych. Z perspektywy bezpieczeństwa kluczowe pozostają kontrola zależności, ochrona kont publikacyjnych, monitoring aktywności postinstall oraz szybka rotacja sekretów po wykryciu nawet częściowej ekspozycji.