EIP-7702 memberikan alamat kemampuan dan fleksibilitas mirip kontrak pintar, semakin banyak aplikasi 7702 yang terus-menerus diciptakan, yang sangat penting untuk menarik lebih banyak orang ke Web3 dan meningkatkan pengalaman pengguna.

Namun, fleksibilitas 7702 dan kenyataan bahwa sebagian besar pengguna masih tidak akrab dengan 7702 sedang dimanfaatkan oleh kelompok penipuan. Baru-baru ini kami mengamati bahwa ada pengguna yang karena kemampuan eksekusi massal Metamask 7702, yang seharusnya memerlukan otorisasi berkali-kali, telah digabungkan oleh kelompok penipuan #InfernoDrainer menjadi satu transaksi, menyebabkan pencurian aset.

Catatan: Metamask sendiri tidak memiliki masalah keamanan, Metamask mengutamakan keamanan pengguna saat menyediakan kemampuan terkait 7702 dan telah melakukan banyak langkah keamanan. Pengguna perlu lebih memahami kemampuan 7702 dan risiko terkait untuk mencegah kejadian keamanan serupa terjadi lagi.

Satu, Prinsip Otorisasi Tanda Tangan Metamask 7702 Delegator dan Desain Keamanan

1. Analisis Teknis

  • Oleh pengguna, memberikan otorisasi kepada Kontrak Delegator yang telah diterapkan, yang mengarahkan field kode akun pengguna ke kontrak tersebut. Alamat Kontrak Delegator resmi MetaMask saat ini: 0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B

  • Struktur otorisasi: (chainId, delegatorAddress, nonce, signature) ditulis ke dalam authorization_list

  • Metode tanda tangan: Metamask menggunakan logika tanda tangan yang seragam untuk transaksi otorisasi terkait EIP-7702, yaitu metode signEIP7702Authorization, untuk melakukan tanda tangan ECDSA pada data otorisasi digest7702 = keccak256(0x05 ‖ RLP(chainId, delegator, nonce)), menghasilkan struktur tanda tangan (v, r, s) dan dilampirkan pada transaksi Tipe-4 berikutnya, untuk melakukan otorisasi dan pembaruan akun, lihat implementasi spesifik di: https://github.com/MetaMask/eth-sig-util/blob/main/src/sign-eip7702-authorization.ts

  • Metode verifikasi: Lapisan konsensus menyelesaikan verifikasi melalui ecrecover(digest7702, sig) == tx.from.

  • Desain keamanan: antarmuka web tidak dapat menipu pengguna untuk memberikan otorisasi kepada Delegator mana pun, karena metode signEIP7702Authorization hanya diimplementasikan di dalam dompet MetaMask, tidak terbuka untuk panggilan dari antarmuka web melalui window.ethereum. Metode tanda tangan yang dapat diakses oleh web seperti eth_signTypedData_v4 tidak berlaku untuk tanda tangan otorisasi EIP-7702, format ringkasan tanda tangannya adalah sebagai berikut:

Sedangkan format tanda tangan yang diminta oleh spesifikasi EIP-7702 adalah:

Karena eth_signTypedData_v4 selalu mengandung awalan 0x1901, dan proses perhitungan ringkasan sangat berbeda dari 7702, maka bahkan jika domainSeparator, primaryType, dan message dibangun dengan cermat, hampir tidak mungkin untuk membuat digest712 == digest7702.

Oleh karena itu, antarmuka web tidak dapat memalsukan tanda tangan otorisasi 7702 yang sah melalui metode ini. Selain itu, MetaMask juga menerapkan mekanisme daftar putih untuk alamat Delegator, secara default hanya mengizinkan otorisasi Delegator resmi (0x63c0...32B), melarang DApp untuk menyuntikkan alamat secara mandiri, lebih lanjut mencegah pengguna dari penipuan untuk menandatangani data otorisasi Delegator yang jahat. EIP-7702 memberikan alamat kemampuan dan fleksibilitas mirip kontrak pintar, semakin banyak aplikasi 7702 yang terus-menerus diciptakan, yang sangat penting untuk menarik lebih banyak orang ke Web3 dan meningkatkan pengalaman pengguna.

