Kompromis Axios npm

Naruszenie Axios npm: co się stało, kogo dotyczy i jak temu zapobiec

TL; DR

Kompromis Axios npm pokazuje jak nowoczesne ataki na łańcuchy dostaw wykorzystać zaufane zależności, aby uzyskać dostęp do poufnych danych w czasie wykonywania. Incydent ten został przeanalizowany przez wielu badaczy bezpieczeństwa, w tym szczegółowe zestawienia z Unit42 relacje branżowe podkreślające wzorce atrybucji powiązane z działalnością państwa.

To zdarzenie dotyczy:

  • Zespoły DevOps działające CI/CD pipelinez uwierzytelnianiem opartym na środowisku
  • Usługi zaplecza obsługujące uwierzytelnione żądania API
  • Aplikacje wykorzystujące Axios do wewnętrznej i zewnętrznej komunikacji HTTP

Ponieważ Axios znajduje się na warstwie żądań, skompromitowana wersja może uzyskać dostęp do:

  • Nagłówki autoryzacji i Tokeny API
  • Zmienne środowiskowe i sekrety
  • Komunikacja wewnętrzna usług

Prawdziwym skutkiem nie jest sama zależność, lecz to, do czego można uzyskać dostęp po jej wykonaniu.

Działania natychmiastowe:

  • Zablokuj wersje zależności i przejrzyj ostatnie aktualizacje
  • Rotacja kluczy API, tokenów i CI/CD kwalifikacje
  • Monitoruj żądania wychodzące i aktywność uwierzytelniania
  • Audyt pipelines dla ujawnionych sekretów

Co się wydarzyło podczas ataku Axios npm

Incydent związany z Axios wpisuje się w coraz częstszy trend ataków na łańcuchy dostaw, w których atakujący mają na celu wykorzystanie powszechnie stosowanych zależności zamiast luk w zabezpieczeniach aplikacji.

Poprzez naruszenie bezpieczeństwa zaufanego pakietu atakujący mogą wykonywać swoje zadania w tysiącach środowisk jednocześnie.

Ponieważ axios jest jednym z najczęściej używanych klientów HTTP w ekosystemie JavaScript, jest on głęboko zintegrowany z:

  • Usługi zaplecza
  • Aplikacje front-end
  • CI/CD pipelines

To sprawia, że ​​jest to cel o dużej wartości.

Po wprowadzeniu i uruchomieniu złośliwej wersji dziedziczy ona te same uprawnienia, co aplikacja, która ją zaimportowała. Obejmuje to dostęp do ruchu sieciowego, danych uwierzytelniających i usług wewnętrznych.

Kompromis ten zyskał również szerszą uwagę poza społecznością zajmującą się bezpieczeństwem, czego dowodem są raporty takie jak Axios pokrycie 
wskazując na możliwe powiązania z zaawansowanymi aktorami zagrożeń i skoordynowanymi kampaniami.

 

Co atak Axios faktycznie robi w czasie wykonywania

Kluczem do zrozumienia tego ataku jest skupienie się na zachowaniu w czasie wykonywania.

Axios działa na warstwie HTTP, co oznacza, że ​​obsługuje żądania wychodzące. Zapewnia to bezpośredni wgląd w wrażliwe dane przepływające przez aplikację.

Zagrożona wersja może:

  • Przechwytuj żądania wychodzące przed ich wysłaniem
  • Zdobyć Authorization nagłówki i tokeny API
  • Dostęp do zmiennych środowiskowych za pomocą process.env
  • Obserwuj komunikację między usługami wewnętrznymi

Na przykład złośliwy przechwytywacz może wyodrębnić nagłówki uwierzytelniające i po cichu przesłać je do zewnętrznego punktu końcowego.

Jednocześnie dostęp do zmiennych środowiskowych pozwala atakującym na uzyskanie danych uwierzytelniających bez konieczności modyfikowania logiki aplikacji.

Z zewnątrz wszystko nadal działa zgodnie z oczekiwaniami. Żądania są realizowane pomyślnie, usługi odpowiadają normalnie, a pipelines nie wykazują oznak awarii. Jednocześnie wrażliwe dane mogą już zostać ujawnione poprzez ścieżki wykonywania w tle.

 

