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.
-
GitHub sayfasındaki kurulum kılavuzunu takip edin. Docker kullanmak istiyorsanız, bunu atlayın ve docker kılavuzuna gidin.
-
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 -
./rustleçalıştırarak analizi başlatın../rustle -t ~/near-repo/LiNEAR ~/near-repo/LiNEAR/contracts/linear

- Raporu
audit-result/summary.csvkonumunda kontrol edin.

- 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



