
Co znajdziesz w tym artykule?
Wprowadzenie do problemu / definicja
Ekosystem npm od lat pozostaje jednym z głównych celów ataków na łańcuch dostaw oprogramowania. Najnowszy incydent pokazuje jednak istotną zmianę: złośliwe pakiety zaczynają być projektowane nie tylko z myślą o klasycznych środowiskach deweloperskich, ale również o przestrzeniach roboczych używanych przez narzędzia AI wspierające programowanie.
W analizowanym przypadku pakiet podszywający się pod użyteczne narzędzie pomocnicze działał jak infostealer. Jego zadaniem było wyszukiwanie i kopiowanie plików z katalogu roboczego użytkownika, a następnie przesyłanie ich do repozytorium GitHub kontrolowanego przez operatora kampanii.
W skrócie
- Zidentyfikowano złośliwy pakiet npm o nazwie
mouse5212-super-formatter. - Malware próbował wykradać dane z katalogu
/mnt/user-data, kojarzonego z przestrzenią roboczą używaną przez narzędzia oparte na Claude. - Do eksfiltracji wykorzystywano API GitHub oraz repozytorium tworzone lub kontrolowane przez atakującego.
- Autor złośliwego pakietu popełnił błąd operacyjny i pozostawił w kodzie prywatny token GitHub, co ułatwiło analizę incydentu.
- Przypadek potwierdza, że ataki na software supply chain coraz częściej obejmują również środowiska AI-assisted development.
Kontekst / historia
Ataki na npm zwykle opierają się na dwóch modelach. Pierwszy to publikacja pakietów podszywających się pod legalne biblioteki, narzędzia pomocnicze lub wewnętrzne komponenty używane przez zespoły developerskie. Drugi polega na przejęciu zaufanych procesów publikacji i dostarczeniu złośliwej wersji legalnej paczki do szerokiego grona odbiorców.
W ostatnich latach cyberprzestępcy wielokrotnie wykorzystywali ten wektor do kradzieży sekretów, tokenów dostępowych, poświadczeń do chmury, danych CI/CD oraz konfiguracji repozytoriów. Nowy incydent wpisuje się w ten trend, ale rozszerza go o nowy cel: dane znajdujące się w katalogach roboczych narzędzi AI, które mogą zawierać kod, dokumentację, wyniki analiz, artefakty sesji lub inne wrażliwe informacje.
To ważna zmiana z perspektywy obrońców. Środowiska AI dla programistów są często postrzegane jako warstwa wspierająca pracę dewelopera, a nie pełnoprawny element powierzchni ataku. Tymczasem właśnie tam mogą trafiać materiały o wysokiej wartości biznesowej i technicznej.
Analiza techniczna
Złośliwy pakiet został przedstawiony jako pozornie nieszkodliwe narzędzie synchronizacji lub formatowania. Po instalacji uruchamiał jednak kod odpowiedzialny za eksfiltrację danych. Mechanizm działania przypominał klasyczne infostealery stosowane w kampaniach wymierzonych w developerów.
Malware uwierzytelniał się wobec GitHub przy użyciu tokenu pobranego ze środowiska lub osadzonego bezpośrednio w próbce. Następnie sprawdzał istnienie wskazanego repozytorium, tworzył je w razie potrzeby i rozpoczynał przesyłanie plików za pośrednictwem GitHub Contents API.
Szczególnym celem był katalog /mnt/user-data. To właśnie ten obszar miał zawierać dane przetwarzane przez środowiska Claude, takie jak pliki wejściowe, wyniki pracy, artefakty sesji lub inne zasoby robocze. W praktyce oznacza to, że autor malware świadomie obrał za cel przestrzeń, w której użytkownik może przechowywać informacje wykraczające poza standardowe repozytorium projektu.
Istotnym elementem było również maskowanie działania. Pakiet generował pozorne komunikaty diagnostyczne związane z siecią, co mogło sprawiać wrażenie normalnej aktywności administracyjnej lub operacyjnej. Taka technika utrudnia szybkie rozpoznanie zagrożenia i może opóźnić reakcję użytkownika.
Najbardziej charakterystycznym elementem incydentu okazał się błąd sprawcy. Pozostawienie aktywnego tokenu GitHub w kodzie umożliwiło badaczom prześledzenie infrastruktury eksfiltracji oraz sposobu składowania skradzionych danych. Choć wskazuje to na niski poziom dojrzałości operacyjnej operatora, sam schemat ataku pozostaje niebezpieczny i łatwy do powtórzenia przez bardziej kompetentnych przeciwników.
Konsekwencje / ryzyko
Ryzyko związane z tym incydentem wykracza poza standardową kradzież pojedynczych sekretów zapisanych w zmiennych środowiskowych. Jeżeli w katalogu roboczym AI znajdowały się fragmenty kodu źródłowego, pliki konfiguracyjne, historię promptów, dane testowe, raporty bezpieczeństwa albo dokumenty projektowe, wszystkie te materiały mogły zostać przesłane do zewnętrznego repozytorium bez wiedzy użytkownika.
Dla organizacji oznacza to możliwość wycieku własności intelektualnej, danych operacyjnych oraz poświadczeń zapisanych w artefaktach roboczych. Dodatkowo incydent podważa założenie, że katalogi używane przez narzędzia AI mają wyłącznie charakter tymczasowy i nie przechowują zasobów o wysokiej wartości.
Niepokojące jest również wykorzystanie GitHub jako kanału eksfiltracji. W wielu organizacjach ruch do popularnych usług deweloperskich i zaufanych platform SaaS nie jest traktowany jako anomalia. Dzięki temu atakujący może ukryć złośliwą aktywność w legalnie wyglądającym ruchu sieciowym, co utrudnia detekcję na poziomie monitoringu i kontroli dostępu.
Rekomendacje
Organizacje korzystające z npm oraz narzędzi AI wspierających programowanie powinny potraktować ten incydent jako sygnał ostrzegawczy i rozszerzyć model ochrony łańcucha dostaw.
- Ograniczyć wykonywanie skryptów instalacyjnych z niezaufanych pakietów oraz wdrożyć polityki dopuszczania zależności oparte na reputacji, pochodzeniu i kontroli integralności.
- Monitorować stacje deweloperskie oraz środowiska build pod kątem nietypowego odczytu plików z katalogów roboczych narzędzi AI.
- Minimalizować ilość wrażliwych danych przechowywanych w przestrzeniach roboczych agentów AI i traktować je jako obszary podwyższonego ryzyka.
- Wdrożyć detekcję dla nietypowego użycia GitHub API, w tym tworzenia repozytoriów i masowych operacji przesyłania treści.
- Regularnie rotować tokeny, rozdzielać konta publikacyjne od deweloperskich oraz stosować zasadę najmniejszych uprawnień.
- Przeglądać historię instalacji pakietów, logi EDR, aktywność proxy oraz artefakty CI/CD pod kątem obecności pakietu
mouse5212-super-formatterlub podobnych wzorców działania. - W przypadku podejrzenia uruchomienia paczki założyć kompromitację danych znajdujących się w katalogu roboczym i uruchomić standardowe procedury reagowania na incydenty.
Podsumowanie
Incydent z pakietem mouse5212-super-formatter pokazuje, że ataki na npm ewoluują wraz ze zmianą sposobu pracy programistów. Cyberprzestępcy przestają koncentrować się wyłącznie na klasycznych sekretach i coraz częściej interesują się danymi przetwarzanymi przez narzędzia AI.
Choć kampanię ułatwił błąd samego operatora malware, nie zmienia to znaczenia tego przypadku. Dla zespołów bezpieczeństwa jest to kolejny sygnał, że ochrona software supply chain musi obejmować nie tylko zależności, pipeline’y i sekrety, ale również środowiska AI oraz dane przetwarzane w ich katalogach roboczych.
Źródła
- Infosecurity Magazine — https://www.infosecurity-magazine.com/news/ai-npm-malware-leaks-github-token/
- PC Gamer — https://www.pcgamer.com/software/security/a-malware-dev-has-committed-a-magnificent-self-own-after-an-ai-coded-malicious-package-leaked-its-own-github-private-token/
- JFrog Security Research — https://research.jfrog.com/post/shai-hulud-here-we-go-again/
- Security Point Break — https://securitypointbreak.com/2026/05/27/malicious-npm-package-claude-ai-files/