Schemat ataku na Axios: od skompromitowanego pakietu do ujawnienia poufnych informacji

1. Kompromis

Atakujący przejmuje kontrolę nad zaufanym kontem opiekuna lub ścieżką udostępniania pakietów w ekosystemie Axios.

2. Dystrybucja

Złośliwe wersje są publikowane w npm i pobierane na komputery programistów, CI/CD pipelines, a aplikacja jest kompilowana poprzez normalne aktualizacje zależności.

3. Wykonywanie w czasie wykonywania

Ładunek jest wykonywany po zaimportowaniu i użyciu pakietu axios, dziedzicząc te same uprawnienia środowiska uruchomieniowego, co aplikacja.

4. Tajny dostęp

Naruszona zależność umożliwia wgląd w nagłówki, tokeny, zmienne środowiskowe i wewnętrzną komunikację HTTP.

5. Eksfiltracja

Dane wrażliwe są po cichu wysyłane do infrastruktury kontrolowanej przez atakującego, podczas gdy pierwotne żądania działają normalnie.

Wskaźniki kompromisu (IoC)

Aby zbadać potencjalne narażenie, zespoły powinny zacząć od analizy znanych wskaźników związanych z naruszeniem bezpieczeństwa Axios. Poniższa tabela podsumowuje najistotniejsze sygnały dotyczące pakietów, aktywności sieciowej i artefaktów hosta.

Jak interpretować te wskaźniki ryzyka

Choć wskaźniki te są przydatne, nie należy ich traktować jako kompletnej strategii wykrywania.

W praktyce ataki tego typu rzadko opierają się na pojedynczym, statycznym sygnale. Domeny zmieniają się, ładunki ewoluują, a skróty szybko stają się nieaktualne. Spójne pozostaje jednak zachowanie.

Na przykład nieoczekiwane żądania wychodzące podczas normalnego wykonywania protokołu HTTP mogą wskazywać na wyciek danych. Podobnie, użycie prawidłowych danych uwierzytelniających w nietypowych kontekstach często sygnalizuje, że poufne dane zostały już ujawnione.

Na poziomie hosta obecność tymczasowych skryptów lub plików binarnych może wskazywać na aktywność następczą, zwłaszcza w połączeniu z anomaliami sieciowymi.

Innymi słowy, wskaźniki zagrożenia pomagają potwierdzić incydent.

Jednak zrozumienie zachowania pozwala na jego wczesne wykrycie.

Kategoria Wskaźnik Szczegóły
Pakiet axios@1.14.1 szasum: 2553649f2322049666871cea80a5d0d6adc700ca
Pakiet axios@0.30.4 szasum: d6f3f62fd3b9f5432f5782b62d8cfd5247d5ee71
Zależność plain-crypto-js@4.2.1 szasum: 07d889e2dadce6f3910dcbc253317d28ca61c766
Sieć sfrclak[.]com Domena dowodzenia i kontroli
Sieć 142.11.206[.]73 Powiązana infrastruktura IP
Sieć http://sfrclak[.]com:8000/6202033 Obserwowany punkt końcowy eksfiltracji
macOS /Library/Caches/com.apple.act.mond SHA256: 92ff08773995ebc8d55ec4b8e1a225d0d1e51efa4ef88b8849d0071230c9645a
Windows %PROGRAMDATA%\wt.exe Potencjalny artefakt trwałości
Windows %TEMP%\6202033.vbs Artefakt wykonania oparty na skrypcie
Windows %TEMP%\6202033.ps1 Ładunek programu PowerShell. SHA256: 617b67a8e1210e4fc87c92d1d1da45a2f311c08d26e89b12307cf583c900d101
Linux /tmp/ld.py SHA256: fcb81618bb15edfdedfb638b4c08a2af9cac9ecfa551af135a8402bf980375cf

