NPM Paketlerinde Güvenlik Açığı: ‘is’ Paketine Yönelik Saldırı
Son günlerde, NPM (Node Package Manager) paket yöneticisinde oldukça ciddi bir güvenlik açığı yaşandı. Popüler JavaScript kütüphanesi olan ‘is’, bir tedarik zinciri saldırısıyla malware (kötü amaçlı yazılım) ile compromises edildi. Bu durum, kullanıcılara büyük zararlar verebilecek bir backdoor (arka kapı) açılmasına neden oldu.
Olayın Gelişimi
‘is’ paketi, JavaScript geliştiricileri tarafından sıkça kullanılan bir tip kontrolü ve değer doğrulama aracıdır. Geliştirme araçları, test kütüphaneleri, yapı sistemleri ve arka uç projelerinde yoğun olarak kullanılması, bu tür saldırılar sonucunda büyük kayıplara yol açabileceğini gösteriyor. 19 Temmuz 2025’de, paketin ana bakımcısı John Harband, 3.3.1 ile 5.0.0 versiyonlarının malware içerdiğini açıkladı. Teklif edilen bu versiyonlar, tehdit aktörleri tarafından NPM‘ye gönderildikten yaklaşık 6 saat sonra kaldırıldı.
Hackerların Yöntemleri
Bu saldırıya neden olan durum, bakımcı hesaplarının phishing (oltalama) yöntemiyle ele geçirilmesiydi. Hesapların kontrolü ele geçirildikten sonra izin dışı sahip değişiklikleri yapıldı. Bu tür değişiklikler, saatlerce fark edilmeden devam etti ve sonuç olarak birçok geliştirici yeni sürümleri indirdi. ‘is’ paketinin yanı sıra, benzer saldırılara maruz kalan diğer paketler de belirlendi. Bunlar arasında eslint-config-prettier, eslint-plugin-prettier, synckit, @pkgr/core, napi-postinstall, ve got-fetch bulunmaktadır.
Malware’ın Özellikleri
Socket raporlarına göre, ‘is’ paketi, bir WebSocket tabanlı backdoor barındıran bir cross-platform JavaScript malware yükleyicisidir. Saldırı aktif hale geldiğinde, Node’un os modülünü sorgular ve hostname, işletim sistemi ve CPU bilgilerini toplar. Ayrıca, process.env aracılığıyla tüm ortam değişkenlerini capture eder. Elde edilen bu veriler, dinamik olarak ws kütüphanesi kullanılarak WebSocket bağlantısı üzerinden exfiltrate edilir.
Dolayısıyla, socket üzerinden alınan her mesaj, çalıştırılabilir bir JavaScript kodu olarak değerlendirilir. Bu durum, saldırganın anlık ve etkileşimli bir uzaktan kabuk erişimi elde etmesine olanak tanır.
Diğer Packerlar ve Tehditler
Araştırmacılar, ‘eslint’ ve diğer paketlerde bulunan malware yüklerini inceledi ve Windows için tasarlanmış bir infostealer olan ‘Scavanger’ adında bir yazılıma rastladı. Bu kötü amaçlı yazılım, web tarayıcılarında saklanan hassas bilgilere odaklanıyor. Ayrıca, güvenlik uyarılarını tetikleyebilecek bazı gelişmiş kaçınma mekanizmaları içeriyor. Saldırganlar, bu mekanizmaları kullanarak hedeflerine daha az dikkat çekmeyi ve daha etkili bir şekilde saldırılar gerçekleştirmeyi amaçlıyor.
Alınacak Önlemler
Bu tür saldırılardan korunmak adına, bakımcıların derhal şifrelerini sıfırlamaları ve tüm tokenlerini değiştirmeleri gerekmektedir. Geliştiriciler ise, 18 Temmuz 2025 öncesinde bilinen güvenli sürümler kullanmalıdır. Otomatik güncellemenin kapatılması ve lockfile kullanılması, belirli bağımlılık sürümlerinin dondurulmasında faydalı olacaktır. Böylece, geliştiriciler yeni sürümleri indirirken daha güvende hissedeceklerdir.
Sonuç Olarak
Geliştiricilerin ve bakımcıların, NPM gibi platformlarda dikkatli olmaları ve güncellemeleri takip etmeleri büyük önem taşımaktadır. Tek bir zayıflık, tüm ekosistemi tehdit edebilir. Bu tür olayların önlenmesi, yalnızca bireysel geliştiricilerin değil, tüm yazılım topluluğunun sorumluluğundadır. Yazılım geliştirme süreçlerinde güvenliğin ve dikkatli olmanın önemi bir kez daha ortaya çıkmıştır.


