Ethereum geliştiricileri için popüler bir geliştirme ortamı olan Hardhat’i taklit eden 20 kötü amaçlı npm paketi, özel anahtarları ve diğer hassas bilgileri hedef alıyor. Araştırmalara göre, bu kötü amaçlı paketler bir binden fazla indirme alarak önemli bir güvenlik tehdidi oluşturuyor.
Kötü amaçlı yazılım kampanyasının detayları
Hardhat, Ethereum blok zincirinde akıllı sözleşmeler ve merkeziyetsiz uygulamalar (dApps) geliştirmek, test etmek ve dağıtmak için kullanılan yaygın bir geliştirme ortamıdır. Nomic Foundation tarafından geliştirilen bu araç, genellikle blockchain yazılım geliştiricileri, fintech firmaları ve eğitim kurumları tarafından tercih ediliyor.
Bu kullanıcılar, projeleri için gerekli bağımlılıkları ve modülleri yönetmek adına npm (Node Package Manager) kullanıyor. Ancak üç kötü amaçlı hesap, npm platformunda 20 farklı paket yayınlayarak Hardhat’i taklit etti. Bu paketler, yazım hatalarını hedef alan bir taktik olan typosquatting ile meşru paketlerin yerine indirilmeye çalışıldı.
Socket tarafından açıklanan 16 kötü amaçlı paketin isimleri arasında şu örnekler yer alıyor:
•@nomicsfoundation/hardhat-config
•node-validators
•solidity-comments-extractors
•hardhat-gas-optimizer
Bu paketler yüklendiğinde, Hardhat özel anahtarlarını, yapılandırma dosyalarını ve mnemonic’leri topluyor, bunları sabit bir AES anahtarı ile şifreliyor ve saldırganların kontrolündeki uç noktalara iletiyor.
Bu saldırılar, Ethereum cüzdanlarına yetkisiz erişim sağlayarak fon kaybına yol açabilir. Ayrıca, geliştiricilerin sistemlerini hedef alan saldırılar, akıllı sözleşmelerin tehlikeye girmesine, kötü niyetli uygulamaların üretim sistemlerine sızmasına veya mevcut dApp’lerin klonlanarak daha geniş çaplı saldırılar düzenlenmesine neden olabilir.
Hardhat yapılandırma dosyalarında bulunan API anahtarları ve ağ bilgileri, kimlik avı saldırıları için de kullanılabilir. Bu nedenle, yazılım geliştiriciler paketlerin doğruluğunu kontrol etmeli, kaynak kodunu incelemeli ve typosquatting’e karşı dikkatli olmalıdır.
Genel bir güvenlik önlemi olarak, özel anahtarlar sabit kodlanmamalı ve güvenli bir kasada saklanmalıdır. Bağımlılıkların belirli sürümleri kullanılmalı, kilit dosyaları kullanılmalı ve mümkün olduğunca az bağımlılık tanımlanmalıdır. Bu tür önlemler, geliştiricilerin bu gibi saldırılara karşı maruz kalma riskini azaltabilir.