C'è una nuova classe di persone che cerca di arbitraggiare i contratti NFTStrategy. In quanto autoproclamato custode di questi contratti, do un'occhiata a come opera ciascun partecipante. La maggior parte distribuisce contratti non auditati da utilizzare, tipicamente insieme a deleghe EIP7702. 1/🧵
2/ Non posso sottolineare abbastanza che prima di delegare l'intero account a un contratto che hai creato con l'aiuto di ChatGPT... in realtà, non delegare affatto l'intero account a un contratto che hai creato con l'aiuto di ChatGPT.
3/ Alcune persone stanno usando EOA vuoti per eseguire l'arbitraggio. In generale va bene, poiché un exploit di contratto rischia al massimo ciò che hai nel tuo account. Tuttavia, ti metti comunque a rischio se in futuro utilizzi mai l'account per qualcos'altro.
4/ Ad esempio, se 0xB4 dovesse mai acquisire un Bored Ape senza prima revocare l'approvazione che ho forzato sul suo account, la scimmia è praticamente mia. Non la prenderei mai, ovviamente, questo era solo un avviso onchain.
5/ Allo stesso modo, per l'utente OS "deadcells": Ho il tuo EPG #35 e Howlerz #3924. Delega a un nuovo contratto con qualche forma di controllo degli accessi, specialmente dato che il tuo miner tip hardcoded può essere utilizzato per drenare forzatamente il tuo ETH. Restituisco ovviamente gli NFT una volta che sei al sicuro.
7/ Il problema è triplice: In primo luogo, non c'è alcun controllo per garantire che il contratto della strategia stia chiamando la funzione. In secondo luogo, non c'è alcun controllo per garantire che la chiamata al marketplace stia acquistando un NFT. In terzo luogo, non c'è alcun controllo per garantire che l'NFT trasferito sia effettivamente un NFT.
8/ Lo sfruttamento è semplice: la chiamata al marketplace diventa letteralmente qualsiasi cosa tu voglia (un trasferimento di NFT, approvazione di WETH, o qualsiasi chiamata a contratto arbitraria). Il trasferimento di NFT può essere davvero qualsiasi cosa, purché il contratto abbia una funzione transferFrom che non restituisca un errore.
9/ Nei casi sopra ho attivato un trasferimento a valore zero su USDC fornendo "0" come ID del token previsto. "transferFrom(them, me, 0)" è tecnicamente un trasferimento valido agli occhi del contratto USDC.
10/ Quindi di nuovo, un appello a tutti: fate auditare i vostri contratti, non importa quanto semplici possiate pensare che siano. Questo spazio è pericoloso e dovreste assumere che tutti siano lì per prendervi (lo sono).
Mostra originale
133.482
445
Il contenuto di questa pagina è fornito da terze parti. Salvo diversa indicazione, OKX non è l'autore degli articoli citati e non rivendica alcun copyright sui materiali. Il contenuto è fornito solo a scopo informativo e non rappresenta le opinioni di OKX. Non intende essere un'approvazione di alcun tipo e non deve essere considerato un consiglio di investimento o una sollecitazione all'acquisto o alla vendita di asset digitali. Nella misura in cui l'IA generativa viene utilizzata per fornire riepiloghi o altre informazioni, tale contenuto generato dall'IA potrebbe essere impreciso o incoerente. Leggi l'articolo collegato per ulteriori dettagli e informazioni. OKX non è responsabile per i contenuti ospitati su siti di terze parti. Gli holding di asset digitali, tra cui stablecoin e NFT, comportano un elevato grado di rischio e possono fluttuare notevolmente. Dovresti valutare attentamente se effettuare il trading o detenere asset digitali è adatto a te alla luce della tua situazione finanziaria.