Ethersphere'in bee-js ve Swarm Desktop sürümleri çalınan CI kimlik bilgileriyle zararlıya dönüştü: cüzdan anahtarı hırsızlığı ve backdoor
Saldırganlar Ethersphere'in sürüm otomasyonunu kullanarak bee-js 13.3.0 ve Swarm Desktop 0.56.2'yi zararlı kodla yayımladı. GitHub bildirimi GHSA-hh7j-5m3j-23pf, paketin kurulduğu her bilgisayarın tamamen ele geçirilmiş sayılmasını istiyor; temiz sürümler bee-js 13.2.0 ve Swarm Desktop 0.56.3.
Swarm merkeziyetsiz depolama ağının geliştiricisi Ethersphere'in iki aracı, projenin kendi sürüm otomasyonu üzerinden zararlı kodla yayımlandı: npm'deki bee-js 13.3.0 ve masaüstü uygulaması Swarm Desktop 0.56.2. Bakımcıların olay notuna göre sürümler, çalınan CI kimlik bilgileri ve secret'larla yayımlandı. Her iki sürüm de dışarıdan kod indirip çalıştıran aynı loader'ı taşıyor; indirilen kod Swarm Desktop'ın node cüzdan anahtarını ve bu anahtarı açan, düz metin olarak saklanan parolayı çalmak ve Windows, macOS ile Linux'ta backdoor kurmak üzere tasarlanmış.
bee-js 13.3.0, 9 Kasım'da yaklaşık 75 dakika npm'de en güncel sürüm olarak kaldı ve kod postinstall script'i olarak çalıştığı için paketin projede import edilmesi bile gerekmiyordu. Swarm Desktop 0.56.2 ise yaklaşık 8,5 saat GitHub'da kaldı; yerleşik updater bu sürümü Windows x64 ve Apple Silicon Mac'lere sunabildi. Paketler kaldırıldı, ancak GitHub bildirimi GHSA-hh7j-5m3j-23pf açık: paketin kurulduğu ya da çalıştığı her bilgisayar "tamamen ele geçirilmiş" kabul edilmeli. Yayın anında fon hırsızlığı bildirilmedi; Socket, saldırıyı Eylül'deki EtherDuck kampanyasının arkasındaki grupla ilişkilendiriyor.
Etkilenen ve düzeltilmiş sürümler
| Ürün | Etkilenen | Düzeltilmiş sürüm |
|---|---|---|
| @ethersphere/bee-js (npm) | 13.3.0 | 13.2.0 (yeniden en güncel sürüm; 13.3.0 kayıttan kaldırıldı) |
| Swarm Desktop | 0.56.2 | 0.56.3 (0.56.1 ile aynı kod, yeni Developer ID sertifikasıyla imzalı) |
swarm-cli, bee-dashboard ve Swarm Desktop kaynak kodu 13.3.0'ı kapsayan sürüm aralıkları kabul ediyordu; bu pencerede yapılan temiz kurulum ve CI işleri zararlı sürümü çekmiş olabilir. Ayrıntı için GitHub bildirimi.
Beni etkiliyor mu?
Projede ve CI önbelleklerinde kurulu bee-js sürümünü görün:
grep "\"version\"" node_modules/@ethersphere/bee-js/package.json
grep -n "bee-js" package-lock.jsonLinux ve macOS'ta raporlarda geçen gizli klasörü ve kullanıcı servislerini kontrol edin:
ls -la ~/.solidity
ls ~/.config/systemd/user
ls ~/Library/LaunchAgentsWindows'ta beklenmeyen ScreenConnect istemcisi ve Defender exclusion listesi:
Get-Service | Where-Object { $_.DisplayName -like "*ScreenConnect*" }
Get-MpPreference | Select-Object ExclusionPath, ExclusionProcessAğ kayıtlarında api.frameworkmetrics[.]xyz alan adına giden istekleri arayın.
Ne yapılmalı?
- bee-js'i 13.2.0'a sabitleyin, lockfile'ı yenileyin; sürüm aralıklarını 13.3.0'ı dışarıda bırakacak şekilde daraltın. CI'da install script'lerini kapalı çalıştırmayı değerlendirin.
- Swarm Desktop'ı 0.56.3'e taşıyın. Linux paketleri otomatik güncellenmez, elle değiştirilmeli.
- Zararlı sürümün çalıştığı makineyi ele geçirilmiş kabul edin: güncelleme backdoor'u silmez. Makineyi izole edip temiz kurulumla yeniden kurun.
- Node cüzdanındaki xDAI, xBZZ, chequebook fonları ve stake'i yeni ve temiz bir cüzdana taşıyın; o makinede bulunan SSH anahtarları, npm ve GitHub token'ları ile bulut erişim anahtarlarını rotate edin.
- Kendi projeleriniz için ders: imzalama ve yayın workflow'larını onaya bağlayın. Provenance yalnızca paketin nerede derlendiğini gösterir, kodun incelendiğini değil. Değişiklikleri change management sürecinizden geçirin.