Kembali

2026/11/03

Satu Tanda Tangan yang Terus Menguras Hot Wallet Binance: Delegasi EIP-7702 di Balik Pembobolan

50 otorisasi EIP-7702 yang ditandatangani lebih dulu, satu cocok, dan delegasi yang bertahan meski dompet kosong. Cara kerjanya dan apa yang perlu dipantau.

Dalam artikel pertama kami tentang pembobolan Binance, kami membahas bagaimana serangan itu dilaporkan bermula: laptop DevOps yang disusupi, dan penyerang yang berhasil menjangkau sistem untuk menyetujui tindakan sensitif. Analisis on-chain oleh perusahaan keamanan Blockaid kemudian menunjukkan cara kerja tahap terakhirnya di Ethereum. Tahap itu memanfaatkan EIP-7702, fitur yang ditambahkan ke Ethereum pada Mei 2025, dan memperlihatkan risiko yang belum diantisipasi oleh banyak operator hot wallet.

Singkatnya: satu otorisasi yang ditandatangani mengubah hot wallet Ethereum terbesar milik Binance menjadi akun yang dapat dikendalikan penyerang. Kendali itu tidak berakhir ketika dompet sudah kosong, dan juga tidak akan berakhir dengan rotasi kunci.

Poin-poin penting

  • Penyerang mengemas 50 otorisasi EIP-7702 yang sudah ditandatangani sebelumnya, mencakup 50 nonce berurutan, ke dalam satu transaksi; tepat satu yang cocok dan menyerahkan eksekusi dompet ke kontrak milik penyerang.
  • Delegasi EIP-7702 tetap berlaku sampai akun menggantinya atau menghapusnya. Setoran yang masuk setelah pengurasan pertama, pada satu titik lebih dari 200 juta dolar AS, ikut diambil tanpa tanda tangan baru apa pun.
  • Merotasi private key tidak menghapus delegasi, karena delegasi melekat pada alamat. Hanya pencabutan eksplisit yang dapat menghapusnya.
  • Bagaimana penyerang memperoleh 50 tanda tangan yang sah masih belum terjawab. Binance menyatakan belum menemukan bukti kebocoran private key.
  • Operator hot wallet perlu memantau status delegasi, menolak menandatangani otorisasi yang tidak mereka maksudkan, dan memasukkan pencabutan eksplisit ke dalam runbook penanganan insiden.

Pengantar singkat tentang EIP-7702

EIP-7702 memungkinkan akun Ethereum biasa (externally owned account, atau EOA) mendelegasikan eksekusinya ke smart contract. Pemilik akun menandatangani otorisasi yang menyebutkan alamat kontrak, chain, dan nonce akun saat ini. Setelah transaksi yang membawa otorisasi tersebut diproses, panggilan ke akun itu menjalankan kode kontrak, seolah-olah akun tersebut adalah smart contract wallet. Fitur ini ada untuk tujuan yang sah, seperti menggabungkan beberapa transaksi sekaligus dan membayar biaya atas nama pengguna.

Tiga detail dari spesifikasinya penting untuk insiden ini:

  • Otorisasi dikirim dalam jenis transaksi baru, type 4 (0x04), yang dapat memuat daftar otorisasi. Siapa pun dapat mengirim transaksi ini; otorisasinya hanya perlu tanda tangan yang sah dari akun tersebut.
  • Setiap otorisasi hanya berlaku jika nonce-nya sama dengan nonce akun saat ini. Jika tidak cocok, otorisasi itu saja yang dilewati, dan transaksi berlanjut ke otorisasi berikutnya.
  • Delegasi bersifat persisten. Delegasi tetap berlaku sampai akun menandatangani otorisasi baru yang menunjuk ke tempat lain, atau yang menunjuk ke zero address, yang menghapusnya.

Bagaimana dompet Binance 14 diambil alih

