axios@1.14.1 Tedarik Zinciri Saldırısı: Şimdi Ne Yapmalı

Ashley Innocent

Ashley Innocent

2 April 2026

axios@1.14.1 Tedarik Zinciri Saldırısı: Şimdi Ne Yapmalı

Kurumsal Apidog

Şirket İçi Dağıtım

SSO & RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfet

TL;DR (Çok Uzun, Okumadım)

30-31 Mart 2026 tarihlerinde, axios'un 1.14.1 ve 0.30.4 sürümleri, npm üzerinde enfekte makinelerde uzaktan erişim truva atı (RAT) bırakan kötü amaçlı bir bağımlılıkla ele geçirildi. Her iki sürüm de yayından kaldırıldı. Güvenli sürüm 1.14.0'dır. Eğer axios@1.14.1 veya 0.30.4'ü yüklediyseniz, makineyi ele geçirilmiş kabul edin ve tüm kimlik bilgilerini derhal değiştirin.

Axios Nedir ve Neden Önemlidir?

Axios, npm üzerinde haftalık 100 milyon indirmeye sahiptir. Sayısız frontend çerçevesinde, backend Node.js hizmetlerinde ve kurumsal uygulamalarda HTTP istemcisidir. Bu kadar temel bir paketin ele geçirilmesi durumunda, etki alanı muazzamdır — 30-31 Mart'ta kısa bir zaman aralığında npm install komutunu çalıştıran geliştiriciler, farkında olmadan makinelerine kötü amaçlı yazılım indirmişlerdir.

Bu varsayımsal bir tedarik zinciri riski değildir. Gerçekleşti, doğrulandı ve yük ciddiydi: rastgele komutlar çalıştırabilen, sistem verilerini sızdırabilen ve enfekte makinelerde kalıcı olabilen çok aşamalı bir uzaktan erişim truva atı.

Ekibiniz axios kullanıyorsa ve HTTP istemci entegrasyonlarınızı tasarlamak ve test etmek için Apidog kullanıyorsanız, bir sonraki dağıtımınızdan önce bunu okuyun.

düğme

Saldırının Zaman Çizelgesi

30 Mart 2026 — 23:59:12 UTC: nrwise@proton.me kullanan bir hesap tarafından npm'e plain-crypto-js@4.2.1 adında kötü amaçlı bir paket yayınlanır. Daha önceki temiz bir sürüm (4.2.0), 18 saat önce meşru crypto-js kütüphanesinin ikna edici bir yazım hatası olarak yayınlanmıştı.

31 Mart 2026 — 00:05:41 UTC: Socket'in otomatik kötü amaçlı yazılım tespiti, yayınlanmasından altı dakika sonra plain-crypto-js@4.2.1'i kötü amaçlı olarak işaretler.

31 Mart 2026 — gece yarısından kısa bir süre sonra: axios@1.14.1, plain-crypto-js@4.2.1'i bağımlılık olarak çekerek npm'e yayınlanır. Sürüm, axios GitHub deposunun resmi etiketlerinde görünmez. En son meşru etiket v1.14.0 olarak kalır.

31 Mart 2026 — sabah: Hem axios@1.14.1 hem de axios@0.30.4'ün ele geçirildiğini bildiren #10604 numaralı GitHub sorunu herkese açık olarak açılır. Axios bakımcıları, başlangıçta saldırganın erişimini iptal edemediklerini doğrular — ele geçirilmiş hesap, meşru bakımcılardan daha yüksek npm izinlerine sahiptir.

31 Mart 2026: Hem axios@1.14.1 hem de axios@0.30.4, npm'den yayından kaldırılır. Axios bakımcıları, belirteçleri iptal etmeye, yayın kontrollerini sıkılaştırmaya ve yetkisiz yayın erişimi elde etmek için uzun süreli bir npm belirtecinin nasıl kullanıldığını araştırmaya başlar.

Saldırı Nasıl Gerçekleşti?

Saldırı, axios'un yayınlama iş akışındaki bir boşluğu kullandı: güvenilir yayınlama ile birlikte kullanılan uzun ömürlü bir npm belirteci. Saldırgan — muhtemelen bir bakımcının kimlik bilgilerini ele geçirdikten sonra — bu belirteci normal yayın sürecinin dışında yeni bir sürüm yayınlamak için kullandı.

Yeni sürüm, plain-crypto-js@4.2.1'i bağımlılık olarak tanıttı. Paket adı, meşru bir kriptografi yardımcı programı gibi görünmek üzere tasarlanmıştı; önceki temiz 4.2.0 sürümü, şüpheyi azaltmak için kısa bir geçmiş oluşturdu.

