Ataki na łańcuch dostaw Npm

Ataki na łańcuch dostaw NPM: największe incydenty i jak im zapobiegać

Szybka odpowiedź: Ataki na łańcuch dostaw NPM polegają na naruszeniu konta zaufanego administratora lub CI/CD token, publikując złośliwą wersję pakietu, któremu programiści już ufają, i pozwalając skryptom instalacyjnym lub logice robaka tego pakietu zająć się resztą. Między sierpniem 2025 a połową 2026 roku ten schemat wywołał największą falę ataków na łańcuch dostaw pakietów npm w historii rejestru, w tym przejęcie kontroli nad chalk/debug, Robak Shai-Huludi złośliwe oprogramowanie pochodzące od państw narodowych ukryte w pakiecie pobieranym 100 milionów razy tygodniowo. Rozwiązaniem nie jest skanowanie kodu po jego instalacji. Polega ono na wyłapywaniu złośliwych pakietów przed ich zainstalowaniem i obserwowaniu pipeline ze względu na dokładne wspólne zachowanie tych ataków.

Każda instalacja jest aktem zaufania i atakujący o tym wiedzą

Deweloper prowadzi npm zainstalowaćZa tym jednym poleceniem kryje się drzewo zależności składające się z setek, a czasem tysięcy pakietów, z których większość jest pisana i utrzymywana przez ludzi, których programista nigdy nie spotka. Nikt nie przegląda tego drzewa linia po linii. Nikt nie ma na to czasu.

To zaufanie jest celem ataku. Dla atakującego tańsze jest wyłudzenie danych od jednego administratora NPM z 2.6 miliarda pobrań tygodniowo niż znalezienie luki zero-day w zaporze sieciowej firmy z listy Fortune 500. Ataki na łańcuch dostaw NPM wykorzystują właśnie tę asymetrię, a fala z lat 2025-2026 pokazuje, jak daleko się ona rozprzestrzeniła: od odizolowane typosquatting do samorozmnażających się robaków które publikują własne złośliwe pakiety szybciej, niż jakikolwiek człowiek jest w stanie zareagować.

Co uznaje się za atak na łańcuch dostaw npm

Atak na łańcuch dostaw npm to każde zdarzenie, w którym atakujący wprowadza złośliwy kod do dystrybucji npm pipeline zamiast do własnej bazy kodu docelowego, dzięki czemu złośliwe oprogramowanie pojawia się pod przykrywką rutynowej aktualizacji zależności. Punktem wejścia jest zazwyczaj jedna z trzech rzeczy: skradzione dane uwierzytelniające administratora, skradzione dane publikacyjne lub CI/CD token lub skompromitowana kompilacja pipeline który zostaje oszukany i publikuje w imieniu atakującego. Ponieważ pakiety npm automatycznie pobierają zależności przechodnie, pojedynczy skompromitowany pakiet może dotrzeć do aplikacji, które nigdy nie zadeklarowały go jako bezpośredniej zależności.

Oś czasu: największe ataki na łańcuchy dostaw NPM w latach 2025–2026

Oś czasu ataków na łańcuch dostaw NPM
Oś czasu największych ataków na łańcuchy dostaw npm w latach 2025–2026 Osiem ataków na łańcuch dostaw npm od sierpnia 2025 r. do czerwca 2026 r. Kolor pomarańczowy oznacza samorozprzestrzeniające się kampanie robaków; szary oznacza naruszenia poświadczeń lub tokenów. Sierpnia 26, 2025 Kompromis NX/s1ngularity Skradziono token wydawniczy Września 8, 2025 przejęcie chalk/debug Konto administratora, które zostało wyłudzone Września 14, 2025 Robak Shai-Hulud Pierwszy samorozmnażający się robak Listopada 24, 2025 Shai-Hulud 2.0 Bardziej wymijająca odmiana robaka Mar 2026 Axios – złośliwe oprogramowanie dla państw narodowych Złośliwe oprogramowanie stanowe, 100 mln dl/tydzień kwiecień 2026 Kompromis SAP npm Enterprise- wzór robaka łuskowego 11 Maj 2026 TanStack CI/CD kompromis Kradzież tokenów CI, 84 wersje Czerwiec 1, 2026 Naruszenie przestrzeni nazw Red Hat Ważny SLSA, ale nadal złośliwy Samorozmnażający się robak Naruszenie poświadczeń lub tokenów
Osiem ataków na łańcuchy dostaw npm, od sierpnia 2025 r. do czerwca 2026 r. Kolor pomarańczowy oznacza samonapędzające się kampanie robaków.

Schemat leżący u podstaw każdego ataku na łańcuch dostaw pakietów npm