Namun, fleksibilitas 7702 dan kenyataan bahwa sebagian besar pengguna masih tidak akrab dengan 7702 sedang dimanfaatkan oleh kelompok penipuan. Baru-baru ini kami mengamati bahwa ada pengguna yang karena kemampuan eksekusi massal Metamask 7702, yang seharusnya memerlukan otorisasi berkali-kali, telah digabungkan oleh kelompok penipuan #InfernoDrainer menjadi satu transaksi, menyebabkan pencurian aset.

Catatan: Metamask sendiri tidak memiliki masalah keamanan, Metamask mengutamakan keamanan pengguna saat menyediakan kemampuan terkait 7702 dan telah melakukan banyak langkah keamanan. Pengguna perlu lebih memahami kemampuan 7702 dan risiko terkait untuk mencegah kejadian keamanan serupa terjadi lagi.

Satu, Prinsip Otorisasi Tanda Tangan Metamask 7702 Delegator dan Desain Keamanan

1. Analisis Teknis

  • Oleh pengguna, memberikan otorisasi kepada Kontrak Delegator yang telah diterapkan, yang mengarahkan field kode akun pengguna ke kontrak tersebut. Alamat Kontrak Delegator resmi MetaMask saat ini: 0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B

  • Struktur otorisasi: (chainId, delegatorAddress, nonce, signature) ditulis ke dalam authorization_list

  • Metode tanda tangan: Metamask menggunakan logika tanda tangan yang seragam untuk transaksi otorisasi terkait EIP-7702, yaitu metode signEIP7702Authorization, untuk melakukan tanda tangan ECDSA pada data otorisasi digest7702 = keccak256(0x05 ‖ RLP(chainId, delegator, nonce)), menghasilkan struktur tanda tangan (v, r, s) dan dilampirkan pada transaksi Tipe-4 berikutnya, untuk melakukan otorisasi dan pembaruan akun, lihat implementasi spesifik di: https://github.com/MetaMask/eth-sig-util/blob/main/src/sign-eip7702-authorization.ts

  • Metode verifikasi: Lapisan konsensus menyelesaikan verifikasi melalui ecrecover(digest7702, sig) == tx.from.

  • Desain keamanan: antarmuka web tidak dapat menipu pengguna untuk memberikan otorisasi kepada Delegator mana pun, karena metode signEIP7702Authorization hanya diimplementasikan di dalam dompet MetaMask, tidak terbuka untuk panggilan dari antarmuka web melalui window.ethereum. Metode tanda tangan yang dapat diakses oleh web seperti eth_signTypedData_v4 tidak berlaku untuk tanda tangan otorisasi EIP-7702, format ringkasan tanda tangannya adalah sebagai berikut:

Sedangkan format tanda tangan yang diminta oleh spesifikasi EIP-7702 adalah:

Karena eth_signTypedData_v4 selalu mengandung awalan 0x1901, dan proses perhitungan ringkasan sangat berbeda dari 7702, maka bahkan jika domainSeparator, primaryType, dan message dibangun dengan cermat, hampir tidak mungkin untuk membuat digest712 == digest7702.

Oleh karena itu, antarmuka web tidak dapat memalsukan tanda tangan otorisasi 7702 yang sah melalui metode ini. Selain itu, MetaMask juga menerapkan mekanisme daftar putih untuk alamat Delegator, secara default hanya mengizinkan otorisasi Delegator resmi (0x63c0...32B), melarang DApp untuk menyuntikkan alamat secara mandiri, lebih lanjut mencegah pengguna dari penipuan untuk menandatangani data otorisasi Delegator yang jahat.

2. Cara Menggunakan

Saat ini di Metamask, cara untuk meningkatkan EOA yang ada menjadi akun pintar 7702 (Smart Account) terutama terbagi menjadi dua kategori: pembaruan aktif dan pembaruan pasif.