Hot wallet bursa yang sibuk terus-menerus mengirim transaksi, sehingga nonce-nya selalu bergerak. Penyerang yang menyiapkan otorisasi bertanda tangan sebelumnya tidak bisa tahu nonce mana yang berlaku ketika transaksinya masuk. Menurut analisis Blockaid, penyerang mengatasi hal ini dengan menandatangani satu rentang nilai, bukan satu nilai saja.

Waktu (UTC, 29 Oktober)Yang terjadi
15:59Penyerang men-deploy kontrak “sweeper”. Kontrak ini tidak terverifikasi, dan hanya alamat operator milik penyerang yang dapat memanggilnya.
20:20:59Satu transaksi type 4 membawa 50 otorisasi EIP-7702, semuanya ditandatangani dengan kunci hot wallet Binance 14, untuk 50 nonce berurutan. Tepat satu yang cocok dengan nonce dompet saat itu, dan dompet kini terdelegasi ke sweeper.
20:24:23Satu panggilan ke sweeper memindahkan sekitar 167.464 ETH, 1,615 miliar USDT, dan puluhan token lain keluar dari dompet, menyisakan 1 ETH untuk biaya.
20:41Masih dalam keadaan terdelegasi, dompet digunakan untuk memindahkan sekitar 823 juta USDC dari smart account terpisah yang dikendalikan Binance 14.
21:04 sampai 23:56Dompet dikuras empat kali lagi setiap ada dana baru masuk. Pada pukul 21:44 saja, lebih dari 200 juta dolar AS setoran baru diambil tanpa tanda tangan baru.
00:10 (30 Oktober)Delegasi dicabut, menurut kronologi dari Hypernative.

Langkah USDC menunjukkan efek kedua. Akun yang terdelegasi tetap memegang setiap peran yang dimilikinya di kontrak lain: pemilik, pelaksana, pembelanja yang disetujui. Siapa pun yang mengendalikan eksekusinya dapat menggunakan semua peran itu.

Mengapa dompet kosong tetap berbahaya

Setelah pencurian, wajar jika orang berasumsi bahwa dompet kosong tidak punya apa-apa lagi untuk hilang dan bahwa kunci baru mengakhiri akses penyerang. Dengan EIP-7702, kedua asumsi itu keliru. Delegasi melekat pada alamat, bukan pada saldo atau pada salinan kunci tertentu. Selama delegasi masih ada, apa pun yang dikirim ke alamat itu dapat dikuras oleh kontrak yang didelegasikan, dan penyerang tidak memerlukan tanda tangan tambahan.

Itulah yang terjadi di sini. Dana terus masuk ke Binance 14 setelah pengurasan pertama, dan dana itu dikuras lagi. Merotasi kunci tidak akan membantu: seperti dijelaskan Blockaid, menghapus delegasi memerlukan otorisasi baru dari akun yang sama, yang menunjuk ke zero address. Sampai pencabutan itu diproses, alamat tersebut harus dianggap dikendalikan oleh penyerang.

Tips: Saat terjadi insiden, cabut delegasi terlebih dahulu, baru kemudian rotasi kunci dan isi ulang dana. Hentikan semua proses otomatis yang mengirim dana ke alamat yang terdampak sampai Anda memastikan delegasinya sudah hilang.

Yang masih belum terjawab

Ke-50 otorisasi itu membawa tanda tangan yang sah dari kunci Binance 14. Ada dua penjelasan umum, dan bukti publik belum dapat menentukan mana yang benar:

  • Kuncinya bocor, dan penyerang menandatangani otorisasi secara langsung.
  • Infrastruktur penandatanganan disalahgunakan: penyerang membuat sistem penandatanganan milik Binance sendiri menandatangani payload pilihan penyerang tanpa pernah mengekstrak kuncinya.

Binance menyatakan belum menemukan bukti kebocoran private key dompet, dan penyelidikannya masih berlangsung. CEO Blockaid mengatakan kepada Cointelegraph bahwa aktivitas tersebut lebih terlihat seperti penyusupan infrastruktur penandatanganan daripada kunci yang bocor, tetapi itu adalah penilaian awal dari pihak luar. Sampai Binance menerbitkan laporan post-mortem, kami menganggap pertanyaan ini masih terbuka.

