- Mi történt az Axios npm-támadás során?
- Hogyan vált a package.json fájl egyetlen sora a támadási felületévé
- Miért nem derült fény az Axios elleni támadásra a hagyományos kódfelülvizsgálat során?
- Miért terjed a robbanás hatótávolsága a csomag által érintett teljes területre?
- Milyen biztonsági intézkedések változtatták volna meg a kimenetelt
- További információkSupply Chain Software Supply Chain áról
- Gyakran ismételt kérdések
Az NPM-csomagok eltérítése olyan szoftverellátási lánc elleni támadás, amely a csomag iránti bizalmat használja fel támadási útvonalnak. A támadóknak nem kell módosítaniuk a tároló kódját, ha ellenőrzésük alatt tartják a csomagot közzétevő fiókot.
Éppen ez teszi a megbízható npm-csomagokat olyan hatékony támadási felületté. Ha egy karbantartói fiókot feltörnek, az érintett csomagot telepítő minden projekt veszélybe kerülhet egy szokásos függőségfrissítés során. A 2026 márciusában történt Axios-incidens jól példázza, hogy egy feltört npm-fiók hogyan tehetett kockázatnak ki több mint 100 millió heti letöltést anélkül, hogy az axios forráskódjában bármilyen látható változás történt volna.
Ha megértjük, hogyan működik az npm-csomagok eltérítése, a biztonsági csapatok olyan ellenőrző mechanizmusokat tudnak kidolgozni, amelyek a támadás tényleges útját célozzák meg, nem pedig csupán a forrásfájlokat, amelyeket a legtöbb csapat ellenőriz.
Mi történt az Axios npm-támadás során?
Az Axios npm-támadás során a támadó átvette az egyik karbantartó fiókját, és egy megbízható csomagot rosszindulatú szoftverek terjesztésére szolgáló eszközzé alakított. A támadó feltörte az Axios fő karbantartójának npm-fiókját, a regisztrált e-mail-címet egy általa ellenőrzött címre módosította, és kizárta a jogos karbantartót.
A támadás előre megtervezett és szándékos volt. Körülbelül 18 órával a kártékony kód aktiválása előtt egy álcsomagot tettek közzé, amely így közzétételi előzményeket hozott létre anélkül, hogy az azonnal gyanút keltett volna. Ezt követően körülbelül 39 perc alatt a támadó két rosszindulatú verziót tett közzé: az axios 1.14.1-et a modern kiadási ágra, valamint az axios 0.30.4-et a régi ágra.
Mindkét kiadási ágat egyszerre tették közzé a lehető legnagyobb elérhetőség érdekében. Ez a döntés növelte annak valószínűségét, hogy mind a jelenlegi, mind a régebbi rendszerek a szokásos frissítési folyamat során letöltsék a fertőzött csomagot.
Hogyan vált a package.json fájl egyetlen sora a támadási felületévé
A package.json fájlban végrehajtott egyetlen függőségmódosítás is elegendő lehet ahhoz, hogy egy npm-ellátási lánc elleni támadás teljes támadási útvonalát képezze. Az Axios-incidens során nem kellett módosítani az Axios forrásfájljait, mivel a rosszindulatú viselkedés egy új függőség beépítésével valósult meg.
Ez a függőség egy npm postinstall hookon keresztül futott le. Amint egy fejlesztői munkaállomás, CI/CD-folyamat vagy fordítási rendszer végrehajtotta az npm install parancsot, a rosszindulatú csomag kapcsolatba léphetett a támadó által irányított szerverrel, letölthette az operációs rendszerre szabott kártékony kódot, és megkezdhette annak futtatását.
A kártékony kódokat macOS, Windows és Linux rendszerekre készítették el. A támadás tervezésénél fogva több platformon is működött. A futtatás után a dropper eltüntette a nyomait, és a valódi package.json fájlt egy hamisított változatra cserélte, ami jelentősen megnehezítette a későbbi nyomozati vizsgálatot.
Miért nem derült fény az Axios elleni támadásra a hagyományos kódfelülvizsgálat során?
A hagyományos kódfelülvizsgálat célja a kódtárban végrehajtott forráskód-módosítások ellenőrzése, de ez a támadási út nem az Axios forráskódjában volt megtalálható. Az Axios elleni támadás nem a kódtárban látható módosításokra épült, mivel a rosszindulatú logika nem az Axios forráskódjában, hanem egy különálló függőségben volt elhelyezve.
Ez a különbség fontos. A csomagfrissítést áttekintő felhasználó alig látna mást, mint egy új függőségi sort a package.json fájlban. A tényleges rosszindulatú viselkedés csak akkor jelentkezett, amikor a függőséget feloldották és telepítették.
Éppen ezért a megbízható csomagokkal végrehajtott támadásokat nehéz kiszűrni pusztán diff-alapú ellenőrzéssel. A támadási útvonal a legtöbb csapat által vizsgált forrásfájlokon kívül helyezkedik el, annak ellenére, hogy a csomag továbbra is elég hitelesnek tűnik ahhoz, hogy átjusson a szokásos fejlesztési munkafolyamatokon.
Miért terjed a robbanás hatótávolsága a csomag által érintett teljes területre?
Egy sérült npm-csomag hatóköre nem maga a csomag. A hatókör mindazt foglalja magában, amivel a csomag kapcsolatba kerül.
A legtöbb szervezet esetében ez magában foglalja a magasabb jogosultságokkal rendelkező CI/CD-folyamatokat, az SSH-kulcsokkal és felhőalapú tokenekkel ellátott fejlesztői végpontokat, az artefakt-tárolókhoz írási hozzáféréssel rendelkező összeállítási szervereket, valamint a termelési rendszerekhez kapcsolódó telepítési eszközöket. Egy rosszindulatú csomagnak nem kell feltétlenül a függőségi fa struktúráján belül maradnia ahhoz, hogy kárt okozzon. Csak egy megbízható végrehajtási pontra van szüksége.
Éppen ezért az Axios-incidens jelentősége túlmutat a JavaScript-csomagok kezelésén. A telepítés utáni támadás egy egyszerű telepítési műveletet hitelesítő adatok ellopásához, oldalirányú mozgáshoz vagy a rendszer alatti infrastruktúrához való hozzáféréshez vezethet.
Az Axios elleni támadás által feltárt rendszerbeli hiányosságok
Az Axios-incidens rávilágított a modern szoftverfejlesztési környezetekben általánosan előforduló strukturális hiányosságokra. Ezek nem ritka, szélsőséges esetek, hanem számos szervezetben bevett gyakorlatnak számítanak.
A csomagkarbantartók személyazonosságába vetett bizalom
Az npm-csomagok megbízhatósága gyakran a csomagot közzétevő karbantartói fiókhoz kötődik. Ha ezt a fiókot ellopják vagy adathalász támadás áldozatává válik, a támadó ugyanazokat a közzétételi jogosultságokat kapja meg, mint a jogos karbantartó.
A függőségek verzióinak rugalmas kezelése
A lebegő vagy laza rögzítésű verziók növelik a rosszindulatú kiadásoknak való kitettséget. Egy újonnan közzétett, megfertőzött verzió szándékos jóváhagyási lépés nélkül is automatikusan bekerülhet a rendszerbe.
Telepítés utáni, felügyelet nélküli szkriptek
Az npm postinstall szkriptek tetszőleges kódot futtathatnak a telepítési folyamat jogosultságaival. Számos szervezet nem ellenőrzi és nem korlátozza az életciklus-szkripteket azok futtatása előtt.
CI/CD-folyamatok korlátozott futásidejű láthatósággal
A CI/CD-folyamatok gyakran széles körű hozzáférést biztosítanak a belső rendszerekhez, a fejlesztési infrastruktúrához és a felhőalapú környezetekhez. Ezeket a folyamatokat alapértelmezés szerint gyakran megbízhatónak tekintik, és telepítéskor ritkán ellenőrzik, hogy a csomagok nem tartalmaznak-e rosszindulatú elemeket.
A teljes biztonsági lefedettség határain kívül eső fejlesztői végpontok
A fejlesztői gépeken nagy értékű adatok tárolódnak, például SSH-kulcsok, felhőszolgáltatásokhoz szükséges hitelesítő adatok és vállalati tokenek. A fejlesztői végpontok emellett gyakori támadási célpontok, mivel ezeknél általában kevesebb a felügyelet és kevesebb a futásidejű ellenőrzés, mint a termelési rendszerek esetében.
Hitelesítőadat-tárolók gyors cserét kiváltó események nélkül
A szoftverellátási láncot érintő támadások gyakran a hitelesítő adatok kiszivárgásához vezetnek. Számos csapat még mindig nem rendelkezik olyan megbízható munkafolyamatokkal, amelyek felismerik a potenciálisan veszélybe került titkos adatokat, és azokat azonnal lecserélik.
Milyen biztonsági intézkedések változtatták volna meg a kimenetelt
Háromféle biztonsági ellenőrzési intézkedés jelentősen csökkentette volna az Axios elleni támadás hatását. Mindegyik intézkedés a támadási lánc egy-egy különböző pontjára irányul: a csomagok végrehajtására, a hitelesítő adatok nyilvánosságra kerülésére és a függőségek láthatóságára.
1. A telepítés előtti, csomagszintű rosszindulatú programok ellenőrzése
A csomagszintű rosszindulatú programok ellenőrzése segít megakadályozni a káros függőségek futtatását még azok végrehajtása előtt. Ez az npm-támadások esetében különösen fontos, mivel a telepítés utáni hookok már a telepítés során futnak, így a csomag letöltése után alig marad idő a kézi ellenőrzésre.
A csomagok, a függőségek és az életciklus-parancsfájlok telepítés előtti ellenőrzése lehetővé teszi az ismert rosszindulatú programok, a gyanús viselkedésformák, a biztonsági rések és a rögzített titkos adatok felismerését, még mielőtt a csomag eljutna a fejlesztői végponthoz vagy a CI/CD-környezetbe.
MetaDefender Software Supply ChainOPSWATszoftverellátási lánc biztonsági megoldása, amely szoftverkomponensek, beszállítók és fejlesztési folyamatok validálására szolgál. Többmotoros fenyegetésérzékelést alkalmaz, beleértve a több mint 30 víruskereső motoron futó Metascan többszörös szkennelést, hogy a csomagokat még a fejlesztési életciklusba való belépésük előtt ellenőrizze rosszindulatú programok, sebezhetőségek és hardveresen kódolt titkos adatok szempontjából.
2. Proaktív titkok kezelése rotációs eseményekkel
A proaktív titkok kezelése csökkenti a sikeres támadásból származó hasznot. Ha gyanús csomagot azonosítanak, a csapatoknak olyan reagálási eljárásra van szükségük, amely a helyi hitelesítő adatokat, az SSH-kulcsokat, a tokeneket és a folyamatokhoz tartozó titkokat potenciálisan veszélybe kerültnek tekinti, és azokat gyorsan lecseréli.
A rögzített titkos adatok felderítése ugyanezt a célt szolgálja. Egy rosszindulatú csomag ugyan ellophat titkos adatokat a memóriából vagy a merevlemezről, de a kódban vagy a függőségekben már eleve jelen lévő, nyilvánvaló titkos adatok egy további, megelőzhető kockázati tényezőt jelentenek.
3. Supply Chain és a függőségek nyomon követése
Az ellátási lánc átláthatósága segít a csapatoknak abban, hogy felismerjék a csomagokban bekövetkező váratlan változásokat, mielőtt azok a rendszer későbbi szakaszában problémákat okoznának. A biztonsági csapatoknak tudniuk kell, hogy mely csomagok vannak telepítve, mely verziók vannak rögzítve, milyen új függőségek jelentek meg, és hol futnak ezek a komponensek.
A függőségek láthatósága és figyelemmel kísérése nélkül a támadás első jele a hitelesítő adatokkal való visszaélés vagy az infrastruktúra helytelen használata lehet, miután az eredeti telepítési esemény már rég a múlté.
További információkSupply Chain Software Supply Chain áról

Software lánc biztonsága attól függ, hogy a csomagokat futtatás előtt ellenőrizzük-e, figyelemmel kísérjük-e az új függőségeket, valamint csökkentjük-e a hitelesítő adatok kiszivárgásának kockázatát, amely egy csomag megsértése esetén fennáll.
Nézze meg az on-demand webináriumot:Supply Chain – A támadók által kihasznált gyenge pontok
Gyakran ismételt kérdések
Mi az az npm-ellátási lánc elleni támadás?
Az npm-ellátási lánc elleni támadás során a támadók a szokásos szoftverfejlesztési tevékenységek során rosszindulatú kódot juttatnak be az npm ökoszisztémába. A támadók ezt általában úgy érik el, hogy feltörnek egy karbantartói fiókot, megtévesztő csomagot tesznek közzé, vagy rosszindulatú kódot építenek be olyan függőségekbe, amelyeket a fejlesztők és a CI/CD-rendszerek automatikusan telepítenek.
Hogyan sikerült a támadóknak feltörniük az Axios npm-csomagot?
A támadók feltörték az axios fő karbantartójának npm-fiókját, és a kiadási jogosultságokat kihasználva rosszindulatú verziókat tettek közzé mind az 1.x, mind a 0.x kiadási ágon. A támadók emellett a fiók e-mail címét is egy általuk ellenőrzött címre módosították, ami segített nekik megtartani az irányítást a csomag felett.
Mit tett az Axios elleni támadásban használt kártevő szoftver?
Az Axios elleni támadásban használt kártevő egy telepítés utáni hookot használt, amely az npm install parancs végrehajtása közben aktiválódott. A hook kapcsolatba lépett egy támadó által irányított szerverrel, letöltött egy távoli hozzáférést biztosító trójai programot macOS, Windows vagy Linux rendszerhez, elindította azt, majd megkísérelte eltüntetni a nyomokat azáltal, hogy a csomag metaadatait hamis tartalommal cserélte ki.
Miért nem derült ki az Axios ellátási láncát érintő támadás a kódfelülvizsgálat során?
A kódfelülvizsgálat nem fedezte fel az Axios elleni támadást, mivel a rosszindulatú logika nem az Axios forráskódjában került beépítésre. A leltárszinten látható változás csupán egy függőségi bejegyzés volt a package.json fájlban, míg a tényleges kártevő szoftvert egy külső csomag révén juttatták be, amely a forráskód-felülvizsgálat szokásos hatókörén kívül esett.
Hogyan tudják a szervezetek a telepítés előtt felismerni a rosszindulatú npm-csomagokat?
A szervezetek a telepítés előtt felismerhetik a rosszindulatú npm-csomagokat, ha a csomagok tartalmát, a függőségi fákat és az életciklus-parancsfájlokat a végrehajtás előtt átvizsgálják. A hatékony ellenőrzési mechanizmusok ötvözik a rosszindulatú programok ellenőrzését, a függőségek elemzését, a szabályok betartatását és a CI/CD-integrációt, így a gyanús csomagok még mielőtt eljutnának a fejlesztői vagy a build-környezetekbe, blokkolhatók.
Megakadályozza-e a verzió rögzítése az npm ellátási láncát érintő támadásokat?
A verzió rögzítése csökkenti az újonnan megjelenő rosszindulatú verzióknak való kitettséget, mivel korlátozza az automatikus frissítéseket. A verzió rögzítése nem szünteti meg az ellátási lánc kockázatait, mivel a rögzített verzió már kompromittálódhatott, vagy más bizalmi problémák is fennállhatnak. A verzió rögzítése a leghatékonyabban az integritás-ellenőrzéssel, a csomagok vizsgálatával és a futásidejű ellenőrzésekkel kombinálva működik.
