Bitwarden CLI npm paketinin ele geçirilmesi – geliştirici kimlik bilgilerinin kitlesel olarak çalındığı saldırı keşfedildi
(research.jfrog.com)JFrog güvenlik araştırma ekibi, npm’deki @bitwarden/cli 2026.4.0 sürümünün ele geçirildiğini tespit etti. Meşru Bitwarden meta verileri ve markalaması aynen korunurken yalnızca preinstall betiği ile bw ikili giriş noktası kötü amaçlı yükleyiciye (bw_setup.js) dönüştürülmüş durumda.
Çalışma şekli
Kurulum sırasında yükleyici önce GitHub’dan Bun çalışma zamanını indiriyor, ardından gizlenmiş JavaScript yükünü (bw1.js) çalıştırıyor. Node.js yerine Bun kullanılması başlı başına bir tespitten kaçınma stratejisi.
Yük, üç farklı toplayıcı üzerinden geliştirici iş istasyonları ve CI ortamlarındaki kimlik bilgilerini geniş kapsamda topluyor.
- Dosya sistemi toplayıcısı: SSH anahtarları (
~/.ssh/), Git kimlik bilgileri (.git-credentials), npm token’ları (~/.npmrc),.env, AWS kimlik bilgileri (~/.aws/credentials), GCP kimlik bilgileri (~/.config/gcloud/credentials.db) vb. - Kabuk/ortam toplayıcısı:
gh auth tokenkomutunu çalıştırma,process.envtaramasıyla GitHub ve npm token kalıplarını eşleştirme - GitHub Actions toplayıcısı: token yetkisine sahip depolara workflow enjekte ederek Actions secret’larını da çıkarma
Özellikle dikkat çekici olan nokta, ~/.claude.json, ~/.claude/mcp.json, ~/.kiro/settings/mcp.json gibi yapay zeka araçları ve MCP yapılandırma dosyalarının da hedefler arasında yer alması.
Çift sızıntı yolu
Çalınan veriler gzip ile sıkıştırıldıktan sonra AES-256-GCM + RSA-OAEP hibrit şifrelemeden geçirilerek gönderiliyor.
- Birincil yol:
audit.checkmarx.cx/v1/telemetryadresine HTTPS POST (meşru bir güvenlik servisi gibi gizlenerek) - İkincil yol (GitHub kötüye kullanımı): Birincil yol başarısız olursa GitHub commit mesajlarında
LongLiveTheResistanceAgainstMachinesişaretçisiyle çift Base64 kodlanmış PAT aranıp çıkarılıyor.beautifulcastleadlı işaretçi ve RSA imza doğrulamasıyla alternatif sızıntı alan adı da dinamik olarak geri elde ediliyor. Son aşamada kurbanın GitHub hesabında yeni bir depo oluşturuluyor ve şifrelenmiş JSONresults/dizinine yükleniyor.
Enfeksiyonun tespiti
Gömülü meşru Bitwarden CLI meta verisi 2026.3.0 iken paket kökü 2026.4.0 olarak görünüyor; bu da normal derleme hattı yerine dışarıdan kötü amaçlı bir katman eklendiğini gösteriyor.
Yanıt yöntemi
Bu sürümün kurulum geçmişi varsa, ilgili ana makinedeki tüm kimlik bilgilerinin sızdırıldığını varsaymak gerekir.
npm uninstall -g @bitwarden/clive önbellek temizliği- GitHub PAT, npm token’ları, AWS erişim anahtarlarının tamamını döndürme
- Azure Key Vault / GCP Secret Manager denetim günlüklerini kontrol etme
- GitHub Actions workflow’larında yetkisiz çalıştırma geçmişini inceleme
audit.checkmarx.cxve94.154.172.43için ağ engellemesi uygulama- Yapay zeka araç yapılandırma dosyalarında (Claude, Kiro vb.) hassas bilgi sızıntısı olup olmadığını kontrol etme
Bu, sıradan bir npm kimlik bilgisi hırsızının ötesinde; tedarik zinciri ihlali + çok aşamalı secret hırsızlığı + GitHub altyapısının silah haline getirilmesini birleştiren sofistike bir saldırı.
4 yorum
> THE MOST TRUSTED PASSWORD MANAGER
> Defend against hackers and data breaches
Şirketin ana sayfa sloganı anlamsız göründüğü için üyeliğimi iptal ettim.
Ürpertici ya;; her gün kullandığım bir şeydi, neyse ki şans eseri homebrew tarafında bilgi sızdırma olmamış.
Offf… galiba tüm npm global kütüphanelerini şimdilik ya kaldırmak ya da pre/postinstall’i kapatmak gerekecek
homebrew,
postinstalli varsayılan olarak devre dışı bırakıp istisnai olarak izin verecek şekilde değişti. Buna şans mı demek gerekir bilmem ama npm’e bakmadan repo etiketi üzerinden güncelleme yaptığım için bu sürümü atlatmış oldum. Son dönemde npm cooldown da devreye girdiğinden, muhtemelen npm’i esas alsaydım bile dağıtım yapılmayacaktı.Vay canına, bu biraz sarsıcı.