EIP-7702 oferă adresei capacități și flexibilitate asemănătoare contractelor inteligente, iar din ce în ce mai multe aplicații 7702 sunt create, ceea ce este esențial pentru a permite mai multor oameni să intre în Web3 și pentru a îmbunătăți experiența utilizatorului.
Cu toate acestea, flexibilitatea 7702 și faptul că majoritatea utilizatorilor nu sunt familiarizați cu 7702 sunt exploatate de bandele de fraudă; recent, am observat utilizatori care au fost afectați deoarece capacitatea de execuție în masă a Metamask 7702 a făcut ca interacțiunile care necesitau autorizație de zeci de ori să fie consolidate de bandele de phishing #InfernoDrainer într-o singură tranzacție, ducând la furtul de active.
Notă: Metamask nu are probleme de securitate, Metamask pune siguranța utilizatorului pe primul loc atunci când oferă capacități legate de 7702 și a implementat multe măsuri de securitate. Utilizatorii trebuie să înțeleagă mai bine capacitățile 7702 și riscurile asociate pentru a preveni astfel de incidente de securitate în viitor.
1. Principiul de autorizare a semnăturii Metamask 7702 Delagator și designul de securitate
1. Analiză tehnică
Prin autorizarea Contractului Delegator deja implementat de utilizator, câmpul code al contului utilizatorului este direcționat către acel contract. Adresa actuală a Contractului Delegator oficial MetaMask este: 0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B
Structura de autorizare: (chainId, delegatorAddress, nonce, signature) scrisă în authorization_list
Metoda de semnare: MetaMask utilizează o logică de semnare unificată pentru tranzacțiile de autorizare legate de EIP-7702, adică metoda signEIP7702Authorization, pentru a semna datele de autorizare digest7702 = keccak256(0x05 ‖ RLP(chainId, delegator, nonce)) utilizând semnarea ECDSA, generând structura de semnătură (v, r, s) și adăugând-o la tranzacția de tip 4 ulterioară, pentru a realiza autorizarea și upgrade-ul contului; implementarea specifică poate fi găsită la: https://github.com/MetaMask/eth-sig-util/blob/main/src/sign-eip7702-authorization.ts
Metoda de verificare: stratul de consens verifică prin ecrecover(digest7702, sig) == tx.from.
Design de securitate: interfața web nu poate induce utilizatorii să autorizeze orice Delegator, deoarece metoda signEIP7702Authorization este implementată doar în interiorul portofelului MetaMask, nefiind accesibilă prin apeluri către window.ethereum pe interfața web. Metodele de semnare accesibile pe web, cum ar fi eth_signTypedData_v4, nu sunt potrivite pentru semnarea autorizării EIP-7702, iar formatul de rezumat al semnăturii este următorul:

iar formatul de semnătură cerut de specificația EIP-7702 este:

Deoarece eth_signTypedData_v4 conține întotdeauna prefixul 0x1901 și procesul de calcul al rezumatului este complet diferit de 7702, chiar și construind cu măiestrie domainSeparator, primaryType și message, este aproape imposibil ca digest712 să fie egal cu digest7702.
Prin urmare, interfața web nu poate falsifica o semnătură de autorizare 7702 legitimă prin această metodă. În plus, MetaMask aplică un mecanism de listă albă pentru adresele Delegator, permițând implicit doar autorizarea Delegator-ului oficial (0x63c0...32B) și interzicând DApp-urilor să injecteze adrese, pentru a preveni inducerea utilizatorilor să semneze date de autorizare malițioase Delegator. EIP-7702 oferă adreselor capabilități și flexibilitate similare contractelor inteligente, iar din ce în ce mai multe aplicații 7702 sunt create, ceea ce este esențial pentru a permite mai multor oameni să acceseze Web3 și pentru a îmbunătăți experiența utilizatorului.
Cu toate acestea, flexibilitatea 7702 și faptul că majoritatea utilizatorilor nu sunt familiarizați cu 7702 sunt exploatate de grupurile de fraudă; recent, am observat că utilizatorii au fost furați din cauza capacității de execuție în masă a Metamask 7702, ceea ce a dus la combinarea interacțiunilor care ar fi necesitat autorizarea de zeci de ori de către grupul de phishing #InfernoDrainer într-o singură tranzacție, rezultând furtul de active.
Notă: MetaMask în sine nu are probleme de securitate; MetaMask pune siguranța utilizatorilor pe primul loc atunci când oferă capacități legate de 7702 și a implementat multe măsuri de securitate. Utilizatorii trebuie să înțeleagă mai bine capacitățile și riscurile asociate cu 7702 pentru a preveni repetarea acestor evenimente de securitate.
1. Principiul de autorizare a semnăturii Metamask 7702 Delagator și designul de securitate
1. Analiză tehnică
Prin autorizarea Contractului Delegator deja implementat de utilizator, câmpul code al contului utilizatorului este direcționat către acel contract. Adresa actuală a Contractului Delegator oficial MetaMask este: 0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B
Structura de autorizare: (chainId, delegatorAddress, nonce, signature) scrisă în authorization_list
Metoda de semnare: MetaMask utilizează o logică de semnare unificată pentru tranzacțiile de autorizare legate de EIP-7702, adică metoda signEIP7702Authorization, pentru a semna datele de autorizare digest7702 = keccak256(0x05 ‖ RLP(chainId, delegator, nonce)) utilizând semnarea ECDSA, generând structura de semnătură (v, r, s) și adăugând-o la tranzacția de tip 4 ulterioară, pentru a realiza autorizarea și upgrade-ul contului; implementarea specifică poate fi găsită la: https://github.com/MetaMask/eth-sig-util/blob/main/src/sign-eip7702-authorization.ts
Metoda de verificare: stratul de consens verifică prin ecrecover(digest7702, sig) == tx.from.
Design de securitate: interfața web nu poate induce utilizatorii să autorizeze orice Delegator, deoarece metoda signEIP7702Authorization este implementată doar în interiorul portofelului MetaMask, nefiind accesibilă prin apeluri către window.ethereum pe interfața web. Metodele de semnare accesibile pe web, cum ar fi eth_signTypedData_v4, nu sunt potrivite pentru semnarea autorizării EIP-7702, iar formatul de rezumat al semnăturii este următorul:

