Güvenlik araştırmacısı 0xflorent, 2016 yılında başarısız olan bir ICO'nun akıllı kontratında dokuz yıldır erişilemeyen 1.003,62 ETH'yi yatırımcılara iade etti. Güncel fiyatlarla yaklaşık 2 milyon dolar değerindeki bu fonlar, kontratın geri ödeme fonksiyonundaki bir hata yüzünden tüm bu süre boyunca kilitli kalmıştı.
Kontrat hatası 9 yıl sonra giderildi
Kontrat, 2016 yılında topluluk tabanlı bir yatırım fonu olarak lanse edilen HongCoin'e, diğer adıyla "The HONG"a ait. Proje hedef toplamı karşılayamayınca yatırımcılara otomatik geri ödeme yapması gerekiyordu; hiçbir zaman yapamadı.
Sorunun kökeni Solidity'nin eski bir sürümüyle yazılan kodda yatıyor. Kontratın geri ödeme fonksiyonu, token bakiyesi küresel bir sayaçtan yüksek olan her yatırımcıyı reddedecek biçimde tasarlanmıştı. Yıllar içinde yapılan kısmi ödemeler bu sayacı 356'ya kadar indirdi; pratik geri ödeme limiti de 3,56 ETH'ye, yaklaşık 7.000 dolara, mahkum oldu. Geri ödeme bekleyenlerin büyük çoğunluğunun bakiyesi ise çok daha fazlaydı.
0xflorent çözümü kontratın bir yönetici fonksiyonunda buldu. Token dağıtımı için yazılmış bu fonksiyon, Solidity'nin sonraki sürümlerinde SafeMath ile kapatılan tamsayı taşması açığına sahipti. Belirli bir girdi değeriyle çağrıldığında bir yatırımcının bakiyesini 1'e sıfırlıyor, bu sayede geri ödeme kontrolü geçilebiliyor ve fonlar serbest bırakılıyordu.
Ancak bu tek taraflı uygulanabilecek bir şey değildi. İlgili yönetici fonksiyonu HongCoin'in çok imzalı cüzdanıyla kısıtlıydı. 0xflorent önce ekiple iletişime geçti, adımları Foundry üzerinde bir mainnet çatalında doğruladı; işlemleri imzalayanlar bizzat ekip üyeleri oldu. İlk e-postadan son işleme kadar yaklaşık bir hafta geçti.
Ekip toplamda 41 işlem imzaladı; her biri ayrı bir yatırımcıya karşılık geliyordu. Bakiyesi yeterince küçük olan yedi yatırımcı ise bu prosedüre gerek kalmadan doğrudan ödeme aldı. Kurtarma sonucunda 48 orijinal yatırımcı fonlarını talep edebilir hale geldi. Pazar günü itibarıyla ikisi bunu yapmıştı: toplam 96,5 ETH, yani yaklaşık 193.000 dolar. Bu iki yatırımcı gönüllü olarak 0xflorent'e "whitehat ödülü" gönderdi, zorunluluk yoktu. Araştırmacının komisyon ya da kesinti almadığını, işin arkasında yalnızca merak olduğunu söylüyor.
Bu, son sekiz günde kamuoyuyla paylaşılan ikinci başarılı kurtarma. 24 Mayıs'ta 0xflorent iki eski kontrattan 19,329 ETH kurtardığını açıklamıştı: 5,141 ETH, çağrılmamış bir geri ödeme fonksiyonunun arkasında bekleyen 2018 tarihli başarısız bir ICO'dan; 14,190 ETH ise 2024'te kapanan Liquality Wallet'a ait yedi süresi dolmuş atomik takastan.
0xflorent metodoloji konusunda fazla gizem yaratmıyor: Kendi barındırdığı bir Ethereum düğümü kurmuş, 100 ETH'den fazla tutan her kontratı işaretleyen bir tarayıcı geliştirmiş ve adayları tek tek incelemiş. "Pek çok kontrat diğerlerinin çatalıdır, birindeki açık aynı kümedeki tüm kontratları etkiler" diyor; bilinen büyük kümelerin zaten büyük ölçüde tarandığını da ekliyor.
Çalışmalarında Claude Code'u da kullanmış, fakat bir çekinceyle: "Yapay zeka, kontratın daha önce kırılmamış olduğu gerçeğinden etkileniyor. Bu yüzden sıklıkla 'kırılamaz, her şeyi denedim' sonucuna varıyor; ki bu çoğunlukla yanlış."
Bu kurtarma DeFi ekosisteminin ciddi bir istismar dalgasıyla sarsıldığı bir döneme denk geldi. Yalnızca Nisan'da çeşitli protokollerden yüz milyonlarca dolar çalındı; en büyük saldırı Kelp DAO'ya yaklaşık 293 milyon dolarlık hasar verdi. Güvenlik firması OpenZeppelin'in kurucu ortaklarından biri de yakın zamanda "tüm DeFi'yi" güvensiz ilan etmişti.
"Sistemleri istismar etmek yerine korumaya çalışan bir karşı hareket görmek istiyorum" diyor 0xflorent. "Hem ahlaki açıdan daha tatmin edici hem de maddi olarak da iyi bir getiri sağlayabiliyor."



