Geçen hafta (2026/07/13 - 2026/07/19), Ethereum ve Solana üzerinde toplam yaklaşık 1,35 milyon dolar kayba yol açan aşağıdaki 2 önemli güvenlik olayı öne çıkmaktadır.
| Tarih | Olay | Tür | Tahmini Kayıp |
|---|---|---|---|
| 2026/07/15 | BarnBridge | Hatalı Yönetişim | ~$776K |
| 2026/07/16 | DeFiTuna | Kusurlu Sağlık Kontrolü | ~$570K |
- DeFiTuna: Pozisyon sağlık kontrolü, sıfır olmayan bir borç varken sıfır varlık değerini sağlıklı olarak kabul etti; saldırgan bu açığı tetiklemek ve kötü borç pozisyonu oluşturmak için kontrollü takas yönlendirmesini ve ayrı bir düşük likidite havuzunu kullandı.
- BarnBridge: Kullanım dışı bırakılmış bir yönetişim sistemi, kritik protokol yapılandırmasını değiştirmek ve kullanıcı onaylı fonları boşaltmak amacıyla istismar edildi.
Web3 için En İyi Güvenlik Denetçisi
Lansmanöncesinde tasarımı, kodu ve iş mantığını doğrulayın
Haftanın Öne Çıkanı: DeFiTuna
Temel neden, pozisyon sağlık kontrolündeki kusurlu sıfır-değer dalıydı: sıfır varlık değerine ve yaklaşık 570.000 dolarlık ödenmemiş borca sahip bir pozisyon sağlıklı olarak kabul edildi. Saldırgan bu açığı takası ayrı bir düşük likidite havuzu üzerinden yönlendirerek tetikledi; ancak sağlık kontrolü, ortaya çıkan kötü borcu engellemesi gereken nihai denetim mekanizmasıydı.
16 Temmuz 2026'da, Solana üzerinde kaldıraçlı spot pozisyonları destekleyen bir borç verme protokolü olan DeFiTuna, USDC cinsinden yaklaşık 570.000 dolar tutarında istismar edildi [1]. Temel neden, varlık değeri sıfır ve borç sıfırdan büyük olduğunda bile pozisyonu sağlıklı olarak kabul eden, pozisyon sağlık kontrolündeki kusurlu sıfır-değer dalıydı. Saldırgan sıfır teminatla kaldıraçlı bir pozisyon açtı, protokol kasasından USDC ödünç aldı ve takası saldırgan tarafından kontrol edilen düşük likidite havuzu üzerinden yönlendirerek pozisyonun hedef tokenden ihmal edilebilir miktarda almasına neden oldu. Hassasiyet kesmesi ardından pozisyon değerini sıfıra yuvarladı ve sağlık kontrolü pozisyonu sağlıklı olarak kabul ederek yaklaşık 570.000 dolarlık kötü borç oluşturdu.
Arka Plan
DeFiTuna, marjin ticaretini destekleyen Solana üzerinde bir borç verme protokolüdür. Kullanıcı, bir tokeni teminat olarak sunarak, bir protokol kasasından borç alarak ve ödünç alınan fonları hedef bir tokene takas ederek spot bir pozisyon açabilir. Ortaya çıkan pozisyon daha sonra sağlıklı olup olmadığını belirlemek için borçla karşılaştırılır.
Bir DeFiTuna spot piyasasında, iki havuz tokenine token A ve token B adı verilir. Saldırıya uğrayan piyasada token A TUNA, token B ise USDC idi.
USDC, teminat tokeniydi (collateral_token). KullanıcıUSDC'yi marjin olarak yatırır, DeFiTuna kasasından ekUSDCborç alır ve ödünç alınanUSDCdaha sonraTUNA'ya takas edilir.TUNA, pozisyon tokeniydi (position_token); takasın ardından pozisyonun tuttuğu varlıktı. Net etki,USDCborçla finanse edilenTUNAüzerinde kaldıraçlı bir uzun pozisyondur.- Kasa hesapları, borç veren likiditesini tutar ve ödünç alınan fonların kaynağıdır.
- AMM havuzu,
TUNA/USDCçifti için piyasa likiditesi ve fiyat bağlamı sağlar.
DeFiTuna, pozisyon takaslarını bir Solana takas toplayıcısı olan Jupiter üzerinden yönlendirir. Takas yolu, DeFiTuna talimatına Jupiter rota verisi ve rota hesapları olarak sağlanır. Çağıran bu hesapları sağladığından, takasın hangi havuzu kullandığını çağıran kontrol eder. Takası gerçekleştirmeden önce DeFiTuna, normal piyasa havuzu fiyatını bir oracle ile karşılaştırarak takas öncesi bir fiyat kontrolü yapar.
Güvenlik Açığı Analizi
Hatalı program DeFiTuna'dır (tuna4u...nogD).
Temel neden, pozisyon sağlık kontrolündeki kusurlu sıfır-değer dalıydı. Bir takasın ardından DeFiTuna, tutulan TUNA'yı USDC cinsine çevirerek pozisyonu değerlendirdi. TUNA bakiyesi sıfıra yuvarlanacak kadar küçükse total alanı 0 oluyordu. Sağlık kontrolü mantığı, debt == 0 şartını aramaksızın total == 0 durumunu sağlıklı olarak değerlendiriyordu.


