Ledger CTO’su, NPM’deki Supply Chain Saldırısı Hakkında Uyardı

Ledger CEO’su, yazılım tedarik zincirini ve kripto ekosistemini sarsan kritik bir saldırı hakkında açıklama yaptı. Popüler NPM paketi error-ex, saldırganlar tarafından ele geçirildi ve 1.3.3 sürümünde kötü amaçlı kod ile yayımlandı. Bu küçük paket, haftada 47 milyondan fazla indirilmesi nedeniyle JavaScript ekosisteminin binlerce projesine dolaylı olarak dahil durumda.

Kötü Amaçlı Kodun İşleyişi

Yapılan incelemelere göre saldırganın eklediği kod bir crypto-clipper. Bu tür yazılımlar, kullanıcıların kripto işlemlerini sessizce manipüle ediyor. Kodun çalışma şekli şu şekilde özetleniyor:

Cüzdan kontrolü: Tarayıcıda MetaMask veya Phantom gibi bir kripto cüzdanı olup olmadığı denetleniyor.

Pasif saldırı: fetch ve XMLHttpRequest gibi ağ fonksiyonları ele geçiriliyor. Bu sayede her ağ isteği taranıyor ve içinde Bitcoin, Ethereum, Solana, Tron, Litecoin ya da Bitcoin Cash adresleri bulunursa saldırganın adresiyle değiştiriliyor. Adresler, benzer görünümlü olacak şekilde seçiliyor ki fark edilmesi zor olsun.

Aktif saldırı: Eğer bir cüzdan bağlıysa, gönderilen işlemler doğrudan manipüle ediliyor. Örneğin kullanıcı Uniswap üzerinde token transferi yaparken, işlem verisi imzalanmadan hemen önce saldırganın adresiyle değiştirilerek cüzdana yönlendiriliyor. Kullanıcı dikkat etmezse fonlarını saldırgana göndermiş oluyor.

Nasıl Ortaya Çıktı?

Saldırı, ilk olarak bir geliştiricinin build sürecinde aldığı “ReferenceError: fetch is not defined” hatası sayesinde fark edildi. Yapılan kod incelemesinde, normalde yalnızca tek satırlık olan 1.3.2 sürümüne kıyasla, 1.3.3 sürümünde yüzlerce satırlık obfuscate edilmiş (karmaşıklaştırılmış) kod bulundu. İçinde checkethereumw gibi fonksiyonlar yer alması, saldırının özellikle kripto cüzdanlarını hedef aldığını gösterdi.

Ledger CEO’sunun Uyarıları

Ledger CTO’su, kripto kullanıcılarını doğrudan ilgilendiren kritik açıklamalar yaptı:

Donanım cüzdan kullananlar, imza atmadan önce adresi dikkatlice kontrol ettikleri sürece güvende
Yazılım cüzdanı kullananlara ise şimdilik zincir üstü işlem yapmamaları tavsiye ediliyor. Henüz saldırganların seed (anahtar kelime) çalıp çalmadığı netleşmedi.

Geliştiricilere Öneriler

Saldırının etkilerinden korunmak için geliştiricilere şu adımlar öneriliyor:

CI/CD süreçlerinde npm install yerine npm ci kullanmak,

error-ex paketini güvenli sürüm olan 1.3.2’ye sabitlemek,

bağımlılıkları düzenli taramak için npm audit, Snyk veya Dependabot gibi araçlardan yararlanmak,

package-lock.json dosyasında yapılan değişiklikleri kod kadar dikkatle incelemek.