Er is een nieuwe klasse mensen die allemaal proberen de NFTStrategy-contracten te arbitreren. Als de zelfbenoemde bewaker van deze contracten, kijk ik hoe elke deelnemer opereert. De meesten implementeren ongeauditeerde contracten om te gebruiken, meestal samen met EIP7702-delegaties. 1/🧵
2/ Ik kan niet genoeg benadrukken dat je voordat je je hele account delegeert aan een contract dat je hebt gemaakt met de hulp van ChatGPT... eigenlijk, delegeer gewoon je hele account niet aan een contract dat je hebt gemaakt met de hulp van ChatGPT.
3/ Sommige mensen gebruiken lege EOA's om de arb uit te voeren. Dat is over het algemeen prima, aangezien een contractexploit maximaal het risico loopt van wat je op je rekening hebt. Je stelt jezelf echter nog steeds bloot aan risico als je de rekening in de toekomst voor iets anders gebruikt.
4/ Bijvoorbeeld, als 0xB4 ooit een Bored Ape verwerft zonder eerst de goedkeuring die ik op zijn account heb afgedwongen in te trekken, is de aap zo goed als de mijne. Ik zou het natuurlijk nooit nemen, dit was gewoon een onchain waarschuwing.
5/ Evenzo, voor OS-gebruiker "deadcells": Ik heb je EPG #35 en Howlerz #3924. Delegeer naar een nieuw contract met een vorm van toegangscontrole, vooral omdat je hardcoded miner tip kan worden gebruikt om je ETH met geweld te onttrekken. Ik zal de NFT's natuurlijk teruggeven zodra je veilig bent.
7/ Het probleem is drievoudig: Ten eerste is er geen controle om te waarborgen dat het strategiecontract de functie aanroept. Ten tweede is er geen controle om te waarborgen dat de marktplaatsaanroep een NFT koopt. Ten derde is er geen controle om te waarborgen dat de overgedragen NFT zelfs een NFT is.
8/ De exploit is eenvoudig: de marktplaatsaanroep wordt letterlijk wat je maar wilt (een NFT-overdracht, WETH-goedkeuring of een willekeurige contractaanroep). De NFT-overdracht kan echt alles zijn, zolang het contract een transferFrom-functie heeft die niet revert.
9/ In de bovenstaande gevallen heb ik een overdracht met een waarde van nul op USDC geactiveerd door "0" als de verwachte token-ID op te geven. "transferFrom(them, me, 0)" is technisch gezien een geldige overdracht in de ogen van het USDC-contract.
10/ Dus nogmaals, een oproep aan iedereen: laat je contracten auditen, ongeacht hoe eenvoudig je denkt dat ze zijn. Deze ruimte is gevaarlijk, en je moet aannemen dat iedereen het op je gemunt heeft (dat doen ze).
Origineel weergeven
30,35K
252
De inhoud op deze pagina wordt geleverd door derden. Tenzij anders vermeld, is OKX niet de auteur van het (de) geciteerde artikel(en) en claimt geen auteursrecht op de materialen. De inhoud is alleen bedoeld voor informatieve doeleinden en vertegenwoordigt niet de standpunten van OKX. Het is niet bedoeld als een goedkeuring van welke aard dan ook en mag niet worden beschouwd als beleggingsadvies of een uitnodiging tot het kopen of verkopen van digitale bezittingen. Voor zover generatieve AI wordt gebruikt om samenvattingen of andere informatie te verstrekken, kan deze door AI gegenereerde inhoud onnauwkeurig of inconsistent zijn. Lees het gelinkte artikel voor meer details en informatie. OKX is niet verantwoordelijk voor inhoud gehost op sites van een derde partij. Het bezitten van digitale activa, waaronder stablecoins en NFT's, brengt een hoge mate van risico met zich mee en de waarde van deze activa kan sterk fluctueren. Overweeg zorgvuldig of de handel in of het bezit van digitale activa geschikt voor je is in het licht van je financiële situatie.