EresusSecurity
Araştırmalara Dön
Zafiyet Analizi

Ethersphere bee-js Tedarik Zinciri İhlali: Saldırganlar Cüzdan Çalan Bir Paket Gemiştirdi

Yiğit İbrahim SağlamOfansif Güvenlik Uzmanı
9 Kasım 2026
3 dk okuma
Devre kartlarıyla kaynaşmış ışık yayan altın petek, arıların dijital ağ düğümleri arasında uçtuğu karanlık depolama alanının üzerinde.
VulnerabilityAnalysisSoftware Security

Ethersphere bee-js Tedarik Zinciri İhlali: Saldırganlar Cüzdan Çalan Bir Paket Gemiştirdi

Saldırganlar, Ethersphere projesinin kendi yayın otomasyonunu kullanarak Swarm depolama araçlarının iki kötü amaçlı sürümünü yayınladı: bee-js 13.3.0 ve Swarm Desktop 0.56.2.

İki sürüm de birkaç satır kodla api.frameworkmetrics[.]xyz adresinden daha fazla kod indirip çalıştırır; hedef, Swarm Desktop'ın node için sakladığı cüzdan anahtarını ve onu açan parolasını çalmaktır. Windows, macOS ve Linux'ta üç farklı backdoor kurulur. Sürümler kaldırıldı; backdoor'lar kalır.

Ne Dağıtıldı

Swarm Desktop 0.56.2, 00:36 UTC'de GitHub'a çıktı, yaklaşık 8,5 saat sonra geri çekildi. Socket'in olay analizine göre yerleşik güncelleyicisi, bunu ~10 dakika içinde Windows x64 ve Apple Silicon Mac'lere sunabiliyordu. Linux kurulumları otomatik güncellenmedi.

bee-js 13.3.0, npm'de ~75 dakika (00:09–01:25 UTC) boyunca en son sürümüdü. Kodu bir postinstall script olarak çalışır — npm kurulum scriptlerini otomatik çalıştırır; bir proje kütüphaneyi içe aktarmak zorunda bile değildi.

Projenin swarm-cli ve bee-dashboard paketleri ile Swarm Desktop kaynak kodu, 13.3.0'ı içeren sürüm aralıklarını kabul ediyordu. Pencere içinde yapılan taze bir kurulum kötü amaçlı sürümü çekebilirdi.

Etki Alanı

Kaba tahminler: bee-js 13.3.0 yaklaşık 10 kez indirildi (tarayıcılar ve mirror'lar dahil). Swarm Desktop 0.56.2, 08:27 UTC'ye kadar 65 indirme yaptı (araştırmacılar dahil). Yazıya kadar fon hırsızlığı rapor edilmedi.

Bakımcılar 0.56.2'yi geri çekti, yeni bir Developer ID sertifikasıyla imzalanmış temiz 0.56.3 yayınladı. Olay notu, 0.56.2'nin "çalınan CI kimlik bilgileriyle yayınlandığını" yazıyor.

Malware Nasıl Çalışır

İki sürümün taşıdığı loader, SafeDep'in analizine göre aynıdır. Dosyalar: Swarm Desktop veri klasöründeki config.yaml ve data-dir/keys/swarm.key. Anahtar, şifreli Ethereum keystore'u; ama Swarm Desktop parolasını config.yaml'da düz metin saklar. İki dosya birlikte node cüzdanının xDAI/xBZZ token'larını, chequebook fonlarını ve stake'ini çalmak için yeter.

Backdoor'lar: Linux/macOS'ta ~/.solidity/ klasöründe evjawbreaker adında Go remote shell; systemd user servisi veya macOS LaunchAgent olarak arka planda çalışır, kontrol sunucu adresini Ethereum akıllı sözleşmesinden okur. Windows'ta meşru imzalı bir ScreenConnect istemcisi sistem servisi olarak kurulur; UAC atlamasıyla admin yetkisi alır, Defender istisnası ekler.

Sürümler Nasıl Dışarı Çıktı

İki sürüm de yayın otomasyonu hesabı bee-worker üzerinden geldi. Ne imza ne pull request vardı. bee-js için GitHub release yayınlamak npm workflow'unu başlattı; onay gerekmeden 73 saniyede npm'e çıktı. Swarm Desktop için saldırganlar, proje imzalama sertifikalarını taşıyan bir build workflow'u manuel başlattı — imza ve notarizasyon geçerli olduğu için macOS yalnızca normal ilk-açılış uyarısını gösterdi.

Bakımcılar artık imzalama job'larına onay kapısı koydu: DevOps onayı bekleniyor, yalnızca main dalından çalışıyor.

Ne Yapmalısınız

  • bee-js kullanıyorsanız: Lockfile'ları, cache'leri, dahili registry'leri ve CI log'larını @ethersphere/bee-js@13.3.0 için tarayın. 13.2.0'a sabitleyin, 13.3.0 kopyalarını temizleyin. Kurulum scriptleri açıksa makineyi ele geçirilmiş sayın — kod kendi ağ hatalarını gizler.
  • Swarm Desktop kullanıyorsanız: bee-desktop.log'da Bee Desktop version: 0.56.2 satırını arayın (macOS: ~/Library/Logs/Swarm Desktop/, Windows: %LOCALAPPDATA%\Swarm Desktop\Log\, Linux: ~/.local/state/Swarm Desktop/). 0.56.3 kurun; Linux'ta manuel değiştirin. 0.56.2 hiç çalıştıysa node anahtarını ve parolasını çalınmış sayın.
  • Etkilenen herhangi bir makinede: ~/.solidity/ klasörünü, solidity-langsupport-runner.service servisini, com.solidity.langsupport.runner LaunchAgent'ını ve ScreenConnect istemcisini kaldırın. Uygulamayı güncellemek bunları silmez — mümkünse makineyi güvenilir bir imajdan yeniden kurun.

Kaynaklar

AI Security Başlangıç Eğitimi

Prompt injection, RAG veri sızıntısı, MCP riskleri ve model dosyası güvenliği için pratik kontrol listesini e-posta ile isteyin.

Prompt injection ve koruma kuralı atlatma kontrolleri.
RAG veri sızıntısı ve izin sınırı incelemesi.
MCP kimlik, taşıma ve komut riski kontrolleri.

Spam yok. Yalnızca kaynağı ve ilgili güvenlik notlarını paylaşmak için kullanılır.

İlgili Hizmetler

Kapsam Tahmini

Kapsam görüşmesinden önce tahmini çalışma büyüklüğünü öğrenin.

Bu derinlik neyi kapsar
Kapsamdaki hedefler için OWASP test planının tam uygulaması: kırık erişim kontrolü, enjeksiyon, kimlik doğrulama ve yetkilendirme kusurları, iş kuralı kötüye kullanımı, yeniden üretim adımlarıyla bulgular.
Neyi kapsamaz
Haftalar süren rakip simülasyonu, fiziksel ve oltalama vektörleri, özel istismar geliştirmesi, kaynak kod incelemesi.

Tahmini efor

~5 testci-günü

Bu bir tahmindir, teklif değil. Yukarıdaki üç faktörle ölçeklenir; hedeflerin test penceresi içinde erişilebilir olduğunu ve test hesaplarının sağlandığını varsayar.

Kesin kapsam talebi