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ć
Authorizationnagłó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.




