Approval token dan keamanan penandatanganan: apa yang Anda setujui saat menekan konfirmasi
Hardware wallet tidak bisa menyelamatkan Anda dari tanda tangan yang Anda pilih untuk diberikan. Sebagian besar pencurian on-chain hari ini bukan kunci yang dicuri, melainkan izin yang diberikan — sebuah approval atau pesan tertandatangani yang membiarkan sebuah kontrak menguras dompet belakangan. Pelajaran ini menjelaskan arti tiap permintaan dan mana yang harus ditolak.

Yang akan Anda pelajari
- Approval membiarkan sebuah kontrak memindahkan token dari dompet Anda tanpa bertanya lagi. Approval tak terbatas ke kontrak jahat atau yang kemudian dibobol adalah penyebab utama dompet terkuras.
- Permintaan tanda tangan yang "gratis" dan "hanya untuk verifikasi" bisa berupa order off-chain yang memindahkan aset Anda. Bacalah apa yang ditandatangani, bukan apa yang dikatakan situsnya.
- Tinjau dan cabut approval secara berkala, sediakan dompet terpisah untuk berinteraksi dengan situs baru, dan perlakukan setiap permintaan sebagai instruksi kepada uang Anda.
Pelajaran-pelajaran sebelumnya melindungi kunci dan akunnya. Yang ini tentang transaksi yang tetap akan ditandatangani dompet yang sempurna amannya jika Anda menyuruhnya. Serangan di sini tidak mencuri seed phrase. Mereka meminta izin, dengan sopan, lewat kotak dialog, dan Anda memberikannya.
Apa itu approval
Token di chain bergaya Ethereum mengikuti standar yang membuat kontrak token menyimpan saldo untuk tiap alamat — dan, terpisah dari itu, sebuah allowance: berapa banyak saldo Anda yang boleh dipindahkan alamat lain. Untuk menukar USDC di DEX, router DEX itu harus diizinkan mengambil USDC dari Anda. Anda memberikannya dengan menandatangani transaksi approve yang menyebut router (sang spender) dan sebuah jumlah.
Pelajaran DEX menyebut ini sebagai langkah kedua sebuah swap. Yang tidak disebutnya adalah approval itu bertahan. Sekali diberikan, spender bisa memindahkan hingga sebesar jumlah itu dari dompet Anda kapan pun di masa depan, dalam transaksi apa pun, tanpa permintaan lagi.
Dua konsekuensinya:
- Approval tak terbatas. Antarmuka secara bawaan memakai jumlah "tak terbatas" agar Anda tak perlu memberi approval lagi. Artinya spender bisa mengambil seluruh saldo token itu — sekarang, atau tiga tahun lagi.
- Approval hidup lebih lama daripada situsnya. Jika kontrak yang Anda setujui kemudian dieksploitasi, atau memang jahat sejak awal, approval Anda adalah tiket penyerangnya. Anda tidak perlu mengunjungi situsnya lagi. Anda tidak perlu melakukan apa pun.

Bagaimana drainer memanfaatkannya
Wallet drainer adalah paket — dijual ke penipu sebagai layanan — yang berjalan di balik situs palsu: airdrop tiruan, mint palsu, kloning DEX asli, atau tautan "klaim hadiah Anda" di Discord yang diretas atau akun proyek yang dibajak.
- Anda menghubungkan dompet. Ini sendiri tidak berbahaya; ia hanya mengungkap alamat Anda.
- Situsnya membaca saldo Anda dan memilih token paling berharga.
- Ia meminta approval untuk token itu ke kontrak si drainer, dikemas sebagai "Claim", "Verify", atau "Enable trading". Sebagian permintaan meminta approval beberapa token sekaligus.
- Anda mengonfirmasi. Tidak ada yang tampak terjadi — atau muncul pesan sukses palsu.
- Beberapa menit atau hari kemudian, drainer memanggil transferFrom dan mengosongkan saldo yang telah disetujui.
Hardware wallet menampilkan approval-nya, tetapi yang ditampilkan adalah alamat spender dan sebuah jumlah, yang tak bermakna kecuali Anda memeriksa alamat itu terhadap kontrak yang dikenal. Kebanyakan orang menekan konfirmasi.
Tanda tangan yang bukan transaksi
Kelas permintaan kedua meminta Anda menandatangani pesan alih-alih mengirim transaksi. Ia tidak berbiaya gas dan situsnya bilang itu "hanya untuk masuk" atau "verifikasi kepemilikan". Sering kali memang begitu. Kadang itu adalah order off-chain: instruksi tertandatangani yang nantinya dieksekusi di chain oleh sebuah marketplace atau sistem permit.
Dua bentuk yang penting:
- Permit / Permit2. Pesan tertandatangani yang _merupakan_ sebuah approval — ia memberi allowance tanpa transaksi. Semua hal di atas tentang approval berlaku, tetapi permintaannya tampak seperti tanda tangan tak berbahaya.
- Listing marketplace. Pesan tertandatangani yang mendaftarkan NFT atau token Anda untuk dijual seharga nol kepada pembeli tertentu. Menandatanganinya berarti memberikannya cuma-cuma.
Permintaan di dompet akan menampilkan data terstruktur yang ditandatangani. Jika ia memuat spender, token, jumlah, atau tenggat waktu, itu adalah otorisasi, apa pun sebutan situsnya. Jika dompet memperingatkan bahwa datanya tidak terbaca (hash mentah), tolak: situs yang sah tidak menuntut tanda tangan buta.
Address poisoning
Trik terkait menyasar kebiasaan menyalin alamat dari riwayat transaksi. Penyerang mengirimi Anda transfer bernilai nol dari alamat yang karakter awal dan akhirnya sama dengan alamat yang sering Anda kirimi. Saat berikutnya Anda menyalin "alamat biasa Anda" dari riwayat, Anda menyalin alamat mereka. Periksa seluruh alamatnya, atau pakai buku alamat dompet, bukan riwayat.
Kebiasaan yang mencegah ini
Baca permintaannya, bukan halamannya. Situs bisa mengatakan apa saja. Permintaan di dompet menunjukkan apa yang benar-benar akan terjadi: kontrak yang dipanggil, fungsinya, spender-nya, dan jumlahnya. Pelajari cara menemukan empat hal itu di layar konfirmasi dompet Anda.
Setujui jumlah persis. Sebagian besar dompet dan antarmuka mengizinkan mengedit jumlah approval. Setel sebesar transaksi ini saja. Biayanya satu approval tambahan di lain waktu dan itu menghapus risiko yang menetap.
Cabut yang tidak lagi Anda pakai. Alat pengelola approval mendaftar setiap allowance yang telah diberikan sebuah alamat dan membiarkan Anda mencabutnya masing-masing dengan satu transaksi. Tinjau tiap kuartal, dan segera setelah ada berita sebuah protokol dieksploitasi.
Gunakan dompet terpisah.
| Dompet | Menyimpan | Berinteraksi dengan |
|---|---|---|
| Brankas | Kepemilikan jangka panjang | Tidak ada. Hanya menerima; mengirim hanya ke dompet Anda sendiri. Didukung perangkat keras. |
| Harian | Yang sedang aktif Anda perdagangkan | Protokol mapan yang pernah Anda pakai |
| Burner | Jumlah kecil yang siap Anda relakan | Situs baru, mint, airdrop, apa pun yang asing |
Drainer yang mengosongkan burner hanya mengambil apa yang Anda taruh di sana. Brankas yang tidak pernah menandatangani approval tidak bisa dikuras.
Verifikasi alamat kontrak. Sebelum approval besar, pastikan spender-nya adalah router atau alamat kontrak resmi protokol tersebut, dari dokumentasinya — bukan dari situs yang sedang meminta Anda.
Simulasikan. Beberapa dompet dan ekstensi menampilkan perkiraan perubahan saldo sebuah transaksi sebelum Anda menandatangani. Jika sebuah "klaim" justru mengurangi saldo Anda, itu bukan klaim.
Jika Anda sudah terlanjur menandatangani
Cabut approval-nya segera — sebelum drainer bertindak, kalau Anda cepat. Pindahkan sisa saldo token itu ke dompet baru. Anggap approval lain yang diberikan di situs yang sama juga jahat dan cabut semuanya. Seed phrase tidak terkompromikan oleh sebuah approval, jadi dompetnya sendiri bisa dipertahankan; approval-nya tidak.
EthereumETHDi 50 pasar spot yang kami indeksApa artinya dalam praktik
- Approval adalah izin menetap untuk mengambil token Anda. Berikan jumlah persis, ke kontrak terverifikasi, dan cabut setelah selesai.
- Tanda tangan tanpa biaya gas bisa memindahkan aset. Baca data terstrukturnya; tolak hash buta.
- Sediakan brankas yang tidak menandatangani apa pun dan burner yang isinya sedikit. Risikonya hidup di dompet yang melakukan keduanya.
Ke mana setelah ini
Anda telah menyelesaikan jalur Keamanan dan kurikulum awal Coinmico Learn. Glosarium mendefinisikan setiap istilah yang diperkenalkan pelajaran-pelajaran ini, masing-masing bertaut ke halaman Coinmico tempat angkanya diukur secara langsung. Dari sini, bagian Research menerapkan gagasan-gagasan ini pada pasar tertentu, dengan blok data yang sudah Anda lihat sepanjang jalan.
Aset dalam tulisan ini
Setiap angka di sini diukur oleh Coinmico di seluruh bursa dan chain yang kami indeks. Lihat metodologi kami.



