Akıllı sözleşme güvenliği neden normal yazılım güvenliğinden farklıdır?
Akıllı sözleşme güvenliği farklıdır; çünkü kod herkese açıktır, çoğu zaman doğrudan para tutar ve genellikle kullanıma alındıktan sonra değiştirilemez. Bir web uygulamasındaki hata bir gecede giderilebilir; bir sözleşmedeki hata ise kodu okuyan herkes tarafından bulunabilir ve ekip uyanmadan önce istismar edilebilir. Ethereum.org, akıllı sözleşme kusurlarından kaynaklanan kayıpların bir milyar doları aştığını tahmin eder ve erken bir örnek olarak 2016 DAO saldırısını gösterir.
Üyelerin para yatırıp kendi paylarını çekebildiği basit bir ortak birikim havuzu geliştiren, dört kişilik hayali bir stüdyo olan Larkspur Labs'i düşünün. Geliştirici Kofi, yayına almadan önce inceleme notları bırakıyor: 'withdraw önce parayı gönderiyor, sonra bakiyeyi 0 yapıyor. setFee herkese açık, daha sonra kısıtlayacağım. eğitimdeki eski derleyici sürümünü kullanıyorum. ödül tokeninin fiyatı küçük bir borsa havuzundan okunuyor. testler: elle bir kez para yatırıp çektim, çalışıyor'. Her satır, bilinen bir güvenlik açığı türüne işaret ediyor.
Akıllı sözleşmelerde en sık görülen güvenlik açıkları nelerdir?
En yaygın akıllı sözleşme güvenlik açıkları; erişim kontrolü kusurları, dış fiyat verisi kaynağının manipülasyonu, mantık hataları, eksik girdi doğrulaması ve yeniden giriş saldırılarıdır. Bunlar, 2025 OWASP Smart Contract Top 10 listesinin başında yer alır. Ethereum.org da aynı temel kategorileri ele alır.
Yeniden giriş
Bir sözleşme, kendi kayıtlarını güncellemeden önce para gönderir veya başka bir sözleşmeyi çağırır. Kötü niyetli bir alıcı, eski bakiye hâlâ görünürken sözleşmeyi yeniden çağırır ve tekrar para çeker. Kofi'nin bakiyeyi sıfırlamadan önce ödeme yapan para çekme işlevi, bunun klasik örneğidir. Yaygın çözüm, önce durumu güncellemek ve diğer sözleşmelerle en son etkileşime geçmektir; buna genellikle kontroller, etkiler, etkileşimler sıralaması denir.
Erişim denetimi
Herkesin çağırabildiği hassas işlevler. Kofi'nin herkese açık setFee işlevi, herhangi bir yabancının ücreti değiştirmesine izin verir. Ethereum.org; sahip rolü, rol tabanlı erişim ve çoklu imza onayı gibi yöntemleri açıklar.
Tamsayı taşması ve alt taşması
Sınırı aştığında başa dönen aritmetik işlemler nedeniyle sıfırın altındaki bir bakiye devasa bir sayıya dönüşebilir. Ethereum.org, Solidity 0.8.0 ve sonraki sürümlerin bunu varsayılan olarak reddettiğini, eski kodlarda ise açık kontroller gerektiğini belirtir. Kofi'nin eski derleyicisinin önemli olmasının nedeni budur.
Harici veri sağlayıcısının manipülasyonu
Fiyatı, bir saldırganın çoğu zaman tek işlem içinde alınıp geri ödenen bir anlık krediyle etkileyebileceği, işlem hacmi düşük tek bir piyasadan almak. Sağlam tasarımlar, merkeziyetsiz dış veri sağlayıcıları veya zaman ortalamalı fiyatlar kullanır.
Mantık ve doğrulama hataları
Amaçlanan tasarımla uyuşmayan kurallar veya sıfır tutar ya da beklenmedik bir adres gibi hiç kontrol edilmeyen girdiler.
Ekipler akıllı sözleşmeleri nasıl test eder ve denetler?
Ekipler akıllı sözleşmeleri katmanlar hâlinde test edip denetler, çünkü tek bir yöntem her şeyi yakalayamaz: otomatik testler, analiz araçları, test ağına dağıtım, bağımsız inceleme ve önemli miktarda değer tutan sözleşmeler için dış denetim ve hata ödül programı.
1. Birim ve özellik tabanlı testler
Yeniden çağrı yapan bir alıcı gibi kötü niyetli senaryoları da kapsayacak şekilde her fonksiyon için testler yaz. Rastgele girdi testi, binlerce rastgele girdiyi otomatik olarak dener.
2. Statik analiz
Ethereum.org, kodu bilinen riskli örüntüler açısından tarayan Slither, Mythril ve Aderyn gibi araçları sıralar.
3. Ağları test edin
Ana ağa geçmeden önce herkese açık bir test ağına dağıtın. Ethereum.org, uygulama ve sözleşme geliştirme için Sepolia'yı önerir; test ağı ether'inin gerçek bir değer taşımaması amaçlanır, bu yüzden hataların maliyeti yoktur.
4. Akran değerlendirmesi ve denetlenmiş kütüphaneler
Erişim denetimini sıfırdan yazmak yerine sürüm kontrolü, her değişiklikte bağımsız incelemeciler ve OpenZeppelin Contracts gibi kapsamlı biçimde incelenmiş kütüphaneler kullanın.
5. Denetim, ödül programı ve izleme
Bağımsız denetimler daha ayrıntılı inceleme sağlar ancak ethereum.org'un da belirttiği gibi her hatayı yakalayamaz. Hata ödül programları, acil durdurma işlevleri ve olay izleme, geriye kalan riskleri ele alır.
Yetersiz ve iyileştirilmiş bir güvenlik incelemesi nasıl olur?
Zayıf inceleme: 'Para yatırma ve çekme elle test edildi, sorunsuz çalışıyor, kullanıma almaya hazır.' Her şeyin beklendiği gibi ilerlediği bir senaryonun testi, sözleşmenin dürüst kullanıcılar için çalıştığını gösterir; saldırganlar ise tam da böyle kullanıcılar değildir.
İyileştirilmiş inceleme: Yeniden giriş: withdraw artık gönderimden önce bakiyeyi sıfırlıyor ve bir test, kötü niyetli bir alıcı sözleşmesiyle yeniden çağrı yapmayı deniyor. Erişim kontrolü: setFee, denetlenmiş bir kütüphanedeki sahip rolüyle sınırlandırıldı; yetkisiz birinin çağrısının başarısız olduğunu doğrulayan bir test eklendi. Derleyici: taşma kontrollerinin etkin olması için güncel bir 0.8 sürümüne yükseltildi. Fiyat kaynağı: tek havuz fiyatının yerini merkeziyetsiz bir fiyat veri akışı aldı; ani hareketlere karşı bir makullük sınırı da eklendi. Testler: birim testleri, rastgele girdilerle bir test çalıştırması ve her bulgunun açıklandığı bir statik analiz yapıldı; ardından bir çalışma arkadaşının sistemi bozmaya çalıştığı iki haftalık Sepolia denemesi gerçekleştirildi. Gerçek para kabul edilmeden önce dış denetim için randevu alındı.
Akıllı sözleşmelerin güvenliğinde sık yapılan hatalar nelerdir?
En yaygın hata, her çağrıyı yapan dürüstmüş gibi yalnızca sorunsuz işleyiş senaryosunu test etmektir. Diğer hatalar: daha sonra kısıtlamak üzere yönetici işlevlerini açık bırakmak, eski bir derleyiciyle kullanılan eğitim kodunu kopyalamak, tek bir fiyat kaynağına güvenmek, denetimi garanti saymak, test ağı aşamasını atlamak ve duraklatma veya yükseltme planı olmadan kullanıma almak.
Bu dersin Tosheo.ai içindeki yeri nedir?
Bu, blokzincir kategorisinde ve blokzincir kursunda yer alan bir kodlama dersidir. Bu ücretsiz sayfa her adımı metinle açıklar; gerçek sözleşme kodunu inceleyip düzelttiğiniz ve bir test ağında testler çalıştırdığınız tam uygulamalı sürüm, kayıt sonrasında isteğe bağlı kodlama programında yer alır. Temel bilgilere yabancıysanız akıllı sözleşmeleri açıklayan dersle başlayın. Tosheo.ai tam zamanlı yoğun bir eğitim programı veya profesyonel denetçi yeterliliği sağlayan bir program değildir; buradaki hiçbir içerik yatırım tavsiyesi niteliği taşımaz. Gerçek değer barındıran sözleşmelerin uzman denetiminden geçmesi gerekir.
Kaynaklar ve kapsam
ethereum.org, akıllı sözleşme güvenliği (kontrol tarihi: 19 Ekim 2026) ↗
OWASP akıllı sözleşmeler için en önemli 10 risk, 2025 (kontrol tarihi: 19 October 2026) ↗
ethereum.org, ağlar ve test ağları (kontrol tarihi: 19 Ekim 2026) ↗