Pembaruan aktif berarti pengguna secara aktif mengklik tombol 'Beralih' di antarmuka dompet, memberikan otorisasi kepada Kontrak Delegator tertentu.

Pembaruan pasif terjadi ketika pengguna berinteraksi dengan beberapa DApp yang mendukung 7702, setelah Metamask mendeteksi operasi terkait, akan muncul pemberitahuan otomatis, menyarankan pengguna untuk menyelesaikan pembaruan.

2.1 Pembaruan Aktif:

  • Isi transaksi: hanya mencakup tindakan pembaruan akun, yaitu memberikan otorisasi kepada Kontrak Delegator tertentu.

  • Proses pembaruan: Masuk ke antarmuka detail akun dompet, klik tombol beralih yang ditunjukkan pada gambar di bawah ini, maka pengguna dapat memperbarui dari Ethereum Mainnet menjadi akun pintar. Setelah mengklik beralih, jendela tanda tangan transaksi pembaruan saat ini akan muncul:

  • Rekaman otorisasi: Setelah konfirmasi, tunggu transaksi di blockchain, keberhasilan di blockchain berarti pengguna berhasil meningkatkan menjadi akun pintar, yang dapat dilihat dari halaman alamat dompet saat ini di etherscan di bagian **Otorisasi (EIP-7702)** untuk informasi transaksi otorisasi spesifik.


2. Cara Menggunakan

Saat ini di Metamask, cara untuk meningkatkan EOA yang ada menjadi akun pintar 7702 (Smart Account) terutama terbagi menjadi dua kategori: pembaruan aktif dan pembaruan pasif.

Pembaruan aktif berarti pengguna secara aktif mengklik tombol 'Beralih' di antarmuka dompet, memberikan otorisasi kepada Kontrak Delegator tertentu.

Pembaruan pasif terjadi ketika pengguna berinteraksi dengan beberapa DApp yang mendukung 7702, setelah Metamask mendeteksi operasi terkait, akan muncul pemberitahuan otomatis, menyarankan pengguna untuk menyelesaikan pembaruan.

2.1 Pembaruan Aktif:

  • Isi transaksi: hanya mencakup tindakan pembaruan akun, yaitu memberikan otorisasi kepada Kontrak Delegator tertentu.

  • Proses pembaruan: Masuk ke antarmuka detail akun dompet, klik tombol beralih yang ditunjukkan pada gambar di bawah ini, maka pengguna dapat memperbarui dari Ethereum Mainnet menjadi akun pintar. Setelah mengklik beralih, jendela tanda tangan transaksi pembaruan saat ini akan muncul:

  • Rekaman otorisasi: Setelah konfirmasi, tunggu transaksi di blockchain, keberhasilan di blockchain berarti pengguna berhasil meningkatkan menjadi akun pintar, yang dapat dilihat dari halaman alamat dompet saat ini di etherscan di bagian **Otorisasi (EIP-7702)** untuk informasi transaksi otorisasi spesifik.

2.2 Pembaruan Pasif

  • Isi transaksi: mencakup tindakan pembaruan akun serta interaksi massal dengan kontrak di blockchain.

  • Proses pembaruan: Ketika pengguna berinteraksi dengan beberapa DApp di blockchain, Metamask akan secara aktif memberi tahu pengguna bahwa transaksi saat ini dapat diselesaikan dengan cara menggunakan akun pintar melalui pengiriman massal. Misalnya, saat melakukan swap token tertentu di Uniswap, klik tombol Gunakan akun pintar, tingkatkan menjadi akun pintar, setelah itu otorisasi token dan swap akan diselesaikan dalam satu transaksi secara massal.

2.3 Beralih ke EOA Biasa

Baik dengan cara pembaruan aktif maupun pasif untuk mengubah akun saat ini menjadi akun pintar, alamat Kontrak Delegator yang terikat akan disimpan secara permanen di blockchain, sebagai logika eksekusi saat ini dari akun.

