Geliştiriciler Dikkat! 10 Adet Kötü Amaçlı NPM Paketi Kimlik Bilgilerinizi Çalıyor
Son günlerde siber güvenlik araştırmacıları, Windows, macOS ve Linux sistemlerini hedef alan, kimlik bilgisi hırsızlığı yapan 10 adet kötü amaçlı npm paketini tespit etti. Bu paketler, geliştiricilerin hassas bilgilerini ele geçirmek için karmaşık yöntemler kullanıyor.
Kötü Amaçlı Paketlerin Çalışma Mekanizması
Socket güvenlik araştırmacısı Kush Pandya’nın belirttiğine göre, bu zararlı yazılım, yükünü gizlemek için dört katmanlı bir karartma tekniği kullanıyor. Ayrıca, meşru görünmek için sahte bir CAPTCHA görüntülüyor, IP adresine göre kurbanlarını parmak iziyle belirliyor ve 24MB boyutunda, PyInstaller ile paketlenmiş bir bilgi hırsızı indiriyor. Bu hırsız, Windows, Linux ve macOS sistemlerindeki sistem anahtarlıklarından, tarayıcılardan ve kimlik doğrulama servislerinden kimlik bilgilerini topluyor.
Bu kötü amaçlı npm paketleri, 4 Temmuz 2025 tarihinde npm kayıt defterine yüklendi ve toplamda 9.900’ün üzerinde indirme sayısına ulaştı. İşte o tehlikeli paketlerin listesi:
- deezcord.js
- dezcord.js
- dizcordjs
- etherdjs
- ethesjs
- ethetsjs
- nodemonjs
- react-router-dom.js
- typescriptjs
- zustand.js
Typosquatting (Yazım Hatasıyla Alan Adı Kapma) Tekniği
Bu saldırının en dikkat çekici yönlerinden biri, popüler npm kütüphanelerinin adlarında yapılan yazım hatalarından (typosquatting) faydalanılması. Saldırganlar, TypeScript, discord.js, ethers.js, nodemon, react-router-dom ve zustand gibi yaygın olarak kullanılan kütüphanelerin benzer isimlerini kullanarak geliştiricileri tuzağa düşürmeye çalışıyor.
Kurulum tamamlandığında, kötü amaçlı yazılım sahte bir CAPTCHA istemi sunuyor ve kurulum işleminin beklendiği gibi ilerlediği izlenimini vermek için gerçek paket kurulumlarını taklit eden, otantik görünümlü bir çıktı görüntülüyor. Ancak arka planda, paket kurbanın IP adresini yakalıyor, harici bir sunucuya (195.133.79[.]43) gönderiyor ve ardından ana kötü amaçlı yazılımı bırakıyor.
Postinstall Hook ve Gizli Çalışma
Her paketteki kötü amaçlı işlevsellik, bir “postinstall” hook aracılığıyla otomatik olarak tetikleniyor. Bu hook, kurbanın işletim sistemini algılayan ve karartılmış bir yükü (“app.js”) yeni bir Komut İstemi (Windows), GNOME Terminal veya x-terminal-emulator (Linux) veya Terminal (macOS) penceresinde başlatan “install.js” adlı bir komut dosyasını başlatıyor.
Pandya’nın belirttiğine göre, “Kötü amaçlı yazılım, yeni bir terminal penceresi oluşturarak npm kurulum işleminden bağımsız olarak çalışır. Kurulum sırasında terminaline göz atan geliştiriciler, kısa bir süre için yeni bir pencerenin göründüğünü görürler ve bu pencere, şüphe uyandırmamak için kötü amaçlı yazılım tarafından hemen temizlenir.”
Kötü Amaçlı Kodun Analizi ve Kimlik Bilgisi Hırsızlığı
“App.js” içinde bulunan JavaScript kodu, analize direnmesi için tasarlanmış, dört katmanlı bir karartma (obfuscation) yöntemiyle gizlenmiştir. Bu yöntemler arasında, dinamik olarak oluşturulan bir anahtarla XOR şifresi, yük dizgesinin URL kodlaması ve program akışını gizlemek için onaltılık ve sekizli aritmetik kullanımı yer almaktadır.
Saldırının nihai amacı, aynı sunucudan kapsamlı bir bilgi hırsızı (“data_extracter”) alıp çalıştırmaktır. Bu hırsız, geliştiricinin makinesini web tarayıcılarından, yapılandırma dosyalarından ve SSH anahtarlarından sırları, kimlik doğrulama belirteçlerini, kimlik bilgilerini ve oturum çerezlerini kapsamlı bir şekilde taramak için donatılmıştır.
Sistem Anahtarlıklarını Hedefleme
Hırsız ikili dosyası ayrıca, sistem anahtarlığından kimlik bilgilerini çıkarmak için platforma özgü uygulamaları da içeriyor. Bu işlem, “keyring npm library” kullanılarak yapılıyor. Toplanan bilgiler bir ZIP arşivine sıkıştırılıyor ve sunucuya sızdırılıyor.
Socket’e göre, “Sistem anahtarlıkları, e-posta istemcileri (Outlook, Thunderbird), bulut depolama senkronizasyon araçları (Dropbox, Google Drive, OneDrive), VPN bağlantıları (Cisco AnyConnect, OpenVPN), parola yöneticileri, SSH parolaları, veritabanı bağlantı dizeleri ve işletim sistemi kimlik bilgisi deposuyla entegre olan diğer uygulamalar dahil olmak üzere kritik hizmetler için kimlik bilgilerini depolar.”
“Kötü amaçlı yazılım, doğrudan anahtarlığı hedefleyerek uygulama düzeyindeki güvenliği atlar ve depolanmış kimlik bilgilerini şifrelenmemiş biçimde toplar. Bu kimlik bilgileri, kurumsal e-postaya, dosya depolamaya, dahili ağlara ve üretim veritabanlarına anında erişim sağlar.”
Önlemler ve Güvenlik Tavsiyeleri
Bu tür saldırılardan korunmak için geliştiricilerin dikkatli olması ve aşağıdaki önlemleri alması önemlidir:
- Paket İsimlerini Dikkatlice Kontrol Edin: Kurulum yapmadan önce paket isimlerini dikkatlice kontrol edin ve yazım hatalarına karşı tetikte olun.
- Güvenilir Kaynaklardan Paketler Yükleyin: Mümkün olduğunca resmi ve güvenilir kaynaklardan paketler yüklemeye özen gösterin.
- Kurulum Sonrası Bildirimlere Dikkat Edin: Kurulum sonrası terminalde çıkan bildirimleri ve yeni açılan pencereleri dikkatlice inceleyin. Şüpheli bir durumla karşılaşırsanız, kurulumu hemen iptal edin.
- Güvenlik Araçları Kullanın: Güvenlik açıkları ve kötü amaçlı yazılımları tespit etmek için güvenlik araçları kullanın.
- Sistemlerinizi Güncel Tutun: İşletim sisteminizi ve kullandığınız yazılımları düzenli olarak güncelleyin.
Unutmayın, dikkatli olmak ve gerekli önlemleri almak, bu tür siber saldırılara karşı en etkili savunma yöntemidir.