Saldırı Analizi
İki tasarım özelliği, saldırgana ödünç alınan fonların nereye yönlendirileceği üzerinde kontrol sağladı. Birincisi, DeFiTuna, çağıran tarafından sağlanan Jupiter RouteV2 verilerini, oracle fiyatından ve ödünç alınan miktardan bağımsız olarak kendi kabul edilebilir minimum TUNA çıktısını türetmeden kabul etti. İkincisi, takas öncesi oracle kontrolü yalnızca normal DeFiTuna piyasa havuzunu doğruladı; Jupiter rotasının gerçekte kullanacağı havuzu değil.

Not: Proje ekibi tarafından onaylanan olay sonrası analiz [1], saldırgan tarafından oluşturulan havuzun meşru oracle fiyatına yakın başlatıldığını açıklamaktadır. Zincir üstü kanıtlar, havuzun aşırı bir fiyatta başlatıldığını göstermektedir; takas öncesi kontrol, saldırgan tarafından kontrol edilen havuzu değil, ayrı normal piyasa havuzunu doğruladığı için geçti.
Aşağıdaki analiz, 4x33Dq...EXj1 işlemine dayanmaktadır. Birden fazla saldırı işlemi gerçekleştirildi; bu işlem temel tekniği örneklemektedir.
- Adım 1: Saldırgan yeni bir Fusion
TUNA/USDChavuzu oluşturdu. Bu havuz gerçekTUNAveUSDCmint'lerini kullandı ancak normal DeFiTuna piyasa havuzundan ayrıydı. Havuz,TUNAbaşına yaklaşık 1,149 milyarUSDCfiyatlamasıyla208636tick'ine yakın aşırı bir fiyatta başlatıldı. Bu fiyatta, çok küçük miktardaTUNAbile bir takasta yüz binlerceUSDC'yi emebilirdi.


- Adım 2: Saldırgan yeni havuza iki küçük satış taraflı limit emri yerleştirdi. Her emir
0,000526 TUNAyatırdı; toplam0,001052 TUNA. Havuz fiyatı son derece yüksek olduğundan, bu küçükTUNAarzı takas gerçekleştiğinde tüm ödünç alınanUSDCmiktarını emebilirdi.


- Adım 3: Havuz hazırlandıktan sonra saldırgan, pozisyon tokeni olarak
TUNAve teminat tokeni olarakUSDCile bir DeFiTuna spot pozisyonu açtı. Saldırgan teminat olarak0 USDCsağladı ve DeFiTuna'nınUSDCkasasından570.000 USDCödünç aldı.

- Adım 4: Takastan önce DeFiTuna, normal piyasa havuzu fiyatını oracle fiyatıyla karşılaştırdı. Normal havuzun spot fiyatı oracle'a yakındı, bu nedenle kontrol geçti. Bu kontrol yalnızca normal DeFiTuna piyasa havuzunu doğruladı; Jupiter rotasının kullanacağı Fusion havuzunu doğrulamadı.