Jika pengguna ingin mengembalikan akun menjadi EOA biasa, perlu untuk secara manual memulai sekali operasi 'beralih kembali ke EOA'. Operasi ini pada dasarnya adalah: melalui satu otorisasi EIP-7702, mengajukan address(0) sebagai alamat kontrak Delegator baru. Ketika transaksi tersebut berhasil di blockchain, field kode akun akan dibersihkan, logika eksekusi kembali ke kode kosong default, dan akun akan kembali ke status EOA biasa.

Masuk ke antarmuka detail akun dompet, klik tombol beralih, maka pengguna dapat beralih dari Ethereum Mainnet ke akun EOA biasa.

Setelah mengklik konfirmasi, tunggu transaksi di blockchain, keberhasilan di blockchain berarti pengguna telah beralih dari akun pintar kembali ke akun EOA biasa, informasi transaksi spesifik juga dapat ditemukan di halaman alamat dompet saat ini di etherscan.

Dua, Contoh Serangan Phishing 7702

Pada 24 Mei, kelompok phishing #InfernoDrainer memanfaatkan fungsi eksekusi massal dari kontrak Metamask 7702-Delegator untuk secara massal menipu otorisasi token pengguna (0xc6D2…06DC) dan melaksanakan serangan phishing, menyebabkan kerugian lebih dari $146.000 dalam $HashAI $HUMANS $ParallelAI $NeuralAI $DSync $Zero1 $NodeAI $Sensay $Virtual.

  • Alamat Penipuan

0x0000db5c8B030ae20308ac975898E09741e70000 0x00008C22F9F6f3101533f520e229BbB54Be90000 0xa85d90B8Febc092E11E75Bf8F93a7090E2ed04DE 0xC83De81A2aa92640D8d68ddf3Fc6b4B853D77359 0x33dAD2bbb03Dca73a3d92FC2413A1F8D09c34181

  • Contoh transaksi phishing

https://etherscan.io/tx/0x09c264618e93983510aaeb7aa2c91c8254a8b2ec66167438f3f6c28b866b6eba

  • Alasan terjebak phishing

Pengguna (0xc6D2…06DC) melakukan transaksi otorisasi massal yang jahat:

Hash Transaksi Ethereum: 0x1ddc8cecbc... | Etherscan

Panggil Metode 0xe9ae5c53 Oleh 0xc6D289d5...0d2E606DC di 0xc6D289d5...0d2E606DC | Sukses | 23-Mei-2025 02:31:35 PM (UTC)

etherscan.io

  • #InfernoDrainer dan #PinkDrainer sedang bereksperimen dengan industri phishing hitam yang memanfaatkan 7702 dengan cara yang lebih tersembunyi dan lebih berdampak.

Berdasarkan penelitian kami, saat ini kelompok kriminal phishing #InfernoDrainer dan #PinkDrainer sedang meneliti dan menguji industri phishing hitam yang memanfaatkan 7702 dengan cara yang lebih tersembunyi dan lebih berdampak, alamat terkait adalah sebagai berikut, kami juga akan mengumumkan laporan lebih rinci di kemudian hari:

Inferno Drainer:

0x0000db5c8B030ae20308ac975898E09741e70000

Pink Drainer:

0xe49e04F40C272F405eCB9a668a73EEAD4b3B5624

Tiga, Saran Keamanan

Penyedia dompet:

  • Referensi implementasi dan manajemen keamanan Delegator 7702 oleh Metamask, melarang pengguna memberikan otorisasi kepada Delegator mana pun dan hanya mengizinkan operasi di dalam aplikasi. Mengingatkan pengguna bahwa setiap tindakan yang meminta pengguna untuk melakukan tanda tangan otorisasi melalui halaman web adalah serangan phishing.

  • Periksa apakah rantai sesuai dengan jaringan saat ini dan ingatkan pengguna tentang risiko pengulangan saat menandatangani dengan chainID 0.

  • Saat pengguna memberikan otorisasi tanda tangan, tampilkan kontrak tujuan, saat pengguna melakukan eksekusi massal melalui Delegator, tampilkan isi pemanggilan fungsi spesifik, untuk mengurangi risiko serangan phishing jaringan.

