Osegi
Güvenlik·2 dk okuma

npm'deki bee-js 13.3.0, kripto cüzdan anahtarlarını çalmaya çalıştı

Swarm kütüphanesi @ethersphere/bee-js'in 13.3.0 sürümü projenin kendi yayın hattından çıktı ve kurulur kurulmaz cüzdan anahtarlarını çalmaya çalıştı.

Laptop screen showing JavaScript code with a red warning icon and a crypto wallet key being pulled away.
Görsel: Хабр

@ethersphere/bee-js kütüphanesinin 13.3.0 sürümünü kurmak, kripto cüzdan anahtarlarını arayan bir zararlı yazılımı çalıştırmak için yeterliydi. CodeScoring, dağıtık depolama sistemi Swarm için yazılmış bu JavaScript kütüphanesinin 13.3.0 sürümünü 9 Kasım'dan beri zararlı olarak işaretliyor.

İşin ilginç yanı paketin nasıl yayımlandığı. Bir npm hesabı ele geçirilmedi, paket projenin resmi yayın sürecinden çıktı. bee-worker yayın hesabı altında ana depoya doğrudan bir commit eklendi, ardından oluşturulan release mevcut GitHub Actions workflow'unu tetikledi. Socket'e göre npm'deki derleme bilgileri resmi depoyu ve projenin standart yayın sürecini gösteriyordu. Zararlı kod o sırada kaynak dosyalarda zaten duruyordu.

bee-js 13.3.0'daki zararlı kod nasıl çalışıyordu?

Saldırganlar paketi, kütüphane kurulurken bir betik otomatik çalışacak şekilde değiştirdi. Bu tür betiklerin çalışmasına izin verilmişse zararlı, kütüphane uygulamada kullanılmadan önce devreye giriyordu. Kod yorumlarında kendi sunucularına yapılan bağlantı "analitik gönderimi" olarak anlatılıyordu. Oysa betik oradan JavaScript indirip paketi kuran kullanıcının yetkileriyle hemen çalıştırıyordu.

Yük, Swarm Desktop uygulamasının verileri arasında şifrelenmiş cüzdan anahtarını ve yapılandırma dosyasını arıyordu. Yapılandırmada anahtarın parolası varsa, bu iki dosyanın çalınması cüzdanın kontrolünü veriyordu. Zararlı ayrıca kurulum bittikten sonra da erişimi korumak için sisteme yerleşmeye çalışıyordu.

Linux ve macOS'ta saldırı, uzaktan komut çalıştıran bir arka kapının kurulmasıyla sürdü. Arka kapı, komut sunucusunun adresini bir Ethereum akıllı sözleşmesinden okuyordu. Operatör bu adresi tek bir işlemle değiştirebiliyordu, yeni bir zararlı sürüm yayımlamasına gerek yoktu.

Etkilenip etkilenmediğinizi nasıl anlarsınız?

Zararlı sürüm projeye dolaylı yoldan da gelmiş olabilir. Birkaç Swarm aracının bağımlılık aralıkları 13.3.0'a izin veriyordu. Bu yüzden lock dosyasında fiilen çözümlenen sürüme bakmak gerekiyor. Manifestte doğrudan bağımlılık aramak yetmez.

bee-js kullanan ekipler lock dosyalarını, paket önbelleklerini ve CI kurulum günlüklerini 13.3.0 sürümü için, dolaylı bağımlılıklar dahil, taramalı. Bu sürüm betiklere izin verilerek kurulduysa ya da Swarm Desktop 0.56.2 çalıştırıldıysa makine veya CI runner'ı incelenmeli. CI runner'ında risk altındaki şeyler paket yayın token'ları ve kaynak koduna erişim.

CodeScoring, "Bağımlılık tehlikeli" koşullu engelleme politikalarının bu ve diğer bilinen zararlı paketlerin indirilmesini CodeScoring.OSA modülünde, proje derlemesini ise CodeScoring.SCA modülünde durdurduğunu belirtiyor.

Göz atmaya değer uygulamalar

SUMO: sayı bulmacası

Doğru kareleri seçin, toplayın, hedefe ulaşın. Öğrenmesi kolay, ustalaşması zor. Ücretsiz, her yaşa uygun.

Dialo: konuşarak dil öğrenin

Yapay zekâ sohbet partneriyle konuşun; her cümleniz düzeltilip kendi dilinizde açıklanarak geri gelsin. 9 dil, A1'den C2'ye.

Etiketler:npmswarmbee-jssupply chain attackcrypto walletgithub actions

Aynı günden diğer haberler

Tümünü gör →

Daha fazla: Güvenlik

Tümünü gör →