Notatka z dochodzenia: Te wskaźniki IoC stanowią użyteczny punkt wyjścia do poszukiwania zagrożeń. Atakujący mogą jednak szybko rotować domenami, ładunkami i artefaktami. Z tego powodu zespoły powinny korelować te wskaźniki z sygnałami behawioralnymi, takimi jak nieoczekiwany ruch wychodzący HTTP, anomalie dostępu do process.envi nietypowych aktualizacji zależności.

Przykład: W jaki sposób zagrożona zależność Axios npm może wykraść dane

Aby zrozumieć, jak atak Axios npm działa w praktyce, rozważmy uproszczony przykład.

Axios umożliwia programistom definiowanie przechwytywaczy żądań. Przechwytywacze te są uruchamiane automatycznie przed każdym żądaniem HTTP.

Złośliwa wersja axios może nadużywać tego mechanizmu:

Dlaczego atak Axios npm jest niebezpieczny

Na pierwszy rzut oka nic nie wskazuje na problem. Żądanie zostało wykonane pomyślnie, aplikacja zachowuje się zgodnie z oczekiwaniami, a pipelines nadal przebiega bez błędów.

Jednak krytyczne szczegóły pojawiają się przed wysłaniem żądania. W tym czasie wykonania zagrożona zależność może dyskretnie uzyskać dostęp i gromadzić poufne dane, takie jak nagłówki autoryzacji, tokeny API, metadane żądania i zmienne środowiskowe.

Ponieważ ta logika działa w zaufanej bibliotece, która znajduje się bezpośrednio na ścieżce żądania HTTP, działa ona z tymi samymi uprawnieniami co sama aplikacja. W rezultacie może uzyskać dostęp do danych, które normalnie byłyby chronione przed atakami z zewnątrz.

To, co czyni to szczególnie niebezpiecznym, to nie tylko dostęp do danych, ale także brak widocznych efektów. Nie ma żadnych zakłóceń w funkcjonowaniu, nieudanych żądań ani natychmiastowego sygnału, że coś jest nie tak. Z operacyjnego punktu widzenia wszystko nadal działa zgodnie z oczekiwaniami.

W międzyczasie poufne informacje mogą już opuszczać system za pośrednictwem połączeń wychodzących, które przenikają się ze zwykłym ruchem aplikacji.

Dlaczego jest to problem DevOps? Po pierwsze

Dla zespołów DevOps ten rodzaj ataku jest szczególnie trudny do wykrycia, ponieważ płynnie integruje się z istniejącymi przepływami pracy.

Zależności są instalowane automatycznie, pipelines są wykonywane normalnie i nie występują żadne natychmiastowe błędy.

W tym samym czasie, CI/CD środowiska często ujawniają wartościowe referencje, w tym:

  • Tokeny dostawcy chmury
  • Klucze wdrożeniowe
  • CI/CD sekrety uwierzytelniania

Zagrożona zależność uruchomiona w tym kontekście może uzyskać bezpośredni dostęp do tych poświadczeń.

Tworzy to sytuację, w której wszystko wydaje się normalne, podczas gdy w tle ma miejsce dostęp do poufnych danych.

Prawdziwe ryzyko: tajne ujawnienie na dużą skalę

Kompromis Axios npm uwydatnia istotną zmianę w nowoczesnych strategiach ataków.

Celem nie jest już wykorzystywanie luk w zabezpieczeniach, lecz uzyskiwanie dostępu do ważnych danych uwierzytelniających.

Ponieważ współczesne systemy opierają się na uwierzytelnianiu środowiskowym, zależność uruchomiona w czasie wykonywania może uzyskać dostęp do:

  • Klucze API
  • Tokeny usługowe
  • Poświadczenia w chmurze

Tych danych uwierzytelniających nie trzeba łamać.

Trzeba ich tylko używać.

Umożliwia to atakującym poruszanie się w sposób boczny, uzyskiwanie dostępu do usług i wyodrębnianie danych przy użyciu legalnego uwierzytelniania.

W rezultacie skutki ataku zależą od tego, jakie sekrety zostaną ujawnione, a nie od tego, w jaki sposób zostanie przeprowadzony atak.

Dlaczego tradycyjne narzędzia bezpieczeństwa tego nie potrafią