- Adım 5: Takas, fonları minimum çıktı pratikte sıfıra ayarlanmış şekilde saldırgan tarafından kontrol edilen Fusion havuzu üzerinden yönlendiren saldırgan tarafından sağlanan Jupiter rotasını izledi. Protokol ücretinin ardından
569.601 USDCsaldırı havuzuna yönlendirilirken DeFiTuna pozisyonu yalnızca494ham birimTUNA(0,000494 TUNA) aldı.


- Adım 6: Takastan sonra pozisyon yaklaşık
570.000 USDCborç ve yalnızca toz miktarındaTUNAtutuyordu. DeFiTuna buTUNAbakiyesiniUSDCdeğerine dönüştürdüğünde sonuç0'a yuvarlandı. Sağlık kontrolütotal == 0durumunu sağlıklı olarak değerlendirdi ve kötü borç pozisyonu kabul edildi.


- Adım 7: Saldırgan, saldırgan tarafından kontrol edilen Fusion havuzunda biriken
USDC'yi çekti. İki çekim neredeyse eşitti ve Adım 2'de oluşturulan iki limit emri pozisyonuyla örtüşüyordu.
Sonuç
Temel neden, sağlık kontrolünün total == 0 dalının ödenmemiş borçtan bağımsız olarak pozisyonu sağlıklı kabul etmesiydi. Saldırgan tarafından kontrol edilen yönlendirme ve likidite bu açığı tetiklemek için gerekli koşulları yarattı; ancak sağlık kontrolü, kötü borcu engellemesi gereken nihai denetim mekanizmasıydı.
En doğrudan düzeltme, total == 0 ve debt > 0 olan herhangi bir pozisyonu reddetmektir. Ödenmemiş borcu olan sıfır değerli bir pozisyon hiçbir zaman sağlıklı değildir. Ayrıca protokol, çağıran tarafından sağlanan rota parametrelerinden bağımsız olarak oracle fiyatından ve ödünç alınan miktardan kabul edilebilir minimum takas çıktısını türetmelidir. Oracle/fiyat kontrolünü gerçek takas havuzuna bağlamak veya takas çıktısını protokol tarafından hesaplanan bir alt sınıra göre doğrulamak, takas öncesi kontrolün doğrulanmamış bir havuz üzerinden yönlendirme yapılarak atlatılmasını önleyecektir.
Referanslar
Bu Haftanın Diğer Olayları
BarnBridge
15 Temmuz 2026'da, Ethereum üzerinde bir getiri tahsis protokolü olan BarnBridge, USDC cinsinden yaklaşık 776.000 dolar tutarında istismar edildi [1]. Temel neden, terk edilmiş yönetişim sözleşmesinin kritik protokol yapılandırmasını değiştirme yetkisini korumaya devam etmesiydi. Saldırgan, bir protokol bileşeninin kontrolcüsünü değiştiren kötü amaçlı bir öneriyi geçirecek kadar oy gücü edindi; ardından kullanıcı onaylı USDC'yi aktarmak için yeni kontrolcüyü kullandı.
Arka Plan
BarnBridge, getiri sağlamak amacıyla kullanıcıların fonlarını farklı borç verme piyasalarına tahsis eden, DAO tarafından yönetilen bir protokoldür. Oy gücü, stake edilen BOND miktarı ve kilit süresiyle belirlenir. Öneri oluşturmak, toplam oy gücünün en az %1'ine eşit oy gücü gerektirmektedir. Bir önerinin geçmesi için minimum %40 yeter sayısını sağlaması ve katılan oyların en az %60'ını alması gerekir. Gönderildikten sonra bir öneri, yürütülmeden önce iki günlük ısınma süreci, üç günlük oylama süreci ve iki günlük kuyruk sürecinden geçer.
Güvenlik Açığı Analizi
Temel neden, protokolün kullanım dışı bırakılmasının ardından terk edilmiş yönetişim sözleşmesinin kritik protokol yapılandırmasını değiştirme yetkisini korumaya devam etmesiydi. Yönetişim sistemi, kullanıcıların daha önce USDC harcaması için onayladığı bir sözleşme olan CompoundProvider'ın Controller atamasını kontrol ediyordu. BarnBridge kullanım dışı bırakıldığı için, toplam stake edilen BOND ve aktif katılım önemli ölçüde azalmış; bu da düşmanca öneri geçişini önemsiz derecede kolay hale getirmişti.
Saldırı Analizi
Aşağıdaki analiz, 0xd191fe...895afb işlemine dayanmaktadır.
Saldırgan yaklaşık 32.795 BOND edinmek için yaklaşık 0,335 ETH harcadı, ardından 32.000 BOND yatırıp kilitledi ve toplam oy gücünün yaklaşık %43'ünü elde etti.
- Adım 1: Saldırgan bir proxy sözleşmesi dağıttı ve kötü amaçlı bir öneri sundu. İki günlük ısınma sürecinin ardından saldırgan, hem yeter sayı hem de onay gerekliliklerini karşılayarak tüm oy gücünü lehte kullandı.


