Validasi alamat EIP-55, Bitcoin, TRON, dan Solana serta tampilkan bentuk checksum yang benar.
Pemeriksa Permintaan Tanda Tangan
Alat ini sendiri tersedia dalam bahasa Inggris; halaman ini menjelaskannya dalam bahasa Anda.
Gunakan Pemeriksa Permintaan Tanda Tangan
Fungsinya
Salin teks yang diminta oleh dompet atau situs untuk Anda tandatangani, lalu lihat dalam bahasa Inggris yang mudah dipahami apa yang akan diizinkan oleh teks tersebut. Persetujuan token, izin, tanda tangan Permit2, dan pencatatan di Seaport yang melibatkan pembayaran kepada pihak lain akan ditandai dengan warna merah.
Aplikasi ini sepenuhnya berjalan di browser Anda: tidak ada data yang Anda masukkan yang diunggah.
Cara menggunakan Pemeriksa Permintaan Tanda Tangan
- Salin permintaan mentah. Ambil teks persis yang diminta untuk Anda tandatangani: JSON EIP-712, data 0x dari suatu transaksi, objek transaksi secara keseluruhan, permintaan JSON-RPC, atau teks pesan.
- Tempel dan periksa. Tempelkan ke dalam kotak. Pemeriksaan dimulai begitu teks ditempelkan; Anda juga bisa menekan tombol "Inspect" atau menekan Ctrl+Enter.
- Periksa bagaimana teks tersebut dibacakan. Baris pertama menunjukkan bagaimana input tersebut dibaca, misalnya sebagai objek transaksi. Jika itu salah, pilih tipe yang benar di bagian "Baca input sebagai".
- Baca gambar berwarna ini. Lambang, judul, dan ringkasan tersebut menjelaskan dengan bahasa yang mudah dipahami apa saja yang dapat dilakukan setelah penandatanganan. Daftar di bawahnya mencantumkan peringatan; yang paling serius ditulis dengan huruf tebal.
- Periksa kolom-kolomnya. Perhatikan kolom "spender" atau "operator", "token", "jumlah", "masa berlaku", dan "rantai" pada tabel. Buka bagian "Argumen yang Telah Diterjemahkan" atau "Bidang Pesan" untuk melihat nilai mentahnya.
- Tentukan dan bagikan. Jika Anda tidak mengenal pengirimnya, tolak permintaan tersebut di dompet Anda dan periksa alamat-alamat tersebut di penjelajah blok. Laporan salinan menampilkan ringkasan dalam teks biasa dengan tautan yang telah dinonaktifkan.
Contoh
Tanda tangan Permit2 untuk kuota USDC tanpa batas
{
"types": {
"EIP712Domain": [
{
"name": "name",
"type": "string"
},
{
"name": "chainId",
"type": "uint256"
},
{
"name": "verifyingContract",
"type": "address"
}
],
"PermitSingle": [
{
"name": "details",
"type": "PermitDetails"
},
{
"name": "spender",
"type": "address"
},
{
"name": "sigDeadline",
"type": "uint256"
}
],
"PermitDetails": [
{
"name": "token",
"type": "address"
},
{
"name": "amount",
"type": "uint160"
},
{
"name": "expiration",
"type": "uint48"
},
{
"name": "nonce",
"type": "uint48"
}
]
},
"primaryType": "PermitSingle",
"domain": {
"name": "Permit2",
"chainId": 1,
"verifyingContract": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
},
"message": {
"details": {
"token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"amount": "1461501637330902918203684832716283019655932542975",
"expiration": "281474976710655",
"nonce": "0"
},
"spender": "0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB",
"sigDeadline": "115792089237316195423570985008687907853269984665640564039457584007913129639935"
}
}Read as: EIP-712 typed data. Change this with “Read the input as”.
DangerousPermit2 PermitSingle: token allowance by signature (UNLIMITED)
Signing lets 0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB move an unlimited amount of 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 (USDC token on Ethereum) out of your wallet through Permit2. The allowance never expires in practice. The spender submits this signature itself, so you will not see another prompt. Drainers favour Permit2 because many wallets have already approved Permit2 for apps such as Uniswap.
Unlimited amount: the spender can take your whole balance of the token.
The allowance never expires in practice.
The signature never expires in practice.
SPENDER 0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB
TOKEN 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
USDC token on Ethereum
AMOUNT Unlimited: 2^160−1, the Permit2 maximum (1461501637330902918203684832716283019655932542975)
ALLOWANCE EXPIRES 2^48−1 (Permit2 maximum): no practical expiry (beyond the year 5000)
NONCE 0
SIGNATURE VALID UNTIL (SIGDEADLINE) 2^256−1: no practical expiry (beyond the year 5000)
DOMAIN name "Permit2"
CHAIN Ethereum (chain ID 1)
VERIFYING CONTRACT 0x000000000022D473030F116dDEE9F6B43aC78BA3
Permit2 (Uniswap)
EIP-712 DIGEST (WHAT IS SIGNED) 0x579baa31b8f7279c82034e935d103d07caa27a817903937e201389d81d55984c
DOMAIN SEPARATOR 0x866a5aba21966af95d6c7ab78eb2b2fc913915c28be3b9aa07cc04ff903e3f28
MESSAGE HASH (HASHSTRUCT) 0xb646364eb4dc82faf68b61d79beb585797490532ff745845f3821e6f8573463c
PRIMARY TYPE PermitSingle(PermitDetails details,address spender,uint256
…Papan merah: pengirim 0xbBbB…BBbB dapat mentransfer USDC dalam jumlah tak terbatas melalui Permit2, dan baik kuota maupun tanda tangan tidak akan kedaluwarsa. Ringkasan EIP-712 telah dihitung.
Apa yang diperiksa
| Sinyal | Apa artinya |
|---|---|
| Lambang risiko: Berbahaya, Periksa dengan cermat, Risiko rendah, atau Catatan | "Berbahaya" berarti permintaan tersebut dapat mentransfer token atau NFT. Persetujuan tetap dianggap berisiko, bahkan untuk aplikasi yang sudah terkenal, karena wewenang yang diberikan sama saja. Pencabutan persetujuan, seperti memberikan persetujuan dengan jumlah 0, ditampilkan sebagai "Risiko Rendah". |
| Pemboros atau pelaku yang merugi | Alamat yang berhak memindahkan aset Anda. Beberapa kontrak telah disebutkan, seperti Permit2, Seaport, dan saluran OpenSea; alamat lainnya perlu diperiksa. |
| Jumlah tak terbatas | Ditampilkan untuk nilai 2²²⁵⁶−1 atau nilai apa pun sebesar 2²²⁵⁵ atau lebih, serta dalam permintaan Permit2 untuk nilai 2¹⁶⁰−1. Pengguna dapat mengambil seluruh saldo token Anda, baik sekarang maupun di kemudian hari. |
| Jumlah dengan desimal simbolis | Untuk USDC, USDT, DAI, dan WETH di Ethereum, angka mentahnya dikonversi; misalnya, 1000000 menjadi 1 USDC. Untuk token lainnya, Anda akan melihat angka bulat mentah yang ditampilkan dengan 18 digit dan 6 desimal. |
| Masa berlaku dan batas waktu | Secara praktis tidak pernah kedaluwarsa (bahkan setelah tahun 5000), berlaku lebih dari satu tahun, atau sudah kedaluwarsa. Izin atau tunjangan yang tidak pernah kedaluwarsa tetap dapat digunakan jauh setelah Anda melupakannya. |
| Tanda tangan buta dari hash berukuran 32 byte | Dompet tidak dapat menampilkan arti dari hash tersebut, dan dengan perintah `eth_sign`, hash tersebut bisa saja merupakan transaksi atau izin. Tandatangani hanya hash yang Anda buat sendiri. |
| Pemeriksaan pesanan pelabuhan | Iklan dengan harga nol, penerima lain mendapatkan lebih banyak daripada pemberi penawaran, atau barang yang ditawarkan muncul kembali dengan penerima lain: hal ini merupakan ciri khas iklan NFT palsu yang memberikan keuntungan kepada penyerang. |
| Masuk menggunakan domain Ethereum | Pesan masuk mencantumkan nama situs yang meminta login. Jika domain tersebut tidak persis sama dengan situs yang sedang Anda kunjungi, tanda tangan tersebut dapat membuat orang lain masuk sebagai Anda. |
| Dua pembacaan dari satu selektor | approve(address, uint256) merupakan panggilan yang sama dalam ERC-20 dan ERC-721. Kecuali jika kontrak tersebut termasuk salah satu dari sedikit token yang dikenali oleh alat ini, kedua hasil pembacaan tersebut akan ditampilkan. |
Contoh lainnya
Persetujuan NFT untuk seluruh koleksi
0xa22cb465000000000000000000000000000000000000000000000000000000000000dead0000000000000000000000000000000000000000000000000000000000000001Baca sebagai: data panggilan transaksi (pemilih fungsi yang dikenal). Berbahaya: setApprovalForAll: kendali atas SEMUA NFT Anda dalam koleksi ini. Operator 0x000000000000000000000000000000000000dEaD, Disetujui true, Koleksi (ke) tidak ditentukan.
Persetujuan USDC yang terbatas dalam suatu transaksi
{"to":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","data":"0x095ea7b3000000000000000000000000000000000000000000000000000000000000dead00000000000000000000000000000000000000000000000000000000000f4240","value":"0x0","chainId":1}Baca sebagai: objek transaksi. Berbahaya: persetujuan ERC-20. Ringkasan tersebut menyatakan bahwa 0x000000000000000000000000000000000000dEaD dapat mentransfer hingga 1.000.000 unit token USDC di Ethereum tanpa meminta persetujuan lagi. Tabel tersebut menunjukkan Rantai Ethereum (ID rantai 1), Nilai 0 ETH (0 wei), dan Jumlah 1.000.000 dengan catatan 1 USDC (6 desimal).
Permintaan eth_sign tanpa informasi
{"method":"eth_sign","params":["0x0000000000000000000000000000000000000001","0xabababababababababababababababababababababababababababababababab"]}Baca sebagai: Permintaan eth_sign JSON-RPC. Berbahaya: Tanda tangan buta: hash berukuran 32 byte, bukan teks, dengan indikasi bahwa sebagian besar dompet menonaktifkan atau menyembunyikan fungsi eth_sign karena para penipu memanfaatkannya.
Pertanyaan yang Sering Diajukan
Apa saja yang diperiksa oleh Signature Request Inspector?
Fungsi ini mendekode data bertipe EIP-712, calldata transaksi, objek transaksi, serta pesan `personal_sign` atau `eth_sign`, dan menghitung ringkasan (digest) EIP-712. Fitur ini menandai persetujuan token, setApprovalForAll, izin EIP-2612 dan DAI, tanda tangan Permit2, perintah Seaport yang membayar pihak selain Anda, serta tanda tangan buta atas hash berukuran 32 byte.
Apakah permintaan yang tidak ditandai dengan warna merah tetap bisa berbahaya?
Ya. Alat ini hanya membaca permintaan itu sendiri: alat ini tidak dapat melihat saldo, persetujuan yang sudah ada, atau apakah suatu kontrak bersifat berbahaya, dan fungsi-fungsi di luar tabelnya ditampilkan sebagai "tidak diketahui". Persetujuan untuk aplikasi yang sah juga ditandai dengan warna merah, karena tanda tangan tersebut memberikan wewenang yang sama dalam kedua kasus tersebut.
Apakah permintaan yang telah disalin itu dikirim ke suatu tempat?
Tidak. Proses dekripsi dan hashing dilakukan di browser Anda, dan halaman tersebut tidak melakukan permintaan jaringan apa pun terkait masukan Anda. Permintaan tanda tangan tidak mengandung rahasia apa pun, tetapi jangan pernah menempelkan kunci pribadi atau frasa benih ke situs web mana pun.
Apakah jumlah yang kecil membuat persetujuan itu aman?
Fitur ini membatasi jumlah yang dapat ditarik hingga angka tersebut, tetapi pengguna dapat menggunakannya kapan saja tanpa perlu meminta izin Anda lagi. Itulah sebabnya alat ini masih menampilkan persetujuan sebesar 1 USDC sebagai "Berbahaya". Setujui hanya jumlah yang Anda butuhkan, untuk pengguna yang telah Anda periksa.
Mengapa saya melihat nilai ERC-20 dan ERC-721 untuk satu persetujuan?
Kedua standar tersebut menggunakan nama fungsi dan tipe argumen yang sama, sehingga data 0x saja tidak cukup untuk menentukan mana yang dimaksud. Salin seluruh transaksi beserta alamat tujuan, lalu periksa di block explorer apakah kontrak tersebut merupakan token atau koleksi NFT.
Saya sudah menandatangani permohonan yang ditandai merah di sini. Sekarang bagaimana?
Segera bertindak. Batalkan persetujuan on-chain dan pindahkan sisa token ke dompet baru. Izin yang telah ditandatangani namun belum digunakan tidak akan muncul sebagai persetujuan, sehingga memindahkan token adalah langkah yang lebih aman. Panduan Darurat mencantumkan urutan tindakan yang harus dilakukan.