Ana içeriğe atla

Akıllı sözleşme güvenlik kontrol listesi

akıllı sözleşmeler
güvenlik
solidity
Orta
Trailofbits
7 Eylül 2020
2 dakikalık okuma

Akıllı sözleşme geliştirme kontrol listesi

İşte akıllı sözleşmelerinizi yazarken izlemenizi önerdiğimiz üst düzey bir süreç.

Bilinen güvenlik sorunlarını kontrol edin:

  • Sözleşmelerinizi Slither (opens in a new tab) ile inceleyin. Yaygın güvenlik açıkları için 40'tan fazla yerleşik dedektöre sahiptir. Yeni kod içeren her kontrolde çalıştırın ve temiz bir rapor aldığından emin olun (veya belirli sorunları susturmak için önceliklendirme modunu kullanın).
  • Sözleşmelerinizi Crytic (opens in a new tab) ile inceleyin. Slither'ın kontrol etmediği 50 sorunu kontrol eder. Crytic, GitHub'daki Çekme İsteklerinde güvenlik sorunlarını kolayca ortaya çıkararak ekibinizin birbirinden haberdar olmasına da yardımcı olabilir.

Sözleşmenizin özel özelliklerini göz önünde bulundurun:

Kodunuzun kritik güvenlik özelliklerini görsel olarak inceleyin:

Kritik güvenlik özelliklerini belgeleyin ve bunları değerlendirmek için otomatik test oluşturucuları kullanın:

  • Kodunuz için güvenlik özelliklerini belgelemeyi öğrenin. Başlangıçta zordur, ancak iyi bir sonuç elde etmek için en önemli tek aktivitedir. Ayrıca bu eğitimdeki gelişmiş tekniklerden herhangi birini kullanmak için bir ön koşuldur.
  • Echidna (opens in a new tab) ve Manticore (opens in a new tab) ile kullanmak üzere Solidity'de güvenlik özelliklerini tanımlayın. Durum makinenize, erişim kontrollerine, aritmetik işlemlere, harici etkileşimlere ve standartlara uygunluğa odaklanın.
  • Slither'ın Python API'si ile güvenlik özelliklerini tanımlayın. Kalıtım, değişken bağımlılıkları, erişim kontrolleri ve diğer yapısal sorunlara odaklanın.
  • Özellik testlerinizi her işlemede (commit) Crytic (opens in a new tab) ile çalıştırın. Crytic, güvenlik özelliği testlerini tüketip değerlendirebilir, böylece ekibinizdeki herkes GitHub'da bunların geçtiğini kolayca görebilir. Başarısız olan testler işlemeleri engelleyebilir.

Son olarak, otomatik araçların kolayca bulamayacağı sorunlara karşı dikkatli olun:

  • Gizlilik eksikliği: havuzda sıradayken diğer herkes işlemlerinizi görebilir
  • Önden çalıştırma (front running) işlemleri
  • Kriptografik işlemler
  • Harici merkeziyetsiz finans (DeFi) bileşenleriyle riskli etkileşimler

Yardım isteyin

Ethereum ofis saatleri (opens in a new tab) her Salı öğleden sonra gerçekleşir. Bu 1 saatlik, birebir oturumlar, bize güvenlikle ilgili sorularınızı sormak, araçlarımızı kullanarak sorun gidermek ve mevcut yaklaşımınız hakkında uzmanlardan geri bildirim almak için bir fırsattır. Bu kılavuzu tamamlamanıza yardımcı olacağız.

Slack kanalımıza katılın: Empire Hacking (opens in a new tab). Herhangi bir sorunuz olursa #crytic ve #ethereum kanallarında her zaman ulaşılabiliriz.