plain-crypto-js@4.2.1 içinde, Socket'in analizi çok aşamalı bir yük buldu:

  1. Aşama 1 — Çalıştırma: Paket, yükleme sırasında (npm yaşam döngüsü komut dosyaları aracılığıyla) ikincil bir yük bırakmak için kod çalıştırır.
  2. Aşama 2 — RAT dağıtımı: Yük, kalıcı bir arka kapı açan bir uzaktan erişim truva atı (RAT) kurar.
  3. Aşama 3 — Sızdırma: RAT, bir C2 sunucusundan gönderilen rastgele kabuk komutlarını çalıştırabilir, dosya sisteminden ortam değişkenlerini ve sırları okuyabilir ve sistem verilerini ağ üzerinden dışarı gönderebilir.

RAT, yeniden başlatmalar arasında kalıcıdır, yani ele geçirilmiş sürümü yükleyen makineler, RAT açıkça avlanıp kaldırılmadıkça, npm paketi kaldırıldıktan sonra bile risk altında kalmaya devam eder.

Etkilendim mi?

Şu durumlarda potansiyel olarak etkilendiniz:

Hemen kontrol edin:

# Yüklü sürümü kontrol edin
npm list axios

# Kilit dosyasını kontrol edin
grep '"axios"' package-lock.json | head -5

# plain-crypto-js varlığını kontrol edin
npm list plain-crypto-js
ls node_modules/plain-crypto-js 2>/dev/null && echo "INFECTED" || echo "Bulunamadı"

Eğer plain-crypto-js, node_modules içinde mevcutsa, kötü amaçlı sürümü çalıştırdınız demektir.

Şu Anda Ne Yapmalı?

1. Axios'u Hemen Güncelleyin

npm install axios@1.14.0
# veya en son güvenli sürüme sabitleyin
npm install axios@latest

Doğrulayın:

npm list axios
# 1.14.0 veya daha yüksek olmalı (temiz bir 1.14.x yayınlandığında)

2. Eğer Ele Geçirilmiş Sürümü Kurduysanız

Bunu rutin bir bağımlılık güncellemesi olarak görmeyin. Makineyi ele geçirilmiş olarak kabul edin:

3. CI/CD Boru Hatlarınızı Denetleyin

Eğer derleme boru hattınız bu zaman aralığında npm install çalıştırdıysa, CI ortamınız ele geçirilmiş olabilir. Kontrol edin:

# Etkilenen zaman dilimi için derleme günlüklerini kontrol edin
# Herhangi bir yükleme çıktısında axios@1.14.1'i arayın

# Mevcut CI node_modules'lerinin temiz olduğunu doğrulayın
npm list axios plain-crypto-js

CI boru hattınızın erişebildiği tüm sırları değiştirin: dağıtım anahtarları, bulut sağlayıcı kimlik bilgileri, kayıt defteri belirteçleri.

4. Kilit Dosyanızı Doğrulayın

Kilit dosyaları (package-lock.json, yarn.lock) tam sürümleri sabitlemelidir. Eğer kilit dosyanızda 1.14.1 varsa, yeniden oluşturun:

# Kaldırın ve yeniden oluşturun
rm package-lock.json
npm install

Taahhüt etmeden önce yeni kilit dosyasının axios'u güvenli bir sürüme çözümlediğini kontrol edin.

Axios API Çağrılarınızı Denetlemek İçin Apidog Kullanımı

API çağrılarınız için HTTP istemciniz olarak axios kullanıyorsanız, Apidog bağımlılık güncellemesinden sonra entegrasyonunuzun hala doğru istekleri gönderdiğini doğrulamanıza yardımcı olabilir.

axios@1.14.0'a güncelledikten sonra, mevcut API uç noktalarınızı Apidog'a aktarın ve davranışın değişmediğini doğrulamak için hızlı bir regresyon kontrolü çalıştırın. Bu, özellikle kötü amaçlı sürümün istek veya yanıt yüklerini kurcalamış olabileceği konusunda endişeleniyorsanız kullanışlıdır — Apidog'un yanıt onaylamaları, tam alan değerlerini, başlıkları ve durum kodlarını doğrulamanıza olanak tanır:

// Apidog yanıt sonrası onayı
pm.test("Yanıt temiz — enjekte edilmiş alan yok", () => {
    const body = pm.response.json();
    pm.expect(body).to.not.have.property('__injected');
    pm.expect(pm.response.headers.get('X-Injected-Header')).to.be.null;
});

Apidog'da güncellenmiş axios sürümüne karşı tam test paketini çalıştırmak, üretime geçmeden önce size belgelenmiş temiz bir temel sunar.

Apidog'u ücretsiz deneyin HTTP istemci regresyon testlerini kurmak için.

npm'deki Tedarik Zinciri Saldırılarını Durdurmak Neden Zor?

Axios saldırısı bir anormallik değil. Bu bir kalıp:

Ortak nokta: koda değil, yayıncı hesabına güven. npm'in modeli bakımcılara yayınlama erişimi verir ve bir bakımcının kimlik bilgileri ele geçirilirse, saldırgan bu güveni miras alır.

