Clear Sky Science · tr
DIVE: Çok Etiketli Akıllı Kontrat Zayıflık Veri Kümesi
Neden daha güvenli dijital anlaşmalar önemli
Her gün, milyarlarca dolar "akıllı kontratlar" aracılığıyla—Ethereum gibi blok zincirlerinde işlemleri otomatikleştiren kod parçaları—taşınır. Bu dijital anlaşmalarda gizli hatalar olduğunda sonuçlar ağır olabilir: fonların kilitlenmesi, varlıkların çalınması ve yeni finansal sistemlere güvenin zedelenmesi. Bu makale, araştırmacıların akıllı kontratlardaki zayıflıkları daha güvenilir şekilde bulup anlamalarına yardımcı olan, büyük ve titizlikle oluşturulmuş bir veri kümesi olan DIVE’i tanıtıyor; böylece kripto para ve merkeziyetsiz uygulamaların dayandığı dijital anlaşmalar herkes için daha güvenli hale gelebilir.

Dijital kontratlar nasıl yaşar ve değişir
Akıllı kontratlar yaşam döngüleri boyunca birkaç aşamadan geçer. Geliştiriciler tarafından okunabilir kaynak kodu olarak başlar, ardından makine dostu talimatlara derlenir ve dağıtım işlemiyle blok zincirine gönderilir. Kabul edildikten sonra kontrat kalıcı bir adrese kavuşur ve kodu değiştirilemez hale gelir, ancak iç durumu insanlar etkileşimde bulundukça evrimleşebilir. Bu yol boyunca kaynak kodu, bytecode, yapılandırma ve işlem kayıtları gibi farklı veri türleri ortaya çıkar ve bunların her biri olası kusurlar hakkında ipuçları taşır. DIVE, bu yaşam döngüsü bakış açısı etrafında inşa edilmiştir: her kontrat için dağıtımdan önce (kod ve yapılandırma) ve dağıtımdan sonra (zincir üstü davranış) özellikler toplayarak daha bütünlüklü bir görünüm sunar.
Neden önceki veri kümeleri yetersiz kaldı
Erken dönem akıllı kontrat koleksiyonları, zayıflıkları tespit etmek için makine öğrenimi yaklaşımlarını başlatmaya yardımcı oldu, ancak ciddi sınırlamalara da sahiptiler. Birçoğu yalnızca az sayıda kontrat içeriyor, dar bir zaman aralığına veya belirli derleyici sürümlerine odaklanıyor ya da sadece kaynak kodu veya bytecode gibi tek tür veri yakalıyordu; her ikisini birden değil. Bazıları, gerçekte bir kontratta aynı anda birden fazla türde sorun olabileceği halde, her kontratta yalnızca tek bir zayıflık türü olabileceği varsayımıyla etiketleme yaptı. Etiketler her zaman tutarlı değildi; çünkü farklı çalışmalar farklı adlandırma şemaları kullandı ve ortak bir standart olmadan bir veya iki araca dayanıyordu. Tüm bunlar, makaleler arasında sonuçları karşılaştırmayı veya tek bir çalışmanın ötesine genelleşebilen tespit araçları geliştirmeyi zorlaştırdı.
DIVE veri kümesi neler içeriyor
DIVE, 2016 ile 2024 yılları arasında dağıtılmış ve Solidity programlama dilinin ana sürümlerini kapsayan 22.330 gerçek Ethereum kontratını bir araya getirir. Her kontrat yüzlerce özellikle tanımlanmıştır. Dağıtımdan önce DIVE, derleyici sürümü, optimizasyon ayarları, harici kütüphane kullanımı, genel arayüzün yapısı (fonksiyonlar ve olaylar), kod karmaşıklığı ölçümleri ve kontrat oluşturmak için kullanılan düşük seviyeli talimatlardaki kalıplar gibi öğeleri kaydeder. Dağıtımdan sonra ise başlatma işleminden—gaz kullanımı, gönderilen değer, zamanlama ve blok içindeki konum—ve kontratın çalışma zamanı kodundaki talimat kalıplarından gelen bilgileri ekler. Bu çift yönlü görünüm, kodlama seçimleri ile zincir üstü davranışların güvenlikle nasıl ilişkili olduğunu incelemeye olanak tanır.
Zayıflıklar nasıl tespit ediliyor
DIVE, hangi kontratların savunmasız olduğuna karar vermek için tek bir araca veya basit bir çoğunluk oylamasına güvenmez. Bunun yerine, her birinin güçlü yönleri olan altı farklı analiz aracını çalıştırır ve bulgularını standartlaştırılmış bir çerçeveden geçirir. Araç çıktıları, yeniden giriş (reentrancy) hataları, bozuk erişim kontrolü, aritmetik hatalar, hizmet engelleme riskleri, kötü rastgelelik, önden koşma (front running), zaman manipülasyonu ve kontrol edilmeyen düşük seviyeli çağrılar gibi DASP Top 10 listesinden sekiz iyi bilinen kategoriye eşlenir. Ardından kategori bazında her aracın ne kadar güvenilir olduğunu belirleyen "güç-temelli" bir oylama şeması uygulanır. Buna ek olarak ikinci bir doğrulama adımı, işaretlenen sorunun gerçekten kontratın koduyla desteklenip desteklenmediğini kontrol eder—örneğin iddia edilen bir aritmetik hatanın modern derleyici kontrolleri veya güvenlik kütüphaneleri tarafından zaten korunup korunmadığını teyit ederek. Bu ek titizlik, özellikle hizmet engelleme ve zamanla ilgili uyarılar için pek çok yanlış alarmı ortadan kaldırır.