iar formatul de semnătură cerut de specificația EIP-7702 este:

Deoarece eth_signTypedData_v4 conține întotdeauna prefixul 0x1901 și procesul de calcul al rezumatului este complet diferit de 7702, chiar și construind cu măiestrie domainSeparator, primaryType și message, este aproape imposibil ca digest712 să fie egal cu digest7702.
Prin urmare, interfața web nu poate falsifica o semnătură de autorizare 7702 legitimă prin această metodă. În plus, MetaMask aplică un mecanism de listă albă pentru adresele Delegator, permițând implicit doar autorizarea Delegator-ului oficial (0x63c0...32B) și interzicând DApp-urilor să injecteze adrese, pentru a preveni inducerea utilizatorilor să semneze date de autorizare malițioase.
2. Metodă de utilizare
În prezent, în MetaMask, modalitățile de upgrade a EOA-ului existent la un cont inteligent 7702 (Smart Account) sunt împărțite în două tipuri: upgrade activ și upgrade pasiv.
Upgrade activ se referă la acțiunea utilizatorului de a face clic pe butonul „Schimbare” din interfața portofelului, autorizând un anumit Contract Delegator.
Upgrade-ul pasiv apare atunci când utilizatorul interacționează cu anumite DApp-uri care suportă 7702; Metamask va detecta operațiunile relevante și va afișa automat un mesaj, sugerând utilizatorului să finalizeze upgrade-ul.
2.1 Upgrade activ:
Conținutul tranzacției: include doar acțiunea de upgrade a contului, adică autorizarea unui anumit Contract Delegator.
Fluxul de upgrade: accesați interfața de detalii a contului din portofel, faceți clic pe butonul de schimbare din imaginea de mai jos, astfel încât utilizatorul să poată face upgrade la un cont inteligent pe Ethereum Mainnet. După ce faceți clic pe schimbare, apare fereastra de semnare a tranzacției de upgrade curente a utilizatorului:

Înregistrări de autorizare: după confirmare, așteptați să fie înregistrată tranzacția pe lanț; înregistrarea cu succes pe lanț înseamnă că utilizatorul a reușit să facă upgrade la un cont inteligent, iar detaliile tranzacției de autorizare specifice pot fi vizualizate pe pagina adresei actuale a portofelului pe etherscan în secțiunea **Autorizări (EIP-7702)**.

2. Metodă de utilizare
În prezent, în MetaMask, modalitățile de upgrade a EOA-ului existent la un cont inteligent 7702 (Smart Account) sunt împărțite în două tipuri: upgrade activ și upgrade pasiv.
Upgrade activ se referă la acțiunea utilizatorului de a face clic pe butonul „Schimbare” din interfața portofelului, autorizând un anumit Contract Delegator.
Upgrade-ul pasiv apare atunci când utilizatorul interacționează cu anumite DApp-uri care suportă 7702; Metamask va detecta operațiunile relevante și va afișa automat un mesaj, sugerând utilizatorului să finalizeze upgrade-ul.
2.1 Upgrade activ:
Conținutul tranzacției: include doar acțiunea de upgrade a contului, adică autorizarea unui anumit Contract Delegator.
Fluxul de upgrade: accesați interfața de detalii a contului din portofel, faceți clic pe butonul de schimbare din imaginea de mai jos, astfel încât utilizatorul să poată face upgrade la un cont inteligent pe Ethereum Mainnet. După ce faceți clic pe schimbare, apare fereastra de semnare a tranzacției de upgrade curente a utilizatorului:

Înregistrări de autorizare: după confirmare, așteptați să fie înregistrată tranzacția pe lanț; înregistrarea cu succes pe lanț înseamnă că utilizatorul a reușit să facă upgrade la un cont inteligent, iar detaliile tranzacției de autorizare specifice pot fi vizualizate pe pagina adresei actuale a portofelului pe etherscan în secțiunea **Autorizări (EIP-7702)**.

2.2 Upgrade pasiv
Conținutul tranzacției: include acțiunea de upgrade a contului și acțiuni în masă de interacțiune cu contractele de pe lanț.
Fluxul de upgrade: atunci când utilizatorul interacționează cu anumite DApp-uri de pe lanț, Metamask va sugera activ utilizatorului că tranzacția curentă poate fi finalizată prin upgrade la un cont inteligent utilizând metoda de trimitere în masă. De exemplu, atunci când se face un swap de tokenuri pe Uniswap, faceți clic pe butonul Utilizați contul inteligent, upgrade la un cont inteligent, iar apoi autorizarea tokenurilor și swap-ul vor fi finalizate într-o singură tranzacție.

2.3 Întoarcerea la EOA obișnuit
Indiferent dacă se utilizează upgrade activ sau pasiv pentru a transforma contul curent într-un cont inteligent, adresa Contractului Delegator asociat va fi stocată permanent pe lanț, ca logică de execuție curentă a contului.
Dacă utilizatorul dorește să restabilească contul la un EOA obișnuit, trebuie să inițieze manual o operațiune de „întoarcere la EOA”. Această operațiune constă în: printr-o autorizare EIP-7702, se va trimite address(0) ca nouă adresă a contractului Delegator. Odată ce această tranzacție este înregistrată cu succes pe lanț, câmpul code al contului va fi golit, iar logica de execuție va reveni la codul gol implicit, contul revenind astfel la starea EOA obișnuit.
Accesați interfața de detalii a contului din portofel, faceți clic pe butonul de schimbare, astfel încât utilizatorul să poată schimba contul său de pe Ethereum Mainnet înapoi la un cont EOA obișnuit.

După ce faceți clic pe confirmare, așteptați să fie înregistrată tranzacția pe lanț; înregistrarea cu succes pe lanț înseamnă că utilizatorul a trecut de la un cont inteligent la un cont EOA obișnuit, iar informațiile specifice ale tranzacției pot fi găsite și pe pagina adresei actuale a portofelului de pe etherscan.

2. Exemple de atacuri de phishing 7702
Pe 24 mai, grupul de phishing #InfernoDrainer a folosit funcția de execuție în masă a contractului Metamask 7702-Delegator pentru a obține în mod fraudulos autorizarea tokenurilor utilizatorului (0xc6D2…06DC) și a efectuat un atac de phishing, cauzând pierderi de peste 146.000 de dolari în $HashAI $HUMANS $ParallelAI $NeuralAI $DSync $Zero1 $NodeAI $Sensay $Virtual.
Adresă de fraudă
0x0000db5c8B030ae20308ac975898E09741e70000 0x00008C22F9F6f3101533f520e229BbB54Be90000 0xa85d90B8Febc092E11E75Bf8F93a7090E2ed04DE 0xC83De81A2aa92640D8d68ddf3Fc6b4B853D77359 0x33dAD2bbb03Dca73a3d92FC2413A1F8D09c34181
Exemplu de tranzacție de phishing
https://etherscan.io/tx/0x09c264618e93983510aaeb7aa2c91c8254a8b2ec66167438f3f6c28b866b6eba
Motivul phishing-ului
Utilizatorul (0xc6D2…06DC) a efectuat o tranzacție de autorizare malițioasă în masă:
Ethereum Transaction Hash: 0x1ddc8cecbc... | Etherscan
Apelați 0xe9ae5c53 Metodă De 0xc6D289d5...0d2E606DC pe 0xc6D289d5...0d2E606DC | Succes | Mai-23-2025 02:31:35 PM (UTC)
etherscan.io

