· kaynak dev.to (home feed)
2026'da ele geçirilen paketlerin yüzde 70'i tek günlük bir npm bekleme süresiyle engellenebilirdi
OSV uyarı verilerine dayanan bir dev.to analizi, tek günlük bir npm yayınlama bekleme süresinin 2026'daki ele geçirilmiş sürümlerin yüzde 70'ini engelleyeceğini, typosquat paketlerin ise yedi günlük bekleye bile dayandığını ortaya koyuyor.

Analiz neyi ölçtü
2026 yılına ait kötü niyetli paket uyarıları üzerinden yapılan bir dev.to analizi, release cooldown savunmasına somut rakamlar kazandırıyor: N günden genç paket sürümlerini reddeden bir kurulum ayarı. Yazar, npm ve PyPI için OSV'nin toplu uyarı dışa aktarımlarını çekti, 1 Ocak ile 24 Ekim 2026 arasında yayımlanan kötü amaçlı yazılım uyarılarını tuttu ve geri çekilen kayıtları eledi. Geriye 12.820 npm ve 1.545 PyPI uyarısı kaldı. Her paket için, ilk kötü niyetli sürümün yayınlanma zamanı ile uyarının yayımlanması arasındaki boşluğu ölçtüler; ardından 1, 3, 7 veya 14 günlük bir bekleme süresinin bunu engelleyip engellemeyeceğini kontrol ettiler.
Ele geçirilen paketler saatler içinde tespit ediliyor
Ele geçirilmiş olarak sınıflandırılan — kötü niyetli sürümden önce temiz sürümleri olan, aslen meşru projeler — 1.336 npm paketi için medyan tespit penceresi 4,9 saatti. Tek günlük bir bekleme süresi bunların yüzde 70,4'ünü, üç gün yüzde 81,3'ünü, yedi gün yüzde 85,1'ini ve on dört gün yüzde 87,4'ünü engellerdi.
Gönderiye göre bunun nedeni, solucan kampanyaları ile çalınmış token saldırılarının, tarayıcıların zaten yakından izlediği popüler paketlere yönelmesidir. Microsoft'un, keyv, flat-cache ve cache-manager ekosistemlerinde 400'den fazla npm paketine ulaşan kendi kendine yayılan bir Mini Shai-Hulud varyantı olarak tanımladığı 4 Ağustos tarihli ChainDrop kampanyasında [email protected] yayından 0,5 saat sonra, [email protected] 1,0 saat sonra ve [email protected] 1,7 saat sonra bir OSV uyarısı aldı. 8 Ekim'de aynı solucan ailesi, kimlik bilgisi çalan bir preinstall hook taşıyan [email protected]'ü yayınladı; Socket bunu 11 dakika sonra işaretledi, OSV uyarısı yayından yaklaşık 1,7 saat sonra geldi ve npm paketi 3,1 saat sonra bir güvenlik yer tutucusuyla değiştirdi.
Typosquat'lar beklemeyi atlatıyor
Başlangıçtan itibaren kötü niyetli olan paketler — typosquat'lar, dependency-confusion girişimleri, spam — çok farklı davrandı. Bu nitelikteki 10.160 npm paketi arasında medyan pencere 100,5 saatti ve 7 günlük bir bekleme süresi bile yalnızca yüzde 55'ini engelledi; yüzde 45'i geçti. Gönderi, Ekim'deki MALFEX kampanyasına işaret ediyor: En eski sürümleri Temmuz 2024'e uzanan, 40.767 indirilmiş sekiz npm paketi; bunlardan bir sürüm, uyarısından önce 429 gün yayında kaldı. Bekleme süreleri bunlara hiçbir şey yapmıyor; savunma beklemek değil, ad denetimi olmak zorunda.
Analiz ayrıca pnpm belgelerindeki, kötü niyetli sürümlerin çoğunun bir saat içinde yakalanıp temizlendiği iddiasını da çürütüyor. Uyarı alan paketlerin yalnızca yüzde 13,1'i ilk kötü niyetli sürümden sonraki bir saat içinde uyarı aldı; ele geçirmelerde bile bu oran bir saat içinde yüzde 10,0, altı saat içinde yüzde 59,7'ydi. Kullanılabilir zaman damgası olan 11.556 npm ve PyPI paketinin tamamında medyan pencere 72,4 saatti; 75. yüzdelik dilim 28,9 gün, 90. yüzdelik dilim 103 gündü.
Beklemenin bedeli
Gönderi ayrıca bu dengeleme fiyatını da hesapladı. 180 gün içinde, en çok kullanılan 400 npm ve PyPI paketinden 239'u en az bir kez yeni bir kararlı sürüm yayınladı. Bunlar için 1 günlük bekleme süresi kurulumları yüzde 3,94 oranında en yeni sürümden uzak tuttu; 3 gün yüzde 9,71, 7 gün yüzde 18,53 ve 14 gün yüzde 29,48 maliyetle geldi. Asıl bedel güvenlik yamalarında: 3 günlük bekleme süresinde izlenen 141 düzeltmenin 32'si (yüzde 22,7) ancak güvenlik açığı herkese açık biçimde duyurulduktan sonra erişilebilir oldu; bu oran 7 günde yüzde 46,1'e, 14 günde yüzde 61,0'a çıkıyor. 3 günden 7 güne geçmek, kötü amaçlı yazılım engellemede 8,5 puan kazanırken düzeltmelerde 23,4 puanlık gecikme bedeli ödetiyor. Kısa bekleme süreleri ucuz kalıyor, çünkü duyuru genellikle düzeltmenin gerisinde kalıyor — npm'de medyan 12,8 gün, PyPI'de 7,9 gün.
Yazarın belirttiği iki uyarı: ele geçirilmiş-sahte ayrımı bir sezgisel yöntem ve OSV zaman damgaları tespit için bir üst sınır — Socket, tensorlake'i OSV kaydetmeden 91 dakika önce işaretlemişti. Registry'lerin kaldırma işlemleri de gecikiyor: npm bir yer tutucu kurduğunda bu, paketlerin yüzde 60,6'sında OSV uyarısından önce geldi, ancak medyan kaldırma penceresi yine de 5,5 gündü. PyPI projeleri tamamen sildiği için geriye yalnızca 60 kullanılabilir zaman damgası kaldı ve PyPI'ye özgü hiçbir sonuç çıkarılamadı.
Neden önemli
Bekleme süreleri isteğe bağlı olmaktan varsayılana kayıyor: npm 11.10.0 ile min-release-age kazandı, pip 26.0 ile --uploaded-prior-to kazandı, pnpm 11 varsayılan olarak tek günlük bir bekleme süresini etkinleştiriyor ve uv paket bazında geçersiz kılmalarla exclude-newer'ı destekliyor. Bu analiz, politika tartışmalarının eksik olduğu dengeleme rakamlarını sağlıyor. Tek gün neredeyse bedava ve token hırsızlığı ile solucan saldırılarının çoğunu durduruyor; yedi gün mütevazı bir koruma eklerken tüm güvenlik düzeltmelerinin neredeyse yarısını geciktiriyor; ve hiçbir bekleme süresi uzunluğu, ad doğrulamasına ihtiyaç duyan typosquat'lara dokunmuyor. Geriye kalan manivela, güvenlik güncellemelerini bekleme süresinden muaf tutmak — Renovate ve Dependabot bunu otomatikleştirebilir ve npm, pnpm ile uv artık yerleşik olarak destekliyor.
- #npm
- #supply-chain-security
- #package-managers
- #pnpm
- #pip