- Axios'un npm Saldırısında Neler Oldu?
- package.json Dosyasındaki Tek Bir Satır Nasıl Saldırı Vektörü Haline Geldi?
- Geleneksel Kod İncelemesi Neden Axios Saldırısını Tespit Edemedi?
- Patlama yarıçapı neden paketin temas ettiği her şeyi kapsıyor?
- Hangi güvenlik önlemleri sonucu değiştirebilirdi?
- Software Supply Chain Hakkında Daha Fazla Bilgi Edinin
- Sıkça Sorulan Sorular
NPM paketi ele geçirme, bir pakete duyulan güveni saldırı yoluna dönüştüren bir yazılım tedarik zinciri saldırısıdır. Saldırganlar, paketi yayınlayan hesabı kontrol edebiliyorlarsa, depo kodunu değiştirmelerine gerek kalmaz.
İşte bu yüzden güvenilir npm paketleri bu kadar güçlü bir saldırı yüzeyi oluşturur. Bir bakımcı hesabı ele geçirildiğinde, etkilenen paketi yükleyen her proje, rutin bir bağımlılık güncellemesi yoluyla tehlikeye girebilir. Mart 2026’daki Axios olayı, ele geçirilen tek bir npm hesabının, axios kaynak kodunda gözle görülür bir değişiklik yapmadan haftalık 100 milyondan fazla indirmeyi nasıl riske atabileceğini göstermiştir.
npm paket kaçırma saldırılarının nasıl işlediğini anlamak, güvenlik ekiplerinin çoğu ekibin yalnızca incelediği kaynak dosyalar yerine, gerçek saldırı yolunu ele alan önlemler oluşturmasına yardımcı olur.
Axios'un npm Saldırısında Neler Oldu?
Axios npm saldırısı, güvenilir bir paketi kötü amaçlı yazılım dağıtım aracına dönüştüren bir bakımcı hesabı ele geçirme olayıydı. Saldırgan, Axios'un baş bakımcısının npm hesabını ele geçirdi, kayıtlı e-posta adresini saldırganın kontrolündeki bir adrese değiştirdi ve asıl bakımcının hesaba erişimini engelledi.
Saldırı, önceden planlanmış ve kasıtlı bir şekilde gerçekleştirildi. Yük etkinleştirilmeden yaklaşık 18 saat önce bir tuzak sürümü yayınlandı; bu sayede, hemen şüphe uyandırmadan bir yayın geçmişi oluşturuldu. Ardından, saldırgan yaklaşık 39 dakika içinde iki kötü amaçlı sürümü yayına sundu: modern sürüm dalı için axios 1.14.1 ve eski sürüm dalı için axios 0.30.4.
Her iki sürüm dizisi de görünürlüğü en üst düzeye çıkarmak amacıyla aynı anda yayınlandı. Bu karar, hem mevcut hem de eski ortamların standart güncelleme prosedürüyle virüslü bir paketi indirmesi olasılığını artırdı.
package.json Dosyasındaki Tek Bir Satır Nasıl Saldırı Vektörü Haline Geldi?
package.json dosyasındaki tek bir bağımlılık değişikliği, bir npm tedarik zinciri saldırısında tüm saldırı yolunu oluşturabilir. Axios olayında, kötü niyetli davranış yeni bir bağımlılık aracılığıyla eklenmiş olduğundan, hiçbir Axios kaynak dosyasının değiştirilmesine gerek kalmamıştır.
Bu bağımlılık, bir npm postinstall kancası aracılığıyla çalıştırıldı. Bir geliştirici iş istasyonu, CI/CD ardışık düzeni veya derleme sistemi npm install komutunu çalıştırır çalıştırmaz, kötü amaçlı paket saldırganın kontrolündeki bir sunucuya bağlanabilir, işletim sistemine özgü bir yükü alabilir ve çalıştırmaya başlayabilirdi.
Yükler macOS, Windows ve Linux için hazırlandı. Saldırı, tasarım gereği platformlar arasıydı. Çalıştırıldıktan sonra, dropper kendi izlerini sildi ve gerçek package.json dosyasını sahte bir sürümle değiştirdi; bu da daha sonraki adli incelemeyi çok daha zor hale getirdi.
Geleneksel Kod İncelemesi Neden Axios Saldırısını Tespit Edemedi?
Geleneksel kod incelemesi, bir depo içindeki kaynak kodu değişikliklerini denetlemek üzere tasarlanmıştır; ancak bu saldırı yolu Axios kaynak kodunda yer almıyordu. Axios saldırısı, görünür depo değişikliklerine dayanmıyordu; çünkü kötü niyetli mantık, Axios kaynak kodunda değil, ayrı bir bağımlılıkta bulunuyordu.
Bu fark önemlidir. Paket güncellemesine bakan bir denetçi, package.json dosyasında yeni bir bağımlılık satırından başka pek bir şey göremez. Asıl zararlı davranış, ancak bağımlılık çözümlenip yüklendiğinde ortaya çıkıyordu.
Bu nedenle, güvenilir paket saldırılarını yalnızca diff tabanlı incelemeyle tespit etmek zordur. Saldırı yolu, çoğu ekibin incelediği kaynak dosyaların dışında yer alır; oysa paket, rutin geliştirme iş akışlarından geçebilecek kadar meşru görünmeye devam eder.
Patlama yarıçapı neden paketin temas ettiği her şeyi kapsıyor?
Güvenliği ihlal edilmiş bir npm paketinin etki alanı, paketin kendisi değildir. Etki alanı, paketin temas ettiği her şeydir.
Çoğu kuruluş için bu, yüksek izinlere sahip CI/CD boru hatlarını, SSH anahtarları ve bulut jetonları içeren geliştirici uç noktalarını, yapı depolarına yazma erişimi olan derleme sunucularını ve üretim sistemlerine bağlı dağıtım araçlarını kapsamaktadır. Kötü niyetli bir paketin zarar verebilmesi için bağımlılık ağacının içinde kalması gerekmez. Tek ihtiyacı olan, güvenilir bir yürütme noktasıdır.
İşte bu yüzden Axios olayı, JavaScript paket yönetiminin ötesinde bir öneme sahip. Kurulum sonrası gerçekleşen bir güvenlik ihlali, normal bir kurulum işlemini kimlik bilgilerinin çalınmasına, sistem içinde yayılmaya veya alt altyapıya erişime dönüştürebilir.
Axios Saldırısının Ortaya Çıkardığı Yapısal Zayıflıklar
Axios olayı, modern yazılım geliştirme ortamlarında yaygın olarak görülen yapısal zayıflıkları ortaya çıkardı. Bunlar nadir görülen istisnai durumlar değil; birçok kuruluşta yaygın olarak kabul gören varsayımlardır.
Paket Sorumlusu Kimliklerine Güven
npm paketine verilen güven genellikle paketi yayınlayan bakımcı hesabına bağlıdır. Bu hesap çalınırsa veya kimlik avına uğrarsa, saldırgan meşru bakımcıyla aynı yayınlama yetkisini devralır.
Değişken Bağımlılık Sürümleri
Yüzen veya gevşek bir şekilde sabitlenmiş sürüm yelpazeleri, kötü niyetli sürümlerin yayılmasına yol açar. Yeni yayınlanan bir güvenliği ihlal edilmiş sürüm, kasıtlı bir onay adımı olmaksızın ortama otomatik olarak girebilir.
Kurulum Sonrası İzlenmeyen Komut Dosyaları
npm postinstall komut dosyaları, kurulum işleminin izinleriyle rastgele kod çalıştırabilir. Birçok kuruluş, yaşam döngüsü komut dosyalarını çalıştırılmadan önce denetlemiyor veya kısıtlamıyor.
Çalışma Süresi Görünürlüğü Sınırlı CI/CD İş Akışları
CI/CD boru hatları genellikle şirket içi sistemlere, derleme altyapısına ve bulut ortamlarına geniş erişim hakkına sahiptir. Bu boru hatları genellikle varsayılan olarak güvenilir kabul edilir ve kurulum sırasında zararlı paket davranışları açısından nadiren izlenir.
Tam güvenlik kapsamı dışındaki geliştirici uç noktaları
Geliştirici makineleri, SSH anahtarları, bulut kimlik bilgileri ve kurumsal jetonlar gibi yüksek değerli varlıkları barındırır. Geliştirici uç noktaları, üretim sistemlerine kıyasla daha az görünürlük ve daha az çalışma zamanı denetimine sahip olabileceğinden, sıklıkla saldırı hedefleri haline gelir.
Hızlı Döndürme Tetikleyicisi Olmayan Kimlik Bilgisi Depoları
Bir yazılım tedarik zinciri saldırısı, genellikle kimlik bilgilerinin sızmasına yol açar. Hâlâ pek çok ekip, potansiyel olarak sızma riski taşıyan gizli bilgileri tespit edip bunları derhal değiştiren güvenilir iş akışlarına sahip değildir.
Hangi güvenlik önlemleri sonucu değiştirebilirdi?
Üç farklı güvenlik kontrolü kategorisi, Axios saldırısının etkisini önemli ölçüde azaltabilirdi. Her bir kontrol, saldırı zincirinin farklı bir aşamasını ele almaktadır: paket yürütme, kimlik bilgilerinin açığa çıkması ve bağımlılık görünürlüğü.
1. Yükleme Öncesi Paket Düzeyinde Kötü Amaçlı Yazılım Taraması
Paket düzeyinde kötü amaçlı yazılım taraması, zararlı bağımlılıkların çalıştırılmadan önce engellenmesine yardımcı olur. Bu, npm saldırılarında önemlidir; zira kurulum sırasında kurulum sonrası kancalar çalışır ve bu da paket indirildikten sonra manuel inceleme için çok az zaman bırakır.
Yükleme öncesinde paketleri, bağımlılıkları ve yaşam döngüsü komut dosyalarını taramak, paket bir geliştirici uç noktasına veya CI/CD ortamına ulaşmadan önce bilinen kötü amaçlı yazılımları, şüpheli davranışları, güvenlik açıklarını ve sabit kodlanmış gizli bilgileri tespit etmeyi sağlar.
MetaDefender Software Supply Chain , yazılım bileşenlerini, tedarikçileri ve derleme boru hatlarını doğrulamak için OPSWATsunduğu bir yazılım tedarik zinciri güvenlik çözümüdür. 30’dan fazla antivirüs motorunda Metascan çoklu taraması da dahil olmak üzere çoklu motorlu tehdit algılama özelliğini kullanarak, paketlerin geliştirme döngüsüne girmeden önce kötü amaçlı yazılım, güvenlik açıkları ve sabit kodlanmış gizli bilgilere karşı taranmasını sağlar.
2. Döngü Tetikleyicileriyle Proaktif Şifre Yönetimi
Proaktif gizli bilgi yönetimi, bir güvenlik ihlalinin etkisini azaltır. Şüpheli bir paket tespit edildiğinde, ekipler yerel kimlik bilgilerini, SSH anahtarlarını, jetonları ve iş akışı gizli bilgilerini potansiyel olarak açığa çıkmış kabul eden ve bunları hızla yenileyen bir müdahale planına ihtiyaç duyar.
Sabit kodlanmış gizli bilgilerin tespiti de aynı amacı destekler. Kötü niyetli bir paket, bellekten veya diskten gizli bilgileri çalabilir; ancak kodda veya bağımlılıklarda halihazırda bulunan ve açığa çıkmış gizli bilgiler, önlenebilir bir risk katmanı daha oluşturur.
3. Supply Chain ve Bağımlılık İzleme
Tedarik zinciri görünürlüğü, ekiplerin beklenmedik paket değişikliklerini, bu değişiklikler daha sonraki aşamalarda sorunlara dönüşmeden önce tespit etmelerine yardımcı olur. Güvenlik ekipleri, hangi paketlerin yüklü olduğunu, hangi sürümlerin sabitlendiğini, hangi yeni bağımlılıkların ortaya çıktığını ve bu bileşenlerin nerede çalıştığını bilmelidir.
Bağımlılık görünürlüğü ve izleme olmadan, sistemin ele geçirildiğinin ilk işareti, ilk kurulumun üzerinden uzun zaman geçtikten sonra kimlik bilgilerinin kötüye kullanılması veya altyapının suistimal edilmesi şeklinde ortaya çıkabilir.
Software Supply Chain Hakkında Daha Fazla Bilgi Edinin

