Ana içeriğe geç

Token entegrasyon kontrol listesi

solidityakıllı kontratlargüvenlikjetonlar
Orta düzey
Trailofbits
Güvenli sözleşmeler oluşturmak(opens in a new tab)
13 Ağustos 2020
4 dakikalık okuma minute read

Rastgele token'larla etkileşim kurarken bu kontrol listesini izleyin. Her bir öğeyle ilişkili riskleri anladığınızdan emin olun ve bu kurallardaki istisnaları gerekçelendirin.

Kolaylık sağlamak için, tüm Slither yardımcı programları(opens in a new tab) doğrudan aşağıdaki gibi bir token adresinde çalıştırılabilir:

Slither öğreticisi kullanılarak

slither-check-erc 0xdac17f958d2ee523a2206206994597c13d831ec7 TetherToken

Bu kontrol listesini takip etmek amacıyla token için Slither'den bu çıktıyı almanız gerekir:

- slither-check-erc [target] [contractName] [optional: --erc ERC_NUMBER]
- slither [target] --print human-summary
- slither [target] --print contract-summary
- slither-prop . --contract ContractName # requires configuration, and use of Echidna and Manticore

Genel hususlar

ERC uygunluğu

Slither bir token'ın diğer birçok ERC standardına uyumluğunu gözden geçiren faydalı bir araç olan slither-check-erc(opens in a new tab)'yi bulundurur. Şunları gözden geçirmek için slither-check-erc kullanın:

Slither, birçok yaygın ERC kusurunu keşfedebilen birim testleri ve güvenlik özellikleri üreten bir yardımcı program olan slither-prop(opens in a new tab)'u içerir. Şunu gözden geçirmek için slither-prop kullanın:

Son olarak, otomatik olarak tanımlanması zor olan belirli özellikler vardır. Bu koşulları elle gözden geçirin:

  • Transfer and transferFrom bir ücret almamalıdır. Deflasyonist token'lar beklenmedik davranışlara yol açabilir.
  • Token'dan kazanılan potansiyel faiz dikkate alınır. Bazı token'lar, token sahiplerine faiz dağıtır. Bu faiz, dikkate alınmadığı takdirde sözleşmede sıkışıp kalabilir.

Sözleşme kompozisyonu

Sahip ayrıcalıkları

Token nadirliği

Token kıtlığı sorunlarına yönelik incelemeler, manuel inceleme gerektirir. Şu koşullar için kontrol edin:

  • Hiçbir kullanıcı kaynağın çoğuna sahip değildir. Token'ların çoğuna birkaç kullanıcı sahipse, token'ın yeniden bölünmesine dayalı olarak işlemleri etkileyebilirler.
  • Toplam arz yeterlidir. Toplam arzı düşük olan token'lar kolayca manipüle edilebilir.
  • Token'lar birkaç borsadan daha fazlasında bulunur. Tüm token'lar tek bir borsadaysa, borsanın güvenliğinin ihlal edilmesi token'a dayanan sözleşmeyi tehlikeye atabilir.
  • Kullanıcılar, büyük fonlar veya hızlı kredilerle (flash credit) ilgili riskleri anlar. Token bakiyesine dayanan sözleşmeler, büyük fonlara sahip saldırganları veya hızlı krediler yoluyla saldırıları dikkatle değerlendirmelidir.
  • Token, hızlı basıma (flash mint) izin vermez. Hızlı basım, token'ın işleyişinde sıkı ve kapsamlı taşma kontrolleri gerektiren bakiyede ve toplam arzda önemli dalgalanmalara yol açabilir.

Son düzenleme: @nhsz(opens in a new tab), 15 Ağustos 2023

Bu rehber yararlı oldu mu?