Pengguna:

  • Perlindungan kunci pribadi selalu yang terpenting. Bukan kunci Anda, bukan koin Anda.

  • Jangan memberikan otorisasi Delegator berdasarkan situs web independen mana pun, otorisasi yang aman biasanya hanya dilakukan di dalam aplikasi seperti Metamask.

  • Saat menggunakan dompet apa pun untuk tanda tangan, perhatikan dengan seksama isi tanda tangan, hindari tanda tangan buta atau salah tanda tangan. Setelah mengklik konfirmasi, tunggu transaksi di blockchain, keberhasilan di blockchain berarti pengguna telah beralih dari akun pintar kembali ke akun EOA biasa, informasi transaksi spesifik juga dapat ditemukan di halaman alamat dompet saat ini di etherscan.

    Dua, Contoh Serangan Phishing 7702

    Pada 24 Mei, kelompok phishing #InfernoDrainer memanfaatkan fungsi eksekusi massal dari kontrak Metamask 7702-Delegator untuk secara massal menipu otorisasi token pengguna (0xc6D2…06DC) dan melaksanakan serangan phishing, menyebabkan kerugian lebih dari $146.000 dalam $HashAI $HUMANS $ParallelAI $NeuralAI $DSync $Zero1 $NodeAI $Sensay $Virtual.

    • Alamat Penipuan

    0x0000db5c8B030ae20308ac975898E09741e70000 0x00008C22F9F6f3101533f520e229BbB54Be90000 0xa85d90B8Febc092E11E75Bf8F93a7090E2ed04DE 0xC83De81A2aa92640D8d68ddf3Fc6b4B853D77359 0x33dAD2bbb03Dca73a3d92FC2413A1F8D09c34181

    • Contoh transaksi phishing

    • Alasan terjebak phishing

    Pengguna (0xc6D2…06DC) melakukan transaksi otorisasi massal yang jahat:

    • #InfernoDrainer dan #PinkDrainer sedang bereksperimen dengan industri phishing hitam yang memanfaatkan 7702 dengan cara yang lebih tersembunyi dan lebih berdampak.

    Berdasarkan penelitian kami, saat ini kelompok kriminal phishing #InfernoDrainer dan #PinkDrainer sedang meneliti dan menguji industri phishing hitam yang memanfaatkan 7702 dengan cara yang lebih tersembunyi dan lebih berdampak, alamat terkait adalah sebagai berikut, kami juga akan mengumumkan laporan lebih rinci di kemudian hari:

    Inferno Drainer:

    0x0000db5c8B030ae20308ac975898E09741e70000

    Pink Drainer:

    0xe49e04F40C272F405eCB9a668a73EEAD4b3B5624

    Tiga, Saran Keamanan

    Penyedia dompet:

    • Referensi implementasi dan manajemen keamanan Delegator 7702 oleh Metamask, melarang pengguna memberikan otorisasi kepada Delegator mana pun dan hanya mengizinkan operasi di dalam aplikasi. Mengingatkan pengguna bahwa setiap tindakan yang meminta pengguna untuk melakukan tanda tangan otorisasi melalui halaman web adalah serangan phishing.

    • Periksa apakah rantai sesuai dengan jaringan saat ini dan ingatkan pengguna tentang risiko pengulangan saat menandatangani dengan chainID 0.

    • Saat pengguna memberikan otorisasi tanda tangan, tampilkan kontrak tujuan, saat pengguna melakukan eksekusi massal melalui Delegator, tampilkan isi pemanggilan fungsi spesifik, untuk mengurangi risiko serangan phishing jaringan.

    Pengguna:

    • Perlindungan kunci pribadi selalu yang terpenting. Bukan kunci Anda, bukan koin Anda.

    • Jangan memberikan otorisasi Delegator berdasarkan situs web independen mana pun, otorisasi yang aman biasanya hanya dilakukan di dalam aplikasi seperti Metamask.

    • Saat menggunakan dompet apa pun untuk tanda tangan, perhatikan dengan seksama isi tanda tangan, hindari tanda tangan buta atau salah tanda tangan.