Software zinciri güvenliği, paketlerin çalıştırılmadan önce incelenmesine, yeni bağımlılıkların izlenmesine ve bir paketin ele geçirilmesinin ardından ortaya çıkan kimlik bilgilerinin açığa çıkma riskinin azaltılmasına bağlıdır.
İsteğe bağlı web seminerini izleyin:Software Supply Chain — Saldırganların İstismar Ettiği Zayıf Halkalar
Sıkça Sorulan Sorular
npm tedarik zinciri saldırısı nedir?
Bir npm tedarik zinciri saldırısı, normal yazılım geliştirme faaliyetleri sırasında npm ekosistemi aracılığıyla kötü amaçlı kodun yayılmasıdır. Saldırganlar bunu genellikle bir bakımcı hesabını ele geçirerek, aldatıcı bir paket yayınlayarak ya da geliştiricilerin ve CI/CD sistemlerinin otomatik olarak yüklediği bağımlılıklara kötü amaçlı davranışlar ekleyerek gerçekleştirir.
Saldırganlar Axios npm paketini nasıl ele geçirdi?
Saldırganlar, Axios'un baş geliştiricisinin npm hesabını ele geçirdiler ve bu yayınlama erişimini kullanarak hem 1.x hem de 0.x sürüm dallarında kötü amaçlı sürümler yayınladılar. Saldırganlar ayrıca hesap e-posta adresini kendilerinin kontrolündeki bir adrese değiştirdiler; bu da paket üzerindeki kontrolünü sürdürmelerine yardımcı oldu.
Axios saldırısındaki kötü amaçlı yazılım ne yaptı?
Axios saldırısında kullanılan kötü amaçlı yazılım, npm install işlemi sırasında çalışmak üzere bir kurulum sonrası kanca (hook) kullandı. Bu kanca, saldırganın kontrolündeki bir sunucuya bağlandı, macOS, Windows veya Linux için bir uzaktan erişim truva atı indirdi, bunu çalıştırdı ve ardından paket meta verilerini sahte içerikle değiştirerek izleri silmeye çalıştı.
Kod incelemesi neden Axios’un tedarik zinciri saldırısını tespit edemedi?
Axios saldırısı, kötü niyetli kod Axios kaynak koduna eklenmediği için kod incelemesi sırasında tespit edilemedi. Görünen depo düzeyindeki değişiklik, package.json dosyasındaki bir bağımlılık girdisiydi; oysa asıl kötü amaçlı yazılım, kaynak kodu incelemesinin normal kapsamı dışındaki harici bir paket aracılığıyla dağıtılmıştı.
Kuruluşlar, kötü amaçlı npm paketlerini yüklemeden önce nasıl tespit edebilir?
Kuruluşlar, paket içeriğini, bağımlılık ağaçlarını ve yaşam döngüsü komut dosyalarını çalıştırılmadan önce tarayarak, kötü amaçlı npm paketlerini yüklemeden önce tespit edebilir. Etkili denetimler, kötü amaçlı yazılım taraması, bağımlılık analizi, politika uygulamasını ve CI/CD entegrasyonunu bir araya getirir; böylece şüpheli paketler, geliştirici veya derleme ortamlarına ulaşmadan engellenebilir.
Sürüm sabitleme, npm tedarik zinciri saldırılarını önler mi?
Sürüm sabitleme, otomatik güncellemeleri sınırlandırdığı için yeni yayınlanan kötü amaçlı sürümlerin oluşturduğu riski azaltır. Sürüm sabitleme, tedarik zinciri riskini ortadan kaldırmaz; zira sabitlenen sürüm halihazırda güvenliği ihlal edilmiş olabilir veya başka güven sorunları hala mevcut olabilir. Sürüm sabitleme, bütünlük doğrulama, paket denetimi ve çalışma zamanı denetimleriyle birleştirildiğinde en etkili sonuçları verir.