#InfernoDrainer și #PinkDrainer experimentează o utilizare mai ascunsă și cu un impact mai mare a lanțului negru de phishing utilizând 7702.
Conform cercetărilor noastre, în prezent grupurile de producție de phishing #InfernoDrainer și #PinkDrainer studiază și experimentează o utilizare mai ascunsă și cu un impact mai mare a lanțului negru de phishing utilizând 7702, adresele relevante sunt următoarele, iar noi vom publica un raport mai detaliat ulterior:
Inferno Drainer:
0x0000db5c8B030ae20308ac975898E09741e70000
Pink Drainer:
0xe49e04F40C272F405eCB9a668a73EEAD4b3B5624
Trei, recomandări de securitate
Furnizor de portofel:
Conform implementării și gestionării de securitate a Delegator-ului 7702 de către Metamask, interzice utilizatorilor să autorizeze orice Delegator și permite doar operațiuni în cadrul aplicației. Avertizați utilizatorii că orice acțiune care le solicită semnarea autorizării prin intermediul paginilor web este un atac de phishing.
Verificați dacă lanțul se potrivește cu rețeaua curentă și avertizați utilizatorii că există riscuri de replay atunci când semnează cu chainID 0.
Afișați contractul țintă atunci când utilizatorul semnează autorizația și afișați conținutul apelurilor de funcții specifice atunci când utilizatorul efectuează execuții în masă prin Delegator, reducând riscurile atacurilor de phishing în rețea.
Utilizator:
Protecția cheii private este întotdeauna cea mai importantă. Nu sunt cheile tale, nu sunt monedele tale.
Nu autorizați Delegator-ul pe baza oricărei pagini web independente; autorizarea sigură se va face de obicei în cadrul aplicației, așa cum face MetaMask.
Atunci când utilizați orice portofel pentru a semna, verificați cu atenție conținutul semnăturii pentru a evita semnarea în orb sau semnarea greșită. După ce faceți clic pe confirmare, așteptați să fie înregistrată tranzacția pe lanț; înregistrarea cu succes pe lanț înseamnă că utilizatorul a trecut de la un cont inteligent la un cont EOA obișnuit, iar informațiile specifice ale tranzacției pot fi găsite pe pagina adresei actuale a portofelului de pe etherscan.

Două, exemple de atacuri de phishing 7702
Pe 24 mai, grupul de phishing #InfernoDrainer a folosit funcția de execuție în masă a contractului Metamask 7702-Delegator pentru a obține în mod fraudulos autorizarea tokenurilor utilizatorului (0xc6D2…06DC) și a efectuat un atac de phishing, cauzând pierderi de peste 146.000 de dolari în $HashAI $HUMANS $ParallelAI $NeuralAI $DSync $Zero1 $NodeAI $Sensay $Virtual.
Adresă de fraudă
0x0000db5c8B030ae20308ac975898E09741e70000 0x00008C22F9F6f3101533f520e229BbB54Be90000 0xa85d90B8Febc092E11E75Bf8F93a7090E2ed04DE 0xC83De81A2aa92640D8d68ddf3Fc6b4B853D77359 0x33dAD2bbb03Dca73a3d92FC2413A1F8D09c34181
Exemplu de tranzacție de phishing

Motivul phishing-ului
Utilizatorul (0xc6D2…06DC) a efectuat o tranzacție de autorizare malițioasă în masă:

#InfernoDrainer și #PinkDrainer experimentează o utilizare mai ascunsă și cu un impact mai mare a lanțului negru de phishing utilizând 7702.
Conform cercetărilor noastre, în prezent grupurile de producție de phishing #InfernoDrainer și #PinkDrainer studiază și experimentează o utilizare mai ascunsă și cu un impact mai mare a lanțului negru de phishing utilizând 7702, adresele relevante sunt următoarele, iar noi vom publica un raport mai detaliat ulterior:
Inferno Drainer:
0x0000db5c8B030ae20308ac975898E09741e70000
Pink Drainer:
0xe49e04F40C272F405eCB9a668a73EEAD4b3B5624
Trei, recomandări de securitate
Furnizor de portofel:
Conform implementării și gestionării de securitate a Delegator-ului 7702 de către Metamask, interzice utilizatorilor să autorizeze orice Delegator și permite doar operațiuni în cadrul aplicației. Avertizați utilizatorii că orice acțiune care le solicită semnarea autorizării prin intermediul paginilor web este un atac de phishing.
Verificați dacă lanțul se potrivește cu rețeaua curentă și avertizați utilizatorii că există riscuri de replay atunci când semnează cu chainID 0.
Afișați contractul țintă atunci când utilizatorul semnează autorizația și afișați conținutul apelurilor de funcții specifice atunci când utilizatorul efectuează execuții în masă prin Delegator, reducând riscurile atacurilor de phishing în rețea.
Utilizator:
Protecția cheii private este întotdeauna cea mai importantă. Nu sunt cheile tale, nu sunt monedele tale.
Nu autorizați Delegator-ul pe baza oricărei pagini web independente; autorizarea sigură se va face de obicei în cadrul aplicației, așa cum face MetaMask.
Atunci când utilizați orice portofel pentru a semna, verificați cu atenție conținutul semnăturii pentru a evita semnarea în orb sau semnarea greșită.