Yang perlu dilakukan jika Anda mengoperasikan hot wallet

1. Pantau status delegasi

Akun yang terdelegasi memiliki kode. Berdasarkan EIP-7702, kodenya adalah indikator delegasi 0xef0100 diikuti alamat 20 byte dari kontrak tujuan delegasi. EOA biasa sama sekali tidak memiliki kode. Anda dapat memeriksa alamat mana pun dengan panggilan JSON-RPC standar:

curl -s -X POST -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","id":1,"method":"eth_getCode","params":["0xYOUR_HOT_WALLET","latest"]}' \
  https://YOUR_RPC_ENDPOINT

Hasil 0x berarti tidak ada delegasi. Hasil yang diawali 0xef0100 berarti alamat tersebut terdelegasi. Periksa ini untuk setiap hot wallet di setiap blok atau dengan interval singkat, dan segera kirim peringatan untuk setiap perubahan yang tidak Anda rencanakan.

2. Awasi transaksi type 4 yang melibatkan alamat Anda

Transaksi yang mendelegasikan dompet Anda tidak harus berasal dari dompet Anda. Siapa pun dapat mengirimkannya, asalkan transaksi itu membawa otorisasi sah yang ditandatangani dengan kunci Anda. Pantau transaksi type 4 yang daftar otorisasinya berisi tanda tangan dari salah satu alamat Anda, bukan hanya transaksi yang dikirim dari alamat tersebut.

3. Simpan inventaris delegasi

Untuk setiap alamat yang Anda operasikan, catat apakah alamat itu memang boleh didelegasikan dan, jika ya, ke kontrak teraudit yang mana. Delegasi apa pun di luar daftar itu adalah insiden. Jika Anda tidak menggunakan EIP-7702, kondisi yang diharapkan untuk setiap hot wallet sangat sederhana: tidak ada kode.

4. Tolak otorisasi yang tidak terduga di sisi penanda tangan

Otorisasi EIP-7702 memiliki format penandatanganannya sendiri: hash dari byte 0x05 diikuti chain ID, alamat kontrak, dan nonce yang telah dienkode. Layanan penandatanganan dan kebijakan HSM dapat mengenali format ini. Jika Anda tidak menggunakan delegasi, blokir payload ini sepenuhnya; jika Anda menggunakannya, izinkan hanya alamat kontrak yang dikenal. Perhatikan juga bahwa otorisasi dengan chain ID 0 berlaku di semua chain.

5. Masukkan pencabutan eksplisit ke dalam runbook penanganan insiden

Tuliskan cara mencabut delegasi untuk setiap dompet: siapa yang menandatangani otorisasi ke zero address, dari sistem mana, dan bagaimana Anda memastikan pencabutannya berlaku (kode alamat kembali menjadi 0x). Sertakan langkah menghentikan transfer masuk ke alamat yang terdampak, dan latih prosedurnya sebelum Anda benar-benar membutuhkannya.

Tips: Prinsip yang sama berlaku di luar dunia kripto. Setiap hak akses yang bertahan lebih lama daripada kredensial yang membuatnya, seperti OAuth refresh token, peran cloud yang didelegasikan, atau token CI/CD berumur panjang, memerlukan langkah pencabutan eksplisit tersendiri dalam penanganan insiden.

Bagaimana LOGIQ dapat membantu

LOGIQ membantu organisasi meninjau siapa dan apa saja yang dapat bertindak dengan wewenang di server Linux, akun cloud, dan pipeline mereka, serta membangun pemantauan dan langkah penanganan insiden yang mencakup akses terdelegasi, bukan hanya kata sandi dan kunci. Jika Anda ingin kontrol Anda ditinjau ulang, baca artikel pertama kami tentang pembobolan ini di atas atau hubungi kami melalui situs web kami.

Sumber