Bu kaynak nasıl kullanılabilir
DIVE çok etiketli olduğu için tek bir kontrat birden fazla zayıflık türüyle işaretlenebilir; bu, gerçek dünya hatalarının nasıl kümelendiğini ve etkileştiğini yansıtır. Veri kümesi, ikili ve çok sınıflı sınıflandırma, çok etiketli ve çok görevli öğrenme, derleyici sürümleri veya yıllar arasında transfer öğrenimi ve dağıtımdan önceki ile dağıtımdan sonraki bilgilerin değerini karşılaştıran deneyler gibi geniş bir çalışma yelpazesini destekler. Ayrıca farklı zayıflıkların ne sıklıkta birlikte ortaya çıktığını belgeleyerek, örneğin yeniden giriş ve erişim kontrolü sorunlarının birlikte görülme eğiliminde olduğunu, diğerlerinin ise daha nadir ve izole olduğunu ortaya koyar. Bu kalıplar, her türü izole ele almak yerine hata türleri arasındaki ilişkileri modelleyen daha gelişmiş öğrenme yöntemlerini teşvik eder.
Günlük kullanıcılar için bunun anlamı
Çoğu kişi için akıllı kontratlar, ticaret uygulamaları, oyunlar, kredi platformları ve diğer blok zinciri hizmetlerinin arkasındaki görünmez altyapıdır. DIVE veri kümesi doğrudan zayıflıkları düzeltmez, ancak daha güçlü tespit araçlarını eğitmek ve adil şekilde test etmek için gereken ayrıntılı, iyi etiketlenmiş veriyi sağlar. Bu araçlar, geliştiricilerin sorunları daha erken yakalamasına ve denetçilerin incelemelerini önceliklendirmesine yardımcı olabilir. Çerçeve açık olduğundan ve zaman içinde yeni kontratlar üzerinde yeniden çalıştırılabildiğinden, DIVE dijital anlaşmaların güvenliğinin iyileştirilmesi için yaşayan bir temel sunar—günlük kullanıcıların güvendikleri koddaki gizli hatalar nedeniyle zarar görme riskini azaltır.
Atıf: Alsunaidi, S.J., Aljamaan, H. & Hammoudeh, M. DIVE: A Multi-Label Smart Contract Vulnerability Dataset. Sci Data 13, 664 (2026). https://doi.org/10.1038/s41597-026-07025-5
Anahtar kelimeler: akıllı kontrat güvenliği, Ethereum, blok zinciri güvenlik açıkları, makine öğrenimi veri kümesi, DASP En İyi 10