Gerçekten yardımcı olan hafifletmeler:

Önlem Ne İşe Yarar
Kilit dosyaları (package-lock.json) Tam sürümleri sabitler, sessiz yükseltmeleri önler
CI'da npm audit Dağıtımdan önce bilinen güvenlik açıklarını işaretler
Socket.dev / Snyk Davranışsal analiz — CVE'ler mevcut olmadan bile şüpheli paketleri işaretler
npm'de İki faktörlü kimlik doğrulama Kimlik bilgilerinin ele geçirilmesini zorlaştırır
Kısa ömürlü belirteçlerle npm publish Bir belirteç sızarsa maruz kalma süresini sınırlar
PR'lerde kilit dosyalarını okuyun Kod incelemesinde beklenmeyen bağımlılık değişikliklerini yakalayın

Axios ekibi, o zamandan beri uzun ömürlü npm belirteçlerinin sorunun bir parçası olduğunu kabul etti ve daha sıkı yayın kontrollerine geçiyor. Ancak çözümün sadece bireysel paketlerden değil, ekosistemden gelmesi gerekiyor.

Ele Geçirme Göstergeleri (IOC'ler)

Socket'in analizine göre:

Eğer enfeksiyondan şüpheleniyorsanız, security@npmjs.com adresinden npm güvenliğine bir rapor gönderin ve günlükleri saklayın.

Sonuç

axios 1.14.1'in ele geçirilmesi, bağımlılık güvenliğinin tek seferlik bir denetim olmadığını — sürekli bir süreç olduğunu hatırlatıyor. Sürümlerinizi kilitleyin, CI'ınızda Socket gibi davranışsal analiz araçları çalıştırın, bir şeyler ters gittiğinde kimlik bilgilerini değiştirin ve kod incelemenizde kilit dosyalarınızı gözden geçirmeye devam edin.

axios'u güncelledikten sonra API entegrasyonunuza olan güveni yeniden inşa etmeniz gerekiyorsa, Apidog, göndermeden önce HTTP istemci davranışınızı doğrulamak için test senaryoları, onaylamalar ve alay araçları sunar.

düğme

Sıkça Sorulan Sorular

Hangi axios sürümleri ele geçirildi?axios@1.14.1 ve axios@0.30.4. Her ikisi de npm'den yayından kaldırıldı. Güvenli sürüm 1.14.0'dır (veya 1.13.x, 1.12.x serilerindeki herhangi bir sürüm).

Kötü amaçlı axios yükü ne yapıyor?plain-crypto-js@4.2.1'i çekiyor ve bu da uzaktan erişim truva atı (RAT) içeren çok aşamalı bir yük dağıtıyor. RAT, uzaktaki bir C2 sunucusundan rastgele komutlar çalıştırabilir, ortam değişkenlerini ve sırları sızdırabilir ve yeniden başlatmalar arasında kalıcı olabilir.

Ele geçirilmiş sürümü kurup kurmadığımı nasıl anlarım?npm list axios komutunu çalıştırın — eğer 1.14.1 veya 0.30.4 gösteriyorsa, etkilendiniz. Ayrıca npm list plain-crypto-js komutunu kontrol edin — eğer bu paket mevcutsa, kötü amaçlı kod makinenizde çalışmıştır.

Sadece axios'u güncellemek yeterli mi?Hayır. Güncelleme, kötü amaçlı bağımlılığı ileride kaldırır, ancak RAT makineye zaten kurulmuş ve kalıcı olmuş olabilir. Eğer ele geçirilmiş sürümü kurduysanız, tüm sırları değiştirin ve makineyi kalıcılık mekanizmaları açısından denetleyin.

Saldırgan bir bakımcı olmadan npm'e nasıl yayın yapabildi?Saldırgan muhtemelen bir bakımcının kimlik bilgilerini ele geçirdi ve yayın erişimi olan uzun ömürlü bir npm belirtecini kullandı. Axios ekibi araştırıyor ve yayın kontrollerini sıkılaştırıyor.

Bu, normal bir güvenlik açığından ne farkı var?Bir güvenlik açığı, meşru koddaki bir kusurdur. Bir tedarik zinciri saldırısı, güvenilir bir yayın kanalı aracılığıyla kötü amaçlı kod tanıtır. Ele geçirilmiş kod asla axios GitHub deposunda değildi — doğrudan npm yayınına enjekte edildi.

Projelerimi gelecekteki tedarik zinciri saldırılarından nasıl koruyabilirim?Kilit dosyaları kullanın, CI'da npm audit çalıştırın, davranışsal analiz için Socket.dev gibi bir araç ekleyin, npm hesaplarında 2FA'yı etkinleştirin, kısa ömürlü yayın belirteçleri kullanın ve kod incelemesinde kilit dosya farklarınızı denetleyin.

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin