Popüler JavaScript obfuscation aracı jscrambler'ın npm paketi ele geçirildi. 11 Temmuz 2026'da yayınlanan 8.14.0 sürümü, kurulum sırasında otomatik olarak çalışan bir Rust infostealer içeriyor. Socket tarafından yayınlandıktan sadece altı dakika sonra tespit edilen kötü amaçlı sürüm, Windows, macOS ve Linux için hazırlanmış native binary'lerle geliyor. Eğer bu kısa zaman diliminde paketi yüklediyseniz, zararlı yazılım kurulum izinlerinizle çalışmış durumda.
Önceki temiz sürüm 8.13.0 ile karşılaştırıldığında, 8.14.0'da iki yeni dosya dikkat çekiyor: dist/setup.js ve dist/intro.js. İsmine rağmen intro.js bir JavaScript dosyası değil; içinde üç farklı işletim sistemi için gzip sıkıştırılmış native binary'ler barındıran yaklaşık 7.8 MB'lık bir konteyner. Kurulumda setup.js, işletim sistemini algılayıp uygun binary'yi seçiyor, rastgele bir isimle sistem geçici dizinine yazıyor, çalıştırılabilir yapıyor ve çıktısını gizleyerek arka planda başlatıyor.
Bu dosyalar yayınlanan pakette bulunmasına rağmen, jscrambler'ın GitHub deposunda herhangi bir karşılığı yok. StepSecurity ve SafeDep'in analizlerine göre, 8.14.0 sürümüne ait herhangi bir commit, tag veya pull request bulunmuyor. En son tag hâlâ 8.13.0. Sürüm, meşru bir maintainer hesabından doğrudan npm'e push'lanmış, normal yayın akışı atlanmış. Bu, ya npm hesabının ya da build pipeline'ının ele geçirildiğini gösteriyor.
Socket ve The Hacker News'e yapılan açıklamaya göre, Rust infostealer üç platform için de hazırlanmış ve geliştirici makinelerindeki gizli bilgileri TLS üzerinden bir drop server'a gönderiyor. Hedef listesi oldukça geniş: AWS, Azure ve Google Cloud kimlik bilgileri (CI runner'ların kullandığı metadata endpoint'leri dahil); MetaMask, Phantom ve Exodus gibi kripto cüzdanları ve seed phrase'ler; Bitwarden şifre yöneticisi; tarayıcıda saklanan şifreler ve çerezler; Discord, Slack, Telegram ve Steam oturumları. Ayrıca Claude Desktop, Cursor, Windsurf, VS Code ve Zed gibi AI kodlama araçlarının yapılandırma dosyaları da hedefleniyor; bu dosyalarda genellikle API anahtarları ve Model Context Protocol sunucu kimlik bilgileri bulunuyor.
Önemli Gelişmeler
Binary'ler sadece çalmakla kalmıyor. Linux'ta, zararlı yazılım kernel'in BPF kütüphanesine bağlanabiliyor ve bellekten doğrudan bir eBPF programı yükleyebiliyor. Bu, kullanıcı alanı dosya erişiminin ötesinde, kernel seviyesinde bir yer edinme anlamına geliyor. StepSecurity ve SafeDep bu yeteneği tespit etti, ancak eBPF programının ne yaptığı henüz çözülemedi. Windows ve macOS sürümlerinde anti-debugging kontrolleri ve kalıcılık mekanizmaları var: Windows'ta gizli bir scheduled task her dakika yeniden çalışıyor, macOS'ta ise bir LaunchAgent oturum açıldığında yeniden yükleniyor. Komuta ve kontrol detayları binary'de şifreli olduğu için statik analizde görünmedi.
Sistem Güvenliği
StepSecurity'in runtime izlemesi, binary'nin iki sabit IP adresine ve Tor altyapısına bağlandığını tespit etti. Bu, kampanyaya ait yayınlanan ilk ağ göstergeleri. jscrambler, bir build-time aracı olduğu için genellikle geliştirme bağımlılığı olarak veya CI ortamında çalıştırılır. Bu ortamlar, infostealer'ın hedeflediği bulut anahtarları, deploy token'ları ve kaynak koduna erişebilir. Paket haftada yaklaşık 15.800 kez indiriliyor; kaç kişinin kötü amaçlı sürümü çektiği henüz bilinmiyor. Ancak bu, build makinelerini hedefleyen bir stealer için erişimin önemli olduğu bir saldırıda büyük bir sayı değil.
Bu olayın zamanlaması dikkat çekici: npm 12, 8 Temmuz'da, yani bu sürümden üç gün önce, bağımlılık kurulum script'lerini varsayılan olarak devre dışı bırakarak yayınlandı. npm 12'de böyle bir preinstall hook, onaylanmadıkça çalışmıyor. Ancak eski istemciler hâlâ otomatik olarak çalıştırıyor. 8.15.0 sürümü daha sonra aynı maintainer hesabından yayınlandı ve 8.14.0'daki kötü amaçlı özelliklerin hiçbirini içermiyor. Ancak 8.14.0 hâlâ npm'de duruyor; yani lockfile veya komutla ona sabitlenmiş herhangi bir kurulum, stealer'ı çalıştırmaya devam ediyor.
Gelecekte Ne Bekleniyor?
Ne yapmalısınız? Hemen 8.14.0'dan kurtulun ve 8.15.0'a veya 8.13.0'a geçin. Lockfile ve önbelleklerden [email protected]'ı temizleyin. 11 Temmuz'dan itibaren CI kayıtlarında dist/setup.js çalıştırılıp çalıştırılmadığını kontrol edin. Yükleyici geçici dizine rastgele isimle yazdığı için sabit bir binary adı aramayın; bunun yerine kurulum zaman damgalarını Node alt süreçleri ve geçici dizin yürütmeleriyle eşleştirin. Windows'ta Task Scheduler'da gizli görevleri, macOS'ta ~/Library/LaunchAgents altında tanımadığınız plist dosyalarını kontrol edin. Eğer 8.14.0 bir makinede çalıştıysa, erişebildiği tüm sırları çalınmış kabul edin: bulut anahtarlarını, npm ve GitHub token'larını, AI araç ve MCP API anahtarlarını döndürün; Discord, Slack, tarayıcı ve Bitwarden oturumlarını iptal edin; o makinedeki cüzdanlardan kripto paraları taşıyın. İki C&C IP'sini engelleyin. Temizlik hızlı yapıldı, ancak bir stealer işini kurulumdan saniyeler sonra tamamlar.
Kaynak: thehackernews.com