- Adım 2: Saldırgan öneriyi sıraya koydu. İki günlük kuyruk süresi dolunca saldırgan onu yürüterek
CompoundProvider'ınController'ını saldırganın proxy sözleşmesine ayarladı.

- Adım 3: Saldırgan proxy sözleşmesinin mantığını güncelledi ve
_takeUnderlying()fonksiyonunu çağırdı; bu fonksiyon, yaklaşık 50 kullanıcının ödenmemişUSDCallowance'larını kullanarakUSDC'leriniCompoundProvider'a aktardı. Saldırgan ardından fonları saldırganın adresine iletmek içintransferFees()fonksiyonunu çağırarakUSDCcinsinden yaklaşık 776.000 dolar kâr elde etti.

Sonuç
Bir DAO veya protokol kullanım dışı bırakılıyorsa, yönetişim sözleşmesi güvenlik açısından kritik yapılandırmaları —özellikle yönetici, kontrolcü ve fon çekme izinlerini— değiştirme yetkisini bırakmalı veya kalıcı olarak devre dışı bırakmalıdır. Somut önlemler arasında yönetişim sözleşmesinin alt sözleşmeler üzerindeki yönetici rolünü iptal etmek, mülkiyeti bir yakma adresine devretmek veya güncelleme fonksiyonlarını devre dışı bırakan ve kontrolcü referanslarını değiştirilemez güvenli değerlere ayarlayan nihai bir öneri yürütmek yer almaktadır. Kullanım dışı bırakılmış bir protokolde yönetişim yetkisini bırakmak düşük maliyetli bir saldırı yüzeyi oluşturur: katılım azaldıkça yeter sayıya ulaşmak için gereken sermaye de orantılı olarak düşer.
Referanslar
BlockSec Hakkında
BlockSec, tam kapsamlı bir blok zinciri güvenliği ve kripto uyumluluk sağlayıcısıdır. Müşterilerin kod denetimi gerçekleştirmesine (akıllı sözleşmeler, blok zinciri ve cüzdanlar dahil), saldırıları gerçek zamanlı olarak engelleme, olayları analiz etme, yasadışı fonları izleme ve protokollerin ve platformların tam yaşam döngüsü boyunca AML/CFT yükümlülüklerini yerine getirme konularında yardımcı olan ürün ve hizmetler geliştiriyoruz.
BlockSec, prestijli konferanslarda birden fazla blok zinciri güvenlik makalesi yayımlamış, birçok DeFi uygulamasının sıfırıncı gün saldırısını raporlamış, 20 milyonun üzerinde dolarlık fonu kurtarmak için birden fazla saldırıyı engellemiş ve milyarlarca dolarlık kripto varlığını güvence altına almıştır.
-
Resmi web sitesi: https://blocksec.com/
-
Resmi Twitter hesabı: https://twitter.com/BlockSecTeam