Tradycyjne podejścia mają trudności z wykrywaniem tych ataków, ponieważ koncentrują się na znanych lukach lub statycznych sygnaturach. Jednakże, jak podkreślono w Analiza OpenAI w przypadku włamania do narzędzia programistycznego Axios, prawdziwe ryzyko pojawia się w czasie wykonywania, gdy zaufane zależności wchodzą w interakcję z poufnymi danymi.

Jednakże naruszona zależność może nie zawierać żadnych oczywistych wskaźników.

Może być:

  • Brak CVE
  • Brak złośliwego podpisu
  • Brak nieprawidłowej składni

Jednocześnie analiza statyczna nie ocenia zachowania w czasie wykonywania. Nie jest w stanie określić, jak zależność wchodzi w interakcję z poufnymi danymi po wykonaniu.

Tworzy to lukę, w której kod wydaje się bezpieczny podczas analizy, ale staje się ryzykowny podczas wykonywania.

Jak wykrywać i zapobiegać atakom typu npm na platformę Axios

Aby zapobiec tego typu atakom Axios npm, konieczne jest przejście od statycznej inspekcji do świadomości środowiska wykonawczego.

Zespołom potrzebna jest widoczność zachowań zależności, a nie tylko ich zawartości.

Zadania Rady Doradczej obejmują:

  • Monitorowanie dostępu do poufnych danych w czasie wykonywania
  • Wykrywanie sekretów zanim dotrą do repozytoriów
  • Skanowanie pipelinei artefakty dla ujawnionych danych uwierzytelniających
  • Obserwowanie aktywności sieci wychodzącej pod kątem anomalii

Jednak samo wykrycie nie wystarczy.

Od wykrywania do zapobiegania: co faktycznie zmniejsza ryzyko

Po takim incydencie zespoły często muszą stawić czoła dużej liczbie potencjalnie ujawnionych danych.

Wyzwaniem nie jest ich znalezienie. Wyzwaniem jest zidentyfikowanie tych, które są ważne.

Kluczowe pytanie brzmi:

Które sekrety są nadal ważne i możliwe do wykorzystania?

Bez weryfikacji zespoły spędzają czas na nieaktywnych danych uwierzytelniających, podczas gdy realne zagrożenia pozostają otwarte.

Skuteczna reakcja wymaga:

  • Wykrywanie ujawnionych sekretów
  • Sprawdzanie, czy nadal udzielają dostępu
  • Szybkie ich odwoływanie lub obracanie

Skraca to czas narażenia i ogranicza okno atakującego.

Jak Xygeni pomaga zmniejszyć ryzyko w łańcuchu dostaw

Xygeni rozwiązuje ten problem, łącząc wykrywanie, weryfikację i naprawę w jednym przepływie pracy.

Ciągle identyfikuje ujawnione sekrety w kodzie, pipelinei artefakty. Jednocześnie weryfikuje, czy te dane uwierzytelniające są nadal aktywne w środowisku.

Dzięki temu zespoły mogą skupić się na tym, co atakujący faktycznie mogą wykorzystać.

Po zidentyfikowaniu aktywnych sekretów zautomatyzowane procesy naprawcze pomagają skrócić czas ich ujawnienia poprzez ich unieważnienie lub kontrolowaną rotację.

W rezultacie reakcja staje się szybsza i bardziej przewidywalna.cisi mniej uciążliwe.

Wniosek

Kompromis Axios npm odzwierciedla sposób, w jaki ewoluują ataki na łańcuchy dostaw.

Atakujący nie muszą już łamać systemów. Polegają na zaufanych zależnościach, aby uzyskać dostęp do poufnych danych podczas wykonywania kodu.

Dla zespołów DevOps oznacza to zrozumienie zachowania środowiska wykonawczego. Dla liderów ds. bezpieczeństwa oznacza to szybkie i skuteczne ograniczanie narażenia.

Ponieważ w nowoczesnym środowisku największym ryzykiem nie jest to, co zostanie wykonane.

To jest to, do czego uzyskujemy dostęp po uruchomieniu.

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