Qazanclar:
- Yenidən giriş, girişə nəzarət, oracle manipulyasiyası və qabaqda işləmə kimi ümumi zəiflik nümunələrini tanımaq və onları statik analiz aləti + süni intellekt + insan ilə skan etmək bacarığı
- Alət çıxışını izah etmək və MEV və biznes məntiqində yanlış müsbət və zəif cəhətləri prioritetləşdirməkdə AI güclü tərəflərini ayırd etmək bacarığı
- Anlayın ki, "təmiz skan" təhlükəsizlik sertifikatı deyil, skanlama yalnız bir nəzarət təbəqəsidir
Biz əvvəlki bölmədə auditin vahid intizamını gördük. Bu bölmədə biz daha çox texniki mövzuya diqqət yetiririk: zəifliyin skan edilməsi — kodda məlum zəiflik nümunələrinin sistematik axtarışı. Burada biz süni intellektdən statik analiz alətləri ilə birlikdə məlum zəiflik nümunələrini skan edən və təsvir edən köməkçi kimi istifadə edəcəyik. Məqsəd: ən ümumi zəiflikləri dərindən öyrənmək və AI-nin harada etibarlı olduğunu və onları skan etməkdə qeyri-adekvat olduğunu ayırd etmək.
Statik və dinamik tarama
Skanlama iki növdür. Statik analiz — kodu işə salmadan yoxlamaq: Slither və Mythril kimi alətlər müqavilə kodunu skan edir və məlum nümunələri qeyd edir. Dinamik/simvolik analiz (müxtəlif girişlərlə kodu işlətmək və ya onu riyazi olaraq tədqiq etmək): fuzzing (təsadüfi girişlə bombardman etmək) və simvolik icra (bütün mümkün yolları araşdırmaq) bu qrupa aiddir.
Süni intellekt bu alətləri əvəz etmir, onları tamamlayır: avtomobil xəbərdarlıq edəndə AI xəbərdarlığı sadə dillə izah edir; AI alət nümunəni qaçırdıqda xatırlada bilər; Ancaq süni intellekt təkcə onun nə qədər skan etdiyinə zəmanət verə bilməz. Düzgün iş axını: alət + AI + insan.
İpucu: Süni intellektə statik analiz alətinin (məsələn, Slither hesabatı) nəticəsini verin və “hər xəbərdarlığı sadə dildə izah edin, hansı real risklər və hansı yanlış müsbət ola bilər?” sualını verin. soruş. Süni intellekt xammal alət çıxışını insanlar üçün başa düşülən və prioritetləşdirmək baxımından əvəzsizdir.
Ən ümumi zəiflik nümunələri
1. Yenidən giriş. Funksiya vəziyyətini yeniləmədən xarici müqaviləyə zəng edərsə, çağırılan müqavilə geri qayıda bilər, eyni funksiyanı yenidən işə sala və fondu dəfələrlə çıxara bilər. Həll yolu: yoxlamalar-effektlər-qarşılıqlı əlaqələr qaydası və yenidən giriş mühafizəsi.
2. Giriş nəzarətinin olmaması. Kritik funksiya (çıxarma, geri götürmə, təkmilləşdirmə) təsadüfən ictimaiyyətə açıqlanır. Ən çox yayılmış və bahalı səhvlərdən biridir.
3. Oracle manipulyasiyası. Müqavilənin xarici qiymət mənbəyinə (oracle) kor-koranə etibarı. Təcavüzkar dərhal qiyməti manipulyasiya edir və protokolu aldadır. Həll yolu: vaxtla ölçülmüş orta qiymət (TWAP), çoxmənbəli.
4. Tam ədədin aşması/aşağı düşməsi. Rəqəm icazə verilən maksimum dəyəri keçdikdə və başlanğıca qayıtdıqda. Müasir Solidity onun çoxunu avtomatik tutur, lakin risk aşağı səviyyəli (montaj) kodda qalır.
5. Öndən qaçış. Əməliyyatlar təsdiqlənməmişdən əvvəl ictimai hovuzda (mempool) görünür; Təcavüzkar sizin əməliyyatınızı görə bilər və onun qarşısına öz əməliyyatını daxil edə bilər. MEV (Maximal Extractable Value — əməliyyat ardıcıllığından çıxarılan dəyər) bu mövzunun ümumi adıdır.
6. Xidmətdən imtina (DoS). Döngə çox bahalaşır və funksiyanı yararsız hala gətirir və ya ünvandan asılılıq kilidlənir.
7. Riskləri təkmilləşdirin. Təkmilləşdirilə bilən müqavilələrdə saxlama toqquşması və səlahiyyətdən sui-istifadə.
zəiflik
AI tarama etibarı
Niyə
təkrar giriş
yüksək
Tanınmış, aydın nümunə
giriş nəzarəti
yüksək
Kalıp skan edilə bilər
Tam ədəd əməliyyatları
yüksək
standart nəzarət
Oracle manipulyasiyası
orta
Kontekst tələb edir
Öndə çalışan/MEV
Orta-Aşağı
xüsusi protokol
iş məntiqi xətası
aşağı
Orijinal, kontekstual
Zəif məlumat / Güclü göstəriş
Zəif çağırış:
Bu kodda boşluq varmı?
Güclü göstəriş:
Rolunuz: təhlükəsizlik yoxlaması köməkçisi. Aşağıdakı məlum nümunələr üçün müqaviləni skan edin və hər biri üçün "riskli/yox/əmin deyiləm": yenidən giriş, girişə nəzarət, tam əməliyyatlar, oracle asılılıq, qabaqda işləmə, DoS, təhlükəsizlik yeniləməsi. Hər bir təyinatı müvafiq sətirlə əlaqələndirin və nə üçün riskin olduğunu izah edin. Bunlar statik analiz aləti və auditorla yoxlanılacaq fərziyyələrdir. Nəzərə alın ki, yanlış pozitivlər ola bilər.
Dörd kopyalana bilən şablon
1) Alət çıxışının təsviri:
Aşağıda statik analiz alətinin (Slither) hesabatı verilmişdir. Hər bir xəbərdarlığı sadə dillə izah edin: bu nə deməkdir, bu, real riskdir, yoxsa mümkün yanlış müsbətdir, onun prioriteti nə olmalıdır? Qətiyyətli qərar verməyin; Auditorun təsdiqinə üstünlük verin.
2) Yenidən girişə yönəlmiş yoxlama:
Bu müqavilədə xarici zənglər edən bütün funksiyaları tapın. Onların hər biri üçün yoxlama-təsir-qarşılıqlı əlaqə qaydasına əməl edilib-edilmədiyini və yenidən giriş mühafizəçisinin olub-olmadığını yoxlayın. Riskli olanları xətt ilə göstərin. Əmin deyilsinizsə işarələyin; İstismar kodunun yaradılması.
3) Girişə nəzarət xəritəsi:
Bu müqavilədə bütün xarici/ictimai funksiyaları sadalayın və hər biri üçün "kim zəng edə bilər" (hər kəs/sahibi/rol) təyin edin. Kritik əməliyyatları yerinə yetirin (çəkin, çap edin, təkmilləşdirin) və giriş nəzarəti zəif olanları qeyd edin. Bir masa ilə təqdim edin.
4) Yanlış müsbət aradan qaldırılması:
Nə üçün bu skan xəbərdarlığının REAL risk (yalan pozitiv) olmaya biləcəyini düşünün: hansı kontekst və ya kod vəziyyəti bu xəbərdarlığı etibarsız edə bilər? Amma “mütləq problem yoxdur” deməyin; Təsdiq tələb olunan məqamları qeyd edin.
Üç mini iş (rəqəmlə)
1-ci hal — Avtomobil + AI səmərəliliyi ikiqat artırdı. Bir komanda 12 müqaviləli layihə üzrə Slither-i idarə etdi və 140 xəbərdarlıq aldı. Süni intellekt siqnalları izah etdikdən və prioritetləşdirdikdən sonra məlum oldu ki, 140 xəbərdarlıqdan 95-i yanlış pozitivdir; Komanda diqqətini 45 real namizəd üzərində cəmləyib. Triaj müddəti 2 gündən 5 saata qədər azaldı. Dərs: Süni intellekt avtomobilin çıxışını humanistləşdirmədə güclüdür.
2-ci hal - AI MEV-i qaçırdı. DEX (mərkəzləşdirilməmiş mübadilə) müqaviləsində AI standart nümunələri təmiz tapdı, lakin qabaqcıl zəifliyi aşkar edə bilmədi; çünki bu, protokolun əməliyyat sırasına xas idi. İnsan auditoru və simulyasiya tutuldu. Dərs: MEV/öndə işləmə kimi protokola xas risklər AI-nin zəif sahəsidir.
3-cü hal - Yanlış müsbətə vaxt itirməkdən çəkinin. AI yenidən giriş xəbərdarlığının əslində yanlış müsbət olduğunu izah etdikdə komanda lazımsız yenidən yazmaqdan xilas oldu (funksiya artıq qorunurdu). Amma komanda yenə də bir sınaqla bunu təsdiqlədi. Dərs: AI prioritetləşdirir; Təsdiq yenidən sınaqla gəlir.
Skanlama məhdudiyyətləri
Tarama məlum nümunələri tapır. Nə alətə, nə də AI-yə yeni, unikal və ya protokola xas zəifliyi aşkar etməyə zəmanət verilmir. Buna görə də, yoxlama auditin bir hissəsidir; özü deyil. "Skan təmizdir, deməli, təhlükəsizdir" fikri bu sahədə ən təhlükəli yanlış təsəvvürlərdən biridir. Drenaj aşağı asılmış meyvələri götürür; Dərin və unikal risklər üçün insan təcrübəsi, sınaqlar, qeyri-müəyyənlik və rəsmi audit vacibdir.
Diqqət: Skan alətinin və ya AI-nin “təmiz” hesabatı təhlükəsizlik sertifikatı deyil. Bunu bu şəkildə təqdim etmək - xüsusən də investorlara - yanıltıcı və qeyri-etikdir.
Ümumi səhvlər
- Yoxlama üçün skrininqin əvəz edilməsi. Skanlama bütöv deyil, bir təbəqədir.
- Alətlər olmadan AI istifadə. Statik analiz + AI + insan işi birlikdə.
- Təsdiq etmədən yanlış pozitivlərin aradan qaldırılması. Hər bir ekran sınaqdan keçirilir/insan tərəfindən təsdiqlənir.
- Süni intellektə əsaslanaraq protokola xas risklərdən (MEV) yan keçmək. AI-nin zəif sahəsi.
- "Təmiz tarama" = "təhlükəsiz" düşüncəsi. Bilinməyənləri tapa bilmir.
- İstismar kodunun yaradılması. Yalnız müdafiə riskinin təsviri qanunidir.
Xülasə
- Zəifliyin skan edilməsi avtomobil + AI + insan ilə məlum zəiflik nümunələrini axtarır.
- Süni intellekt statik analiz alətinin çıxışını izah etməkdə və prioritetləşdirməkdə güclüdür.
- Yenidən giriş və giriş nəzarəti kimi aydın nümunələrdə etibarlı; MEV və biznes məntiqində zəifdir.
- Hətta yanlış pozitivlərin aradan qaldırılması da təsdiq tələb edir.
- "Təmiz tarama" təhlükəsizlik sertifikatı deyil; Bu, nəzarəti əvəz etmir.
Tətbiq tapşırığı
Nümunə müqavilədə statik analiz alətini işə salın (mümkünsə) və ya hazır Slither hesabatını tapın. Süni intellektə "alət çıxışının təsviri" əmrini tətbiq edin. Süni intellektin (1) xəbərdarlıqları düzgün izah edib-etmədiyini qiymətləndirin, (2) yanlış pozitivlər arasında fərq qoymağın mənası var və (3) protokola xas riski qaçırır. Cədvəldə “avtomobil tapıldı / AI izah etdi / insan tərəfindən təsdiqləndi” sütunlarını doldurun.
yoxlama siyahısı
- [ ] Mən lyuku idarəetmə təbəqəsi kimi yerləşdirdim.
- [ ] Statik analiz aləti + AI + insandan birlikdə istifadə etdim.
- [ ] Mən məlum nümunələr üçün kateqoriya üzrə axtarış etdim.
- [ ] Təsdiqlə yanlış müsbətləri aradan qaldırdım.
- [ ] Mən MEV/biznes məntiqi kimi zəif sahələrdə insanlara güvənirdim.
- [ ] Mən zəmanət olaraq "təmiz süpürmə" təklif etmədim.
- [ ] Mən yalnız müdafiə məqsədləri üçün işləmişəm; Mən istismar yaratmamışam.