Jeśli odrzucimy szczegóły, okaże się, że niemal każdy opisany powyżej incydent przebiega według tych samych czterech kroków:

  • Narażaj tożsamość, nie system. Wyłudzony token użytkownika, wyciekły token npm, skradziony PAT GitHub lub wyciągnięty token OIDC CI/CD Pamięć biegacza. Atakujący nie łamie rejestru. Pożycza do niego czyjś klucz.
  • Publikuj pod nazwą, której twórcy gier już ufają. Nie jest wymagane literowanie, gdy prawdziwa nazwa pakietu działa. To właśnie sprawia, że ​​te ataki są tak skuteczne w walce z automatycznymi aktualizacjami. pipelines: aktualizacja wygląda na całkowicie legalną.
  • Uruchom zanim ktokolwiek to sprawdzi. Złośliwe skrypty instalacyjne, zaciemnione ładunki lub uśpiony kod, który uruchamia się tylko w określonych warunkach, są wykonywane w momencie npm zainstalować uruchamia się, często na laptopie programisty, na długo zanim zaplanowane skanowanie bezpieczeństwa mogłoby go wykryć.
  • Trwać i coraz bardziej się rozprzestrzeniać. Shai-Hulud i jego potomkowie wykorzystują skradzione dane uwierzytelniające, aby automatycznie publikować kolejny zatruty pakiet, zmieniając pojedyncze naruszenie w reakcję łańcuchową obejmującą cały graf zależności.

Dlaczego zwykłe obrony nie dają rady

Większość narzędzi AppSec została stworzona do analizy tego, co już znajduje się w repozytorium: znanych luk CVE, statycznych wzorców kodu, problemów z licencjami. Jest to konieczne, ale strukturalnie dociera za późno w przypadku tej klasy ataków. Zanim skaner wykryje zależność, skrypt instalacyjny mógł już zostać wykonany na komputerze programisty. Tradycyjne programy antywirusowe i EDR monitorują system operacyjny, a nie rejestry pakietów, więc nie rozumieją pojęcia „nowej wersji npm” jako jednostki ryzyka. Jak pokazują incydenty TanStack i Red Hat, nawet atesty integralności kompilacji, takie jak SLSA provenance nie pomagają, gdy atakujący legalnie przejął tożsamość osoby, która złożyła podpis: podpis jest ważny, ale pakiet nadal jest złośliwy.

Luka, którą wykorzystują ataki na łańcuchy dostaw npm, występuje szczególnie w momencie publikacji i instalacji, zanim powstanie sygnatura złośliwego oprogramowania i zanim pakiet zostanie uruchomiony gdziekolwiek, gdzie mógłby go wykryć tradycyjny skaner.

Jak powstrzymać kolejny atak na łańcuch dostaw npm

Część z tych działań stanowi dyscyplinę procesową, którą każdy zespół inżynierski może wdrożyć już dziś:

  • Zależności pinów i commit pliki blokujące, więc automatyczna aktualizacja nie może po cichu zainstalować właśnie opublikowanej złośliwej wersji.
  • Wyłącz lub przeprowadź test skryptów poinstalacyjnych domyślnie; większość pakietów nie musi wykonywać dowolnego kodu w momencie instalacji.
  • Wymuś sprzętowe uwierzytelnianie wieloskładnikowe (MFA) dla kont publikujących npm, zamykając dokładną ścieżkę phishingu, która umożliwiła naruszenie bezpieczeństwa kont chalk, debug i Qix.
  • Zakres i obrót CI/CD tokeny agresywniei traktować tokeny OIDC w pamięci modułu wykonawczego jako poświadczenie warte ochrony, a nie szczegół implementacji.
  • Zwróć uwagę na schemat odblokowania-wstrzyknięcia-ponownego zablokowania in CI/CD:wyłączona reguła ochrony gałęzi, commit wciśnięty, reguła ponownie włączona, wszystko w krótkim czasie. To powtarzający się znak pipelinekompromis w zakresie łańcucha dostaw.

Gdzie kończy się dyscyplina procesowa

Dyscyplina procesowa zmniejsza ryzyko. Nie wychwytuje złośliwego pakietu w momencie jego opublikowania ani robaka, który już rozprzestrzenia się w grafie szybciej, niż człowiek jest w stanie go zidentyfikować. To właśnie ta warstwa stanowi podstawę bezpieczeństwa łańcucha dostaw firmy Xygeni.

