Back to Blog

Rustle: NEAR Topluluğu için İlk Otomatik Denetçi

Code Auditing
November 1, 2022
3 min read

Rustle'ı yayınlamaktan heyecan duyuyoruz: BlockSec tarafından NEAR topluluğu için sunulan ilk otomatik denetçi.

Rustle'ın birkaç harika özelliği vardır:

  • Rustle şu anda NEAR sözleşmesinde 20'den fazla sorun türünü tespit edebilmektedir. Tam dedektör listesi için Dedektörler bölümüne bakın.
  • Rustle kullanımı kolaydır. Kapsamlı kurulum komutları ve eğitimler sunuyoruz. Ayrıca, hızlı başlangıç için kullanıcılara bir docker da hazırladık.
  • Rustle oldukça hızlıdır; NEAR sözleşmelerinin büyük çoğunluğu 3 dakika içinde analiz edilebilir.
  • Rustle, hem CSV hem de JSON formatında raporlarla kullanıcı dostudur. Ayrıca sonucu Notion'a aktarmanıza yardımcı olacak bir betik de sunuyoruz.

Dedektörler

Rustle'ın tespit edebildiği tüm güvenlik açıkları. Ayrıntılı belgeler burada bulunabilir.

Dedektör Kimliği Açıklama Önem Derecesi
unhandled-promise İşlenmeyen Promise'leri tespit eder Yüksek
non-private-callback Geri çağırma işlevleri için #[private] makrosu eksik Yüksek
reentrancy Yeniden giriş saldırısına karşı savunmasız işlevleri bulur Yüksek
unsafe-math Aritmetik işlemde taşma kontrolü eksikliği Yüksek
self-transfer Gönderen != alıcı kontrolü eksik Yüksek
incorrect-json-type Parametre veya dönüş değerlerinde yanlış tür kullanımı Yüksek
div-before-mul Yanlış işlem sırası nedeniyle hassasiyet kaybı Orta
round Tavan veya taban belirtilmeden yuvarlama Orta
lock-callback Geri çağırma işlevindeki panik, sözleşmeyi kilitleyebilir Orta
yocto-attach Ayrıcalıklı işlevde assert_one_yocto bulunmuyor Orta
prepaid-gas ft_transfer_call içinde ön ödemeli gaz kontrolü eksik Düşük
non-callback-private Geri çağırma olmayan işlevde #[private] makrosu kullanılmış Düşük
unused-ret İşlev sonucu kullanılmamış veya kontrol edilmemiş Düşük
upgrade-func Sözleşmede yükseltme işlevi yok Düşük
tautology Koşullu dalda totoloji kullanımı Düşük
inconsistency Benzer ancak biraz farklı sembol kullanımı Düşük
timestamp Zaman damgasının tüm kullanımlarını bulur Bilgi
complex-loop DoS'a yol açabilecek karmaşık mantıklı tüm döngüleri bulur Bilgi
ext-call Tüm çapraz sözleşme çağrılarını bulur Bilgi
promise-result Promise sonucunun tüm kullanımlarını bulur Bilgi
transfer Tüm transfer işlemlerini bulur Bilgi

Nasıl kullanılır

Popüler bir NEAR sözleşmesini (yani LiNEAR) analiz etmek için Rustle'ı kullanıyoruz. Komutlar Ubuntu 20.04 LTS üzerinde test edilmiştir.

  1. GitHub sayfasındaki kurulum kılavuzunu takip edin. Docker kullanmak istiyorsanız, bunu atlayın ve docker kılavuzuna gidin.

  2. Rustle'ın analiz etmesi için NEAR sözleşmesini hazırlayın.

     git clone https://github.com/linear-protocol/LiNEAR.git ~/near-repo/LiNEAR
    
  3. ./rustle çalıştırarak analizi başlatın.

     ./rustle -t ~/near-repo/LiNEAR ~/near-repo/LiNEAR/contracts/linear
    
  1. Raporu audit-result/summary.csv konumunda kontrol edin.
  1. Kullanılacak dedektörleri veya önem derecesi gruplarını belirleyebilirsiniz.

Ayrıntılar için ./rustle -h.

Örnek:

./rustle -t ~/near-repo/LiNEAR ~/near-repo/LiNEAR/contracts/linear -d high,medium,complex-loop

Bir şey daha

Rustle, NEAR akıllı sözleşmelerini yinelemeli olarak taramak için geliştirme sürecinde kullanılabilir. Bu, çok sayıda manuel çabayı kurtarabilir ve potansiyel sorunların bir kısmını azaltabilir. Ancak, karmaşık mantık içeren veya anlambilimle ilgili güvenlik açıkları hâlâ Rustle'ın sınırlamaları arasındadır. Karmaşık anlambilim sorunlarının tespit edilmesi, BlockSec'teki uzmanların kapsamlı ve ayrıntılı incelemeler yapmasını gerektirmektedir. Denetim hizmeti için bizimle iletişime geçin.

Sorunlar ve PR'lar da memnuniyetle karşılanmaktadır.

BlockSec Hakkında

BlockSec, 2021 yılında küresel çapta tanınmış bir grup güvenlik uzmanı tarafından kurulmuş öncü bir blok zinciri güvenlik şirketidir. Şirket, kitlesel benimsenmesini kolaylaştırmak amacıyla gelişmekte olan Web3 dünyası için güvenlik ve kullanılabilirliği artırmaya kararlıdır. Bu doğrultuda BlockSec; akıllı sözleşme ve EVM zinciri güvenlik denetimi hizmetleri, güvenlik geliştirme ve tehditleri proaktif olarak engellemeye yönelik Phalcon platformu, fon takibi ve soruşturma için MetaSleuth platformu ve kripto dünyasında verimli şekilde gezinen web3 geliştiricileri için MetaSuites eklentisini sunmaktadır.

Şirket bugüne kadar MetaMask, Uniswap Foundation, Compound, Forta ve PancakeSwap gibi 300'den fazla saygın müşteriye hizmet vermiş; Matrix Partners, Vitalbridge Capital ve Fenbushi Capital dahil olmak üzere önde gelen yatırımcılardan iki tur finansmanda on milyonlarca ABD doları almıştır.

Resmi web sitesi: https://blocksec.com/

Resmi Twitter hesabı: https://twitter.com/BlockSecTeam

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit