Există o nouă clasă de oameni care încearcă să arbitreze contractele NFTStrategy. În calitate de gardian autoproclamat al acestor contracte, mă gândesc la modul în care funcționează fiecare participant. Majoritatea implementează contracte neauditate pentru a le utiliza, de obicei împreună cu delegațiile EIP7702. 1/ 🧵
2/ Nu pot sublinia suficient că înainte de a-ți delega întregul cont unui contract pe care l-ai înfășurat cu ajutorul ChatGPT... de fapt, nu vă delegați întregul cont unui contract pe care l-ați creat cu ajutorul ChatGPT.
3/ Unii oameni folosesc EOA goale pentru a rula arb. În general, este în regulă, deoarece o exploatare contractuală riscă cel mult ceea ce aveți în contul dvs. Cu toate acestea, în continuare vă puneți în pericol dacă utilizați vreodată contul pentru altceva în viitor.
4/ De exemplu, dacă 0xB4 dobândește vreodată o maimuță plictisită fără a revoca mai întâi aprobarea pe care am forțat-o în contul său, maimuța este la fel de bună ca a mea. Nu l-aș lua niciodată, desigur, acesta a fost doar un avertisment onchain.
5/ În mod similar, pentru utilizatorii sistemului de operare "celule moarte": Am EPG-ul tău #35 și Howlerz #3924. Delegați la un nou contract cu o formă de control al accesului, mai ales că vârful de miner codificat poate fi folosit pentru a vă drena forțat ETH-ul. Bineînțeles că voi returna NFT-urile odată ce sunteți în siguranță.
7/ Problema este triplă: În primul rând, nu există nicio verificare pentru a vă asigura că contractul de strategie apelează funcția. În al doilea rând, nu există nicio verificare pentru a se asigura că apelul de pe piață cumpără un NFT În al treilea rând, nu există nicio verificare pentru a se asigura că NFT-ul transferat este chiar și un NFT
8/ Exploit-ul este simplu: apelul de pe piață devine literalmente orice doriți (un transfer NFT, aprobarea WETH sau orice apel arbitrar de contract). Transferul NFT poate fi orice, atâta timp cât contractul are o funcție transferFrom care nu se va reveni.
9/ În cazurile de mai sus am declanșat un transfer cu valoare zero pe USDC furnizând "0" ca ID de token așteptat. "transferFrom(them, me, 0)" este din punct de vedere tehnic un transfer valid în ochii contractului USDC.
10/ Deci, din nou, un apel către toată lumea: auditați-vă contractele, indiferent cât de simple ați crede că sunt. Acest spațiu este periculos și ar trebui să presupui că toată lumea vrea să te prindă (ei sunt).
Afișare original
50,67 K
297
Conținutul de pe această pagină este furnizat de terți. Dacă nu se menționează altfel, OKX nu este autorul articolului citat și nu revendică niciun drept intelectual pentru materiale. Conținutul este furnizat doar pentru informare și nu reprezintă opinia OKX. Nu este furnizat pentru a fi o susținere de nicio natură și nu trebuie să fie considerat un sfat de investiție sau o solicitare de a cumpăra sau vinde active digitale. În măsura în care AI-ul de generare este utilizat pentru a furniza rezumate sau alte informații, astfel de conținut generat de AI poate să fie inexact sau neconsecvent. Citiți articolul asociat pentru mai multe detalii și informații. OKX nu răspunde pentru conținutul găzduit pe pagini terțe. Deținerile de active digitale, inclusiv criptomonedele stabile și NFT-urile, prezintă un grad ridicat de risc și pot fluctua semnificativ. Trebuie să analizați cu atenție dacă tranzacționarea sau deținerea de active digitale este adecvată pentru dumneavoastră prin prisma situației dumneavoastră financiare.