Xygeni'ego MEW (wczesne ostrzeganie przed złośliwym oprogramowaniem) nieprzerwanie analizuje nowe pakiety publikowane w npm, PyPI i Maven, wykrywając złośliwe oprogramowanie przed powstaniem sygnatury, a nie po jej powstaniu, i przesyłając potwierdzone zagrożenia z powrotem do Xygeni'ego własny silnik detekcji. Zapora zależności skanuje npm, PyPI, Maven, NuGet i RubyGems w czasie rzeczywistym i blokuje złośliwe instalacje zanim dotrą one do komputera dewelopera lub kompilacji. CI/CD wykrywanie anomalii zegarki pipelines dokładnie dla wzorca zachowań leżącego u podstaw incydentów takich jak włamanie do TanStack, w tym sekwencji odblokowania-wstrzyknięcia-ponownego zablokowania, z pełnym śladem audytu. A ponieważ Xygeni Triaż i naprawa wspomagane sztuczną inteligencją dotyczy to również ustaleń pochodzących ze skanerów innych firm, zespoły nie muszą usuwać istniejących narzędzi, aby wypełnić tę lukę.

FAQ: ataki na łańcuch dostaw npm

Czym jest atak na łańcuch dostaw npm?

Jest to atak, w którym złośliwy kod dociera do aplikacji docelowej za pośrednictwem zaufanej zależności npm, a nie za pośrednictwem własnego kodu aplikacji docelowej, zwykle dlatego, że atakujący naruszył konto osoby utrzymującej, token publikacji lub CI/CD pipelinetożsamość.

Jaki był największy atak na łańcuch dostaw npm?

Pod względem zasięgu, atak typu chalk/debug z września 2025 roku należy do największych: 18 pakietów o łącznej liczbie 2.6 miliarda pobrań tygodniowo zostało przejętych za pośrednictwem jednego konta administratora, które padło ofiarą phishingu. Shai-Hulud, będąc nowinką techniczną, był ważniejszym punktem zwrotnym, jako pierwszy samonapędzający się robak w historii npm.

Jak zazwyczaj rozpoczyna się atak na łańcuch dostaw pakietów npm?

Prawie zawsze z ukradzioną tożsamością: przez phishingowego administratora, wyciekły token publikacji lub skradziony CI/CD poświadczenie, takie jak token OIDC pobrany z pamięci użytkownika, a nie włamanie techniczne do samego npm.

Czy oprogramowanie antywirusowe lub EDR może powstrzymać atak na łańcuch dostaw npm?

Niezawodny. EDR monitoruje system operacyjny i nie rozpoznaje rejestrów pakietów, a program antywirusowy opiera się na sygnaturach, co uniemożliwia jego ochronę przed złośliwym oprogramowaniem opublikowanym przed powstaniem jakiejkolwiek sygnatury. Zatrzymanie tej klasy ataków wymaga monitorowania w momencie publikacji i instalacji, a nie tylko w punkcie końcowym.

Czy SLSA provenance lub zbudować atest, aby temu zapobiec?

To dowodzi pipeline Sam w sobie nie został naruszony podczas kompilacji. Nie dowodzi to jednak, że tożsamość, która uruchomiła kompilację, nie została naruszona, co pokazały incydenty TanStack i Red Hat z ważnymi atestami dołączonymi do złośliwych pakietów.

W jaki sposób zespół może wykryć złośliwy pakiet npm zanim zostanie zainstalowany?

Poprzez ciągłą analizę złośliwego oprogramowania przed podpisaniem go w nowo opublikowanych pakietach, co jest zadaniem systemu wczesnego ostrzegania przed złośliwym oprogramowaniem i zapory zależności, zamiast polegać wyłącznie na post-hoc skanowaniu podatności kodu, który już znajduje się w repozytorium.

Gdzie zacząć

Ataki na łańcuch dostaw NPM nie zwalniają tempa, a trend od czasu Shai-Huluda wskazuje na większą, a nie mniejszą automatyzację. Zespoły najlepiej przygotowane do kolejnej kampanii to te, które przestały traktować każdą instalację NPM jako rutynowe zdarzenie i zaczęły monitorować rejestr. pipeline, a punkt końcowy jako jedna połączona powierzchnia ataku.

Plan deweloperski Xygeni obejmuje ochronę MEW i Dependency Firewall dla maksymalnie 25 repozytoriów bezpłatnie. To rozsądne miejsce, aby zobaczyć, co już znajduje się w drzewie zależności.

sca-tools-oprogramowanie-narzędzia-analizy-kompozycji
Określ priorytety, rozwiąż problemy i zabezpiecz zagrożenia związane z oprogramowaniem
Załóż darmowe konto.
Nie wymagamy karty kredytowej.

Zabezpiecz swoje oprogramowanie i dostarczanie

z pakietem produktów Xygeni