Tarayıcı uzantısı cüzdan tedarik zinciri saldırısı, güvenilir bir eklentinin veya bağlı olduğu açık kaynak kütüphanelerden birinin kripto çalmak için gizlice değiştirilmesiyle gerçekleşir. Saldırganlar dependency-confusion, yazım hatasıyla taklit edilmiş npm paketleri ve meşru görünen yayıncılar üzerinden gönderilen kötü niyetli güncellemelerden yararlanır. Savunma, yüklediğiniz şeyleri denetlemek, sürümleri sabitlemek ve son imzalamayı uzantının erişemeyeceği bir hardware wallet'a taşımak anlamına gelir.
Öne çıkanlar
- Çoğu cüzdan ele geçirilmesi, bozuk bir blockchain'den değil, kötü amaçlı bir tarayıcı uzantısından, zehirlenmiş bir bağımlılıktan veya ele geçirilmiş bir güncellemeden kaynaklanır.
- Chrome Web Store'daki 'verified publisher' rozeti bir kimliği kanıtlar, gelecekteki her güncellemenin güvenli olduğunu değil.
- npm kayıt deposundaki dependency-confusion ve typosquatting, saldırganların geliştiricilerin refleksle kullandığı paketleri taklit etmesine olanak tanır.
- Son imzalama için kullanılan bir hardware wallet, private key'lerinizi herhangi bir uzantı, tarayıcı veya OS ele geçirilmesinden izole eder.
Tarayıcı uzantısı tedarik zinciri saldırısı nedir?
MetaMask veya Phantom gibi kripto cüzdanları dahil, yüklediğiniz her tarayıcı uzantısı tarayıcınızın içinde geniş izinlerle çalışan küçük bir programdır. Tedarik zinciri saldırısı, cüzdanın kendisi yerine yazılım teslimat hattını hedef alır. Saldırgan, kriptografinizi kırmak yerine cüzdanınızın veya cüzdan geliştiricinizin güvendiği bir şeyi zehirler. Bu şey bir kod kütüphanesi, yazılım güncellemesi, alan adı veya mağazaya güncelleme gönderen yayıncı hesabı olabilir.
Zehirlenmiş unsur yayımlandığında, sorgulamak için hiçbir nedeniniz olmayan rutin bir güncelleme olarak makinenize gelir. Uzantı hâlâ normal görünür ve normal davranır, ancak artık küçük bir ek rutin içerir. Bu rutin herhangi bir web sayfasının içeriğini okuyabilir, işlem ayrıntıları cüzdanınıza ulaşmadan önce yeniden yazabilir veya imzalamak üzere olduğunuz bir işlemin hedef adresini sessizce değiştirebilir. Bir ETH veya SOL kullanıcısı için, enjekte edilen bu tek satır kod bir hot wallet'ı tek bir onayla boşaltmaya yeter.
'Tedarik zinciri' ifadesi, modern yazılımın inşa edilme biçiminden gelir. Çalıştırdığınız cüzdan nadiren sıfırdan yazılır. npm gibi kayıt depolarından yüzlerce açık kaynak paketi çeker ve bu paketler de daha fazla paket çeker. Bu zincirdeki her halka olası bir ele geçirilme noktasıdır ve 'Install' düğmesine tıkladığınızda güvenliğine örtük olarak güvendiğiniz pek çok aktörden yalnızca biri cüzdan sağlayıcısıdır.
Saldırganlar zinciri gerçekte nasıl ele geçirir?
Birkaç pratik kalıp vardır ve gerçek dünyadaki çoğu kripto hırsızlığı bunlardan iki veya üçünü birleştirir. Mekaniği anlamak, fonlarınız hareket ettikten sonra değil önce uyarı işaretlerini tanımanın tek yoludur.
npm kayıt deposunda dependency-confusion
Dependency-confusion, paket yöneticilerinin adları çözümleme biçimindeki bir tuhaflıktan yararlanır. Bir geliştirici derleme betiğine internal-wallet-utils yazdığında, paket yöneticisi önce bu adla bir paketin zaten var olup olmadığını public npm kayıt deposunda kontrol eder ve daha yüksek sürüm numarasını tercih eder. Saldırganlar, dahili paket adlarının public depolar, iş ilanları ve JavaScript paketleri üzerinden sızmasını izler, sonra aynı ada ve çok daha yüksek bir sürüme sahip public bir paket yayımlar. Bir sonraki derlemede cüzdan ekibi kendi private kopyası yerine kötü amaçlı public kopyayı çeker.
Bu teorik değildir. Mercedes-Benz ve U.S. Army gibi şirketlerdeki büyük olaylar, maruziyetin ne kadar yaygın olduğunu göstermiştir. Bir kripto cüzdanı için, ele geçirilmiş paket bir sonraki meşru güncellemenin parçası olarak, cüzdan sağlayıcısının kendi dijital imzası ve tanıdık bir değişiklik günlüğüyle gönderilirdi. Kullanıcıların bir şeylerin yanlış olduğunu bilmesinin hiçbir yolu olmazdı.
Typosquatting ve ad çakışmaları
Typosquatting daha basittir ve en az onun kadar etkilidir. Saldırgan, bir geliştiricinin import sırasında yanlış tuşa basmasını umarak popüler bir pakete neredeyse aynı ada sahip bir paket yayımlar. ethers.js, ethhers olur, @solana/web3.js, @solannna/web3.js olur, lodash, lodahs olur. Bir cüzdan ekibi yanlışlıkla benzeri paketi dahil ederse, saldırgan artık üretim derlemesine kod göndermiş olur.
npm ekosisteminde on milyonlarca paket ve sürekli değişim vardır. Otomatik lockfile'lar ve tekrarlanabilir derlemeler riski azaltır, ancak yalnızca cüzdan ekibi bunları doğru kullanıyorsa ve bir güvenlik araştırmacısı her bağımlılığı inceliyorsa yardımcı olurlar. Daha küçük ekipler çoğu zaman bu lükse sahip değildir.
Ele geçirilmiş yayıncı hesapları üzerinden kötü niyetli güncellemeler
En dramatik saldırılar çalınmış yayıncı kimlik bilgilerinden gelmiştir. İyi belgelenmiş bir vakada saldırganlar, bir geliştiricinin Chrome Web Store hesabına erişim elde etti ve cüzdanla ilişkili bir araç olarak da kullanılan popüler bir şifre yöneticisine kötü amaçlı bir güncelleme gönderdi. Güncelleme gerçeğiyle aynı görünüyordu, tüm eski özellikleri koruyordu ve uzantının görebildiği verileri dışarı sızdıran gizli bir script ekliyordu.
Kripto cüzdan uzantıları özellikle çekici bir hedeftir çünkü kullanıcıları değerli varlıklar tutar. Yüz binlerce kuruluma sahip bir cüzdana yönelik ele geçirilmiş tek bir güncelleme, kimse fark etmeden saldırganlara milyonlarca ETH veya SOL kazandırabilir. Uzantı mağazasının bir güncellemenin çalışma zamanı davranışını gerçekten incelemesinin bir yolu yoktur, bu nedenle kötü amaçlı sürüm yüklendiği anda yayımlanır.
Tarayıcı mağazasında kimliğe bürünme
Gerçek bir yayıncı ele geçirilmesi olmasa bile saldırganlar, benzer adlar altında meşru cüzdan uzantılarını klonlar, sahte beş yıldızlı yorumlar satın alır ve listelemelerinin gerçek olanın üstünde görünmesi için arama reklamlarına ödeme yapar. Kurban MetaMask veya Phantom gibi görünen şeyi yükler, seed phrase'ini kusursuz hazırlanmış bir phishing arayüzüne yazar ve cüzdanın sonu gelir.
'Verified publisher' gerçekten neyi garanti eder
Chrome Web Store veya Firefox Add-ons sitesindeki yeşil ya da mavi 'verified' rozeti, yazılımdaki en yanlış anlaşılan güven sinyallerinden biridir. İşte gerçekte neyi kanıtladığı ve neyi kanıtlamadığı.
Rozet, eklentinin arkasındaki yayıncının mağaza nezdinde kimliğini doğruladığını teyit eder. Bu genellikle küçük bir ücret ödeyerek ve bir alan adı ya da ticari kuruluş üzerinde kontrol sahibi olduğunu doğrulayarak yapılır. Listelenen eklentinin gerçekten de listede adı görünen şirketten geldiğini söyler. Şirketin kusursuz bir güvenlik geçmişine sahip olduğunu söylemez. Bugünkü güncellemenin dünkü kodla aynı olduğunu söylemez. Eklentinin içindeki açık kaynak bağımlılıkların ele geçirilmediğini söylemez. Geliştiricinin kendi kimlik bilgilerinin bütünlüğü hakkında da hiçbir şey söylemez, bunlar hâlâ oltalama yoluyla ele geçirilebilir, çalınabilir veya satılabilir.
Crypto kullanıcıları için pratik sonuç rahatsız edicidir. İyi bilinen, doğrulanmış bir ekibin cüzdanı bile tedarik zincirindeki herhangi bir halka bozulursa yarın kötü amaçlı bir sürüm yayınlayabilir. Verified rozeti bariz dolandırıcılıklara karşı faydalı bir filtredir, ancak bu kontrol listesinin geri kalanını atlamanızı sağlayacak türden bir garanti değildir.
Gerçekte karşılaştığınız gerçekçi riskler
Savunmaları listelemeden önce hata biçimleri konusunda dürüst olmak gerekir. Tedarik zinciri saldırıları varsayımsal uç senaryolar değildir. Bunlar aktif, iyi finanse edilen bir crypto hırsızlığı kategorisidir ve olay sonrası analizlerde bazı kalıplar tekrar tekrar görülür.
En büyük tek risk, hedef adresi değiştirilmiş bir işlemi imzalamaktır. Kötü amaçlı bir eklenti sayfayı okur, meşru bir adrese 1 ETH göndermek üzere olduğunuzu algılar ve bu adresi sessizce saldırganın kontrolündeki bir adresle değiştirir. Tutar, gas ücreti ve görünen arayüz tamamen doğru görünür. Onayla'ya tıklarsınız ve fonlar hareket eder.
İkinci risk seed phrase ele geçirilmesidir. Zehirlenmiş bir eklenti, dikkatsiz bir kullanıcının kurtarma ifadesini yapıştırdığı veya yazdığı herhangi bir HTML formu da dahil olmak üzere sayfa DOM'undaki her şeyi okuyabilir. İfade dışarı sızdırıldığında, gelecekte alınacak savunma önlemlerinden bağımsız olarak cüzdan sonsuza dek tehlikeye girer.
Üçüncü risk kör onaylardır. 2025'te Ethereum için kullanıma giren ve 2026 boyunca olgunlaşmaya devam eden EIP-7702 mekanizması dahil olmak üzere yeni token standartları, EOA'ların, yani kullandığınız normal cüzdanlar olan harici sahipli hesapların, bir işlem sırasında kontrolü geçici olarak smart contract koduna devretmesine izin verir. Kötü amaçlı bir eklenti bunu kötüye kullanarak, saldırgan kontrolündeki mantığın aynı blok içinde cüzdanınızı boşaltmasına olanak tanıyan bir onayı pakete dahil edebilir. İşlem hâlâ 'approve' der, ancak onaylanan şey elinizde tuttuğunuz her token'ı taşıma yetkisidir.
Dördüncü risk 'neredeyse meşru' güncellemedir. Ele geçirilmiş bir eklenti mağazadan kaldırıldıktan sonra bile, otomatik güncelleme almış her kullanıcı için hasar devam eder. Mağaza kaldırma süreçleri yavaştır ve tarayıcı önbellekleri bazen kötü sürümü işaretlendikten uzun süre sonra bile çalıştırmaya devam eder. Uyarı size ulaştığında, saldırgan genellikle fonları bir mixer üzerinden çoktan taşımış olur.
Kendinizi savunmak: pratik bir kontrol listesi
Aşağıdaki adımların hiçbiri tek başına kesin çözüm değildir. Amaç, bunları katmanlar hâlinde kullanarak bir aşamadaki ihlalin toplam kayba dönüşmesini engellemektir.
Gerçekte neyin yüklü olduğunu denetleyin
Tarayıcınızın eklenti listesini açın ve her bir öğeye tek tek bakın. Her biri için üç soru sorun: Bunu hâlâ kullanıyor muyum, kimin yaptığını biliyor muyum ve ziyaret ettiğim her siteye erişmesi gerekiyor mu? 'Ziyaret ettiğiniz web sitelerindeki tüm verilerinizi okuma ve değiştirme' izni isteyen eklentiler, fiilen bankacılık şifrenize sahipmiş gibi ele alınmalıdır. 'Evet, bu geliştiriciye bu düzeyde erişim konusunda güveniyorum' diyemiyorsanız, eklentiyi kaldırın.
Crypto özelinde: gerçekten kullandığınız cüzdan eklentisini ve en fazla bir ya da iki dar kapsamlı yardımcıyı tutun. Her ek eklenti, devraldığınız başka bir tedarik zinciridir.
Kritik eklentileri sabitleyin ve güncellemeleri inceleyin
Çoğu tarayıcı, otomatik güncellemeleri eklenti bazında devre dışı bırakmanıza izin verir. Cüzdanınız ve anahtarlara ya da işlemlere dokunan herhangi bir eklenti için otomatik güncellemeyi kapatın ve yeni bir sürüm yüklemeden önce değişiklik günlüğünü manuel olarak inceleyin. Sürüm numarasını, sahte olabilecek mağaza içi bağlantıyla değil, projenin resmi GitHub sürümleri sayfasıyla karşılaştırın.
Teknik bilginiz varsa, eklentileri mağazadan değil kaynak kodlarından, load-unpacked iş akışı kullanarak kurun. Bu, derlemeyi incelemenize, checksum değerlerini ekibin yayımladığı hash'lerle doğrulamanıza ve iyi olduğu bilinen bir sürümü dondurmanıza olanak tanır. Chrome için Extension Auditor gibi araçlar, bir eklentinin gerçekte istediği tüm izinleri görünür şekilde kullandıklarıyla karşılaştırarak listeleyebilir. Bu güçlü bir kırmızı bayrak tespit yöntemidir.
Yayıncıyı, paketi ve yolu doğrulayın
Her kritik eklenti için kanonik kaynağı belirleyin: resmi GitHub deposu, resmi web sitesi, resmi doğrulanmış yayıncı kaydı. Bunları yer imlerine ekleyin ve asla bir arama sonucundan kurulum yapmayın. Gerçek MetaMask listesinin üstünde 'MetaMask' için bir reklam görürseniz, bunun bir dolandırıcılık olduğunu varsayın, çünkü genellikle öyledir.
ETH ve SOL kullanıcıları için bu aynı zamanda 'gas optimizasyonu', 'MEV koruması' veya 'airdrop artırma' vaat eden cüzdan eklentilerine şüpheyle yaklaşmak anlamına gelir. Birçoğu, gerçek cüzdanların üzerine kurulmuş ve saldırganın isteyeceği türden sayfa okuma ve yeniden yazma yeteneğini ekleyen sarmalayıcılardır.
Son imzalama için hardware wallet kullanın
Bu, başarılı bir tedarik zinciri saldırısı dahil olmak üzere tarayıcı düzeyindeki her türlü ihlale karşı en etkili tek savunmadır. Ledger veya Trezor cihazı gibi bir hardware wallet, özel anahtarlarınızı tarayıcının ve üzerindeki hiçbir eklentinin okuyamayacağı güvenli bir bileşende tutar. Onu MetaMask, Phantom veya Rabby'ye bağladığınızda, eklenti işlemi oluşturur ve cihaza gönderir. Cihaz, hedef adresi, tutarı ve varsa contract çağrılarını kendi güvenilir ekranında gösterir. Fiziksel olarak, bir düğmeye basarak ve tarayıcınızdan yalıtılmış donanım üzerinde onaylarsınız.
Bu, yaygın tüm eklenti saldırılarını bozar. Kötü amaçlı bir eklenti tarayıcıdaki hedef adresi değiştirse bile, hardware wallet üzerinde gösterilen adres eşleşmez. İmzalamadan önce tutarsızlığı görürsünüz ve fonlar yerinde kalır. Seed phrase yakalayan bir eklenti bile hiçbir şey öğrenemez, çünkü ifade hardware cihazından asla çıkmaz.
Bedeli sürtünmedir. Hardware wallet'lar para gerektirir, işlem başına birkaç ekstra saniye alır ve zaman zaman firmware güncellemeleri gerektirir. Sizi üzecek kadar büyük herhangi bir bakiye için bu takas ezici biçimde buna değer.
Onay hijyeni uygulayın
Cüzdanınız nasıl imzalanırsa imzalansın, asla sınırsız token izinleri vermeyin. Bir dApp USDC veya diğer ERC-20 token'larınızı harcamak için izin istediğinde, gerçekten işlem yapmayı amaçladığınız tutarla eşleşen özel bir üst sınır belirleyin. ETH için Etherscan'in approval checker'ı veya Revoke.cash gibi bir araçla, SOL token'ları için de benzer explorer'larla eski izinleri düzenli olarak iptal edin.
2025 boyunca Ethereum'un ana akım deneyiminin parçası hâline gelen ve 2026'da cüzdanlar üzerinden kullanıma açılmaya devam eden yeni EIP-7702 delegasyon akışına özellikle dikkat edin. Bir delegasyon, bir EOA'nın işlem süresi boyunca smart account gibi davranmasını sağlar. Bu, gas sponsorluğu ve toplu onaylar için kullanışlıdır, ancak aynı zamanda devredilen contract'a imzaladığınız varlıkları hareket ettirme yeteneği de verir. Cüzdanınızın gösterdiği insan tarafından okunabilir özeti okuyun, delegasyon verilen contract'ı doğrulayın ve tanımadığınız sitelerde delegasyon imzalamaktan kaçının.
Sıcak, ılık ve soğuk fonları ayırın
Tüm ETH veya SOL birikiminizi bir tarayıcı cüzdanında tutmayın. Katmanlı bir yapı kullanın: aktif alım satım ve dApp keşfi için küçük bir hot wallet, orta büyüklükteki varlıklar için warm wallet ve uzun vadeli birikimler için hardware ile güvence altına alınmış cold wallet. Fonlar yalnızca aşağı doğru, asla yukarı doğru değil, cold'dan hot'a akar. Bir tedarik zinciri saldırısı hot wallet'ınızı boşaltırsa, kayıp sınırlı kalır.
Eklenti düzeyindeki tehditlerin önünde nasıl kalırsınız
Tarayıcı eklentisi tedarik zinciri saldırıları hızla evrilir. Yeni npm olayları, yeni kimliğe bürünme kalıpları ve EIP-7702 gibi yeni cüzdan standartları her çeyrekte tehdit yüzeyini değiştirir. Hangi eklentilerin ele geçirildiğini, hangi yayıncıların kimlik bilgilerini kaybettiğini ve hangi bağımlılık olaylarının gerçekten kullandığınız cüzdanlarla ilgili olduğunu takip etmek, manuel yaptığınızda tam zamanlı bir araştırma işidir.
Zippfeed, crypto güvenlik başlıklarını sentiment puanlamasıyla (bullish, neutral veya bearish) ve önem derecesiyle öne çıkarır. Böylece işaretlenmiş bir eklentiyi veya büyük bir npm ele geçirme olayını tarayıcınızın güncelleme kuyruğuna ulaşmadan önce fark edebilirsiniz.