Sherlock AI a raportat o vulnerabilitate critică în protocolul @40acresFinance. Echipa 40acres ne-a permis să împărtășim detaliile public, astfel încât alții să poată învăța din descoperire. Iată cum a funcționat vulnerabilitatea: În primul rând, veNFT-urile sunt un tip special de jetoane ERC721 care câștigă recompense săptămânale. 40acres oferă deținătorilor de veNFT acces instantaneu la împrumuturi pe baza veniturilor viitoare ale veNFT. VeNFT-ul fiecărui împrumutat se află într-un PortfolioAccount personal care direcționează funcționalitatea prin "fațete" modulare folosind modelul proxy diamant. Exploit-ul permite unui atacator să-și recupereze garanția (veNFT) din contul său de portofoliu fără a rambursa împrumutul. Consultați funcția aerodromeVote() de mai jos. 40acres are o caracteristică foarte interesantă care permite debitorilor să voteze cu veNFT-urile lor deținute ca garanție în 40acres. Funcția are următoarea problemă: Adresa loanContract nu este validată, permițând unui utilizator rău intenționat să specifice un contract arbitrar. Acest contract ar putea fi aprobat pentru a controla veNFT în PortfolioAccount, permițând transferul acestuia în timpul apelului de vot () în loanContract. Pași de atac 1) Atacatorul implementează un contract rău intenționat care implementează pentru a apela transferFrom/safeTransferFrom pentru a transfera veNFT-ul aprobat. 2) Atacatorul apelează portfolioAccount.aerodromeVote(maliciousContract, tokenId). Rezerva portofoliului deleagă fațetei, care nu are validare de intrare și apelează și transferă veNFT înapoi atacatorului, chiar dacă împrumutul nu a fost rambursat. Notă: Repetarea bug-ului face ca fondul de creditare să fie drenat - a face o singură dată înseamnă doar a lua un împrumut și a vă fura veNFT-ul înapoi. Impact Împrumuturi negarantate în întregul sistem. Orice împrumutat își poate recupera propria garanție la mijlocul împrumutului, ceea ce duce la insolvența totală a fondului de credite. Mulţumirilor Mulțumesc lui @defsec_, @vinica_boy și @onthehunt11_ pentru că m-ați ajutat la acest articol. Important de știut: Echipa 40acres a descoperit bug-ul și a aplicat o remediere înainte de lansare Detectat de Sherlock AI Puteți vedea problema originală așa cum a fost generată de Sherlock AI în următorul tweet. Alergarea a durat 3 ore și 59 de minute de la început până la sfârșit. Sherlock AI aduce securitate procesului de dezvoltare, scanând devreme comitetele și căile de apeluri, evidențiind rapid defecte cu impact ridicat și oferind auditorilor o vizibilitate mai clară asupra sistemelor complexe. În practică, asta înseamnă că astfel de probleme pot fi detectate și rezolvate cu mult înainte de audituri, recompense sau implementare. Încercați Sherlock AI pentru protocolul dvs.
Probleme originale generate de Sherlock AI: Probleme originale generate de Sherlock AI: Încercați Sherlock AI pentru echipa dvs.
95,6K