錢包簽名畫面怎麼看?從盲簽到 Clear Signing

錢包跳出簽名畫面時,第一件事不是找「確認」按鈕,而是先判斷你要簽的是轉帳、權限授權,還是離線訊息。接著核對鏈、來源網域、收款或合約地址、函式名稱、資產、數量、spender/operator、期限與 nonce。只要畫面讀不懂、來源不對或資訊不完整,就先拒絕。

「不用 gas」不代表沒有風險;「硬體錢包」也不會替你判斷意圖。私鑰只是在正確簽署你批准的內容。如果批准的是惡意授權,簽章仍會忠實生效。


先分三類:轉帳、授權、訊息

先備閱讀:可先熟悉MetaMask 錢包操作Ledger 硬體錢包智能合約基礎,再回來判讀簽名畫面。

畫面常見字樣你可能在做什麼最高風險一定要核對
Send/Transfer直接把資產轉到地址轉錯地址通常不可逆鏈、資產、數量、to、gas
Approve/Increase allowance讓 spender 在額度內動用 ERC-20無限額度可能長期有效token、spender、value、是否 max
setApprovalForAll讓 operator 管理某 NFT 合約內所有 NFT整個系列資產可被轉移collection contract、operator、true/false
Sign/Typed data/Permit簽署可被稍後提交的訊息不立即上鏈也可能授權資產domain、verifyingContract、spender、amount、deadline、nonce
Contract interaction呼叫智能合約函式函式可能包含轉帳、授權或複合動作function、inputs、simulation、合約來源
四種常見簽名動作圖解

Transfer 怎麼看?先確認五個欄位

  1. Network:是否在你預期的鏈;同一地址在不同鏈不代表資產可互通。
  2. Asset:幣種與 token contract 是否正確,不能只看名稱與圖示。
  3. To:完整核對收款地址的前後多碼,重要金額先小額測試。
  4. Amount:小數位與顯示單位是否合理;代幣精度錯誤可能讓數量看起來不同。
  5. Gas/fee:費用異常可能代表網路擁塞或複雜合約互動,但低費用也不是安全證明。

直接 transfer 的核心是「現在把指定資產送到指定地址」。它與 approve 不同:approve 通常先建立別人可動用額度的權限,資產可能在下一步或稍後才被 transferFrom。


Approve 怎麼看?不要只看金額,要看 spender

ERC-20 標準定義 approve:持有人允許 spender 多次動用 token,累計不超過 value。畫面上的 spender 是獲得權限的地址,它不一定等於你眼前網站的品牌名稱,也不一定是最後收款人。

  • Token contract:被授權的是哪一種 token。
  • Spender:誰得到 transferFrom 權限;要用官方文件或區塊瀏覽器交叉核對。
  • Amount/spending cap:精確額度、錢包餘額上限,或接近無限大的數值。
  • Duration:一般 allowance 可能沒有自動到期;使用後需主動撤銷。
  • 必要性:「領空投」或「驗證錢包」卻要求大額 approve,應直接停止。

若錢包支援,優先設定只夠本次操作的 spending cap。MetaMask 官方說明也提醒,無限 allowance 可能節省後續交易費,但會增加 dApp 漏洞或惡意網站造成資產被動用的暴露。


setApprovalForAll 為什麼要特別小心?

ERC-721 標準中的 setApprovalForAll,會啟用或停用一個 operator,使其可管理持有人在該 NFT 合約中的所有 NFT。它不是只批准你畫面上看到的單一 token ID。

核對 collection contract 與 operator 地址,並確認布林值是 true 還是 false。陌生空投、領取免費 NFT 或「驗證持有」若要求 setApprovalForAll(true),風險和一般登入簽名完全不同。不要因為交易金額顯示 0 就忽略權限。


EIP-712、Permit 與 Permit2:可讀與省 gas,不等於無害

EIP-712讓複雜訊息以 typed structured data 表示,包含 domain 與 message;它改善可讀性和網域分離,但標準本身不包含重放保護。安全與否仍要看具體協議如何使用 nonce、chainId、verifyingContract 與 deadline。

ERC-2612 permit允許用簽名修改 ERC-20 allowance,通常包含 owner、spender、value、nonce 與 deadline。簽名可由 relayer 稍後提交,因此「我簽完沒看到鏈上交易」不能證明請求沒有效果。

MetaMask 的 signature phishing 說明也提醒,攻擊者可能取得離線簽名後延後使用;Permit2 等機制提高操作效率,同樣可能成為釣魚目標。看見以下欄位時要逐一核對:

  • domain.name/version:是否符合你預期的協議,但名稱本身可被仿冒,不能單獨判斷。
  • chainId:簽名應適用哪條鏈。
  • verifyingContract:實際驗證簽名的合約地址。
  • spender/operator:誰能使用權限。
  • value/amount:可動用的資產額度。
  • deadline/expiration:到期時間;過長或無限期要提高警覺。
  • nonce:協議用來防止相同簽名重複使用的序號之一。

盲簽與 Clear Signing 差在哪?

盲簽是錢包或簽署裝置無法把原始 calldata/訊息解碼成使用者能理解的欄位,只顯示十六進位資料、雜湊或模糊的「Data present」。此時你無法從自己的可信螢幕驗證真正授權內容。

Ethereum Foundation 2026 公告把 Clear Signing 的目標描述為「所見即所簽」;Ledger 開發文件則說明 ERC-7730 metadata 如何把合約函式與訊息映射成可讀欄位。它是一層顯示與驗證輔助,不會修改交易。

Clear Signing 降低的是「看不懂」的風險,不會替你保證網站、合約、metadata、收款人或經濟結果善意。若畫面可讀但來源網域是假的、spender 不對或額度過大,仍應拒絕。交易模擬、警示、ABI 解碼與硬體螢幕要當成多層防線,而不是任何一層單獨保證。


簽名前 10 秒:停、看、查

  1. 停:不是你主動發起的請求、突然彈窗、倒數催促或保證免費,都先取消。
  2. 看來源:從官方書籤進站,核對完整網域與錢包顯示的 requesting site。
  3. 看類型:transfer、approve、setApprovalForAll、typed data 或未知 contract call。
  4. 看權限:spender/operator 是誰、能動哪些資產、多少額度、何時到期。
  5. 查地址:用官方文件與區塊瀏覽器核對 token、collection、verifyingContract。
  6. 查模擬:若錢包提供 simulation/security alert,閱讀結果,但不把「無警告」當安全保證。
  7. 分離錢包:日常互動錢包不要放長期大額資產;陌生 dApp 先用低價值地址測試。
簽名前六項核對檢查表

如果已經簽錯,怎麼處理?

  1. 先停止互動:關閉網站,不再簽第二筆「修復」或相信私訊客服。
  2. 判斷類型:待處理 on-chain 交易、已確認 allowance、setApprovalForAll、離線 permit,或助記詞/私鑰外洩。
  3. 待處理交易:使用同錢包官方的 cancel/speed up 機制;能否成功取決於鏈與交易狀態。
  4. 撤銷權限:ethereum.org 指南查看並撤銷 allowance;撤銷需鏈上交易與 gas。
  5. 高度風險簽名:若可能在有效期內被利用,考慮把相關資產移到新地址,並保留足夠 gas。
  6. 私鑰/助記詞外洩:不要只撤銷;建立全新助記詞的新錢包並安全遷移資產。
  7. 保存證據:記錄網址、時間、交易雜湊、簽名畫面與地址;若有損失,聯絡平台官方、警方與 165。

斷開網站連線不等於撤銷鏈上權限。ethereum.org 明確說明,既有 token allowance 仍可能繼續有效;要在正確鏈上送出 revoke 交易並確認完成。


四種簽名畫面,逐欄位怎麼讀?

情境一:一般轉帳

轉帳畫面最直觀,但仍要把「顯示名稱」與「實際地址」分開。先確認網路與資產合約,再核對收款地址前後數碼與完整金額。若錢包顯示的資產名稱與你熟悉的名稱相同,不能因此認定就是同一枚代幣;仿冒代幣可以使用相同名稱與符號。最後看原生幣 gas 是否合理,並確認不是被引導切到陌生網路。

硬體錢包使用者要以硬體裝置上的最終畫面為準,而不是只看電腦或手機。若裝置只顯示一串無法理解的雜湊、方法代碼或「blind signing」警示,就代表你無法從可信顯示器完整確認意圖;這時最安全的動作是取消,再尋找能解碼交易的官方介面或更新支援。

情境二:ERC-20 approve

Approve 的三個主角是錢包地址、代幣合約與 spender。畫面中的 spender 才是未來可呼叫 transferFrom 的對象,不一定等同目前瀏覽器網址。金額若顯示「Unlimited」「Max」或非常大的整數,通常表示授權上限很高;它不會立刻把錢轉走,但會在授權仍有效且 spender 能使用時保留風險窗口。

較保守的做法是按本次交易所需設定上限,完成後再檢查是否仍需要保留。若 dApp 要求無限授權才能使用,先確認這是否為產品必要設計、spender 是否為官方公開地址、合約是否可升級,以及你願意暴露多少資產。可以另用小額錢包與長期持有錢包分流,減少單一授權影響全部資產。

情境三:NFT 的 setApprovalForAll

這個方法的範圍不是一枚 NFT,而是某個 ERC-721 合約下由你持有或日後取得的 NFT。應核對 collection contract、operator 與布林值。true 是開啟全部操作權限,false 是撤銷。若你只打算上架一件作品,卻被要求對陌生 operator 設為 true,就應停下來重新確認。

同名 NFT 集合可能有多個合約,釣魚網站也可能把惡意 operator 包裝成市場名稱。不要只看 Logo;從項目官方文件或已驗證頁面取得合約地址,再比對完整地址。授權後把這項權限記入定期檢查清單,尤其是已停止使用的市場或鑄造網站。

情境四:EIP-712 typed data 或 permit

Typed data 讓欄位較可讀,但可讀不等於低風險。先看 domain 中的名稱、chainId 與 verifyingContract,再看 message 的 spender、value、deadline、nonce 與被授權的資產。若 domain 與你正在使用的網站不一致,或 verifyingContract 無法從官方來源核對,就不要簽。

Permit 類簽名可能不需你支付 gas,卻能交給 relayer 日後送上鏈,因此「錢包沒有跳出 gas」不能當成安全訊號。Deadline 很長、金額無上限、spender 陌生,或訊息刻意隱藏關鍵欄位,都是高風險組合。EIP-712 規格也明確把重放防護交給應用設計,不能只因看到標準名稱就假設簽名只能使用一次。


把權限當成有生命週期的憑證

許多人只在簽名前看一次,之後就忘記授權仍存在。更可靠的習慣,是把授權視為一張可能長期有效的憑證:建立時限制範圍,使用中監控,停止使用時撤銷,異常時隔離資產。這能把「一次判斷全對」改成多層防線。

階段要做的事不要誤以為
建立前確認來源、網路、資產合約、spender/operator、金額與期限連到官方網站就代表每個彈窗都安全
使用中保留交易雜湊與目的,定期盤點高額或不再需要的 allowance斷開網站連線會同步撤銷鏈上權限
停止使用透過可信工具或合約呼叫把 allowance 設為零、把 operator 設為 false刪除瀏覽器紀錄或錢包 App 就能取消
發現異常先停止互動、查鏈上狀態、撤銷可撤銷權限;私鑰疑似外洩則考慮移轉剩餘資產撤銷一定能攔下已送出或已執行的交易

撤銷本身通常也是鏈上交易,需要正確網路的 gas。若惡意交易已進入區塊或攻擊者掌握助記詞,單純撤銷某一項 allowance 可能不足。不要再向陌生客服提供助記詞、私鑰或遠端控制權,也不要因對方宣稱能「追回」就再次簽署訊息。

什麼情況應直接取消?

  • 你無法說出這次簽名要完成的具體動作,只知道網站要求按下確認。
  • 錢包、瀏覽器與硬體裝置顯示的網路、地址、金額或方法彼此不一致。
  • 畫面要求無限授權或整組 NFT 權限,但你只是要登入、領取空投或驗證身分。
  • 網站用倒數、客服施壓或「錯過就失效」迫使你跳過核對。
  • 硬體錢包只能盲簽,而你找不到可信來源解釋 calldata 與合約目的。
  • 任何人要求你把助記詞、私鑰、QR 匯出內容或螢幕控制權交出去。

取消簽名不會讓你失去已在錢包中的資產,也不代表你永遠不能使用該服務。真正可信的產品應讓使用者有時間閱讀、能重新發起交易,並提供可核對的合約與權限說明。看不懂時先停,是正常的風險管理,不是操作失敗。


常見錯誤

  • 只看 dApp Logo,不核對網域與合約地址。
  • 看到金額 0 就以為沒有資產風險,忽略 approve 或 setApprovalForAll。
  • 看到「Sign」或不收 gas 就當成登入訊息。
  • 只核對前四碼地址,被 address poisoning 誘導。
  • 在硬體錢包上開啟盲簽後,完全依賴電腦畫面。
  • 簽錯後相信搜尋廣告或私訊中的「撤銷客服」。
  • 助記詞已外洩卻只撤銷 allowance,沒有遷移到新金鑰。
錢包簽名常見迷思圖解

FAQ

連接錢包會不會讓網站直接拿走資產?

單純連線通常是讓網站看見地址並提出請求,不等於授權轉走資產;真正風險取決於之後簽署的交易與訊息。仍要確認網站來源,避免它誘導你簽惡意內容。

approve 之後把錢包斷線,權限會消失嗎?

不會。鏈上 allowance 與網站連線狀態是兩件事。要撤銷必須在對應鏈上修改 allowance,並等待交易確認。

Clear Signing 顯示可讀內容,就一定安全嗎?

不是。可讀內容讓你比較能驗證意圖,但仍要核對網域、合約、地址、金額、權限與 metadata 來源。安全警示和模擬也可能有誤判或漏判。

離線簽名可以取消嗎?

取決於協議。部分簽名有 deadline、nonce 或鏈上撤銷機制;有些只能等到期或移走相關資產。若不確定,先停止操作並查協議官方文件。


來源與研究截止日

發布前複查(2026-08-04):MetaMask 簽名釣魚與 Ledger Clear Signing 官方文件均可開啟;介面與支援範圍可能更新。

研究截止日:2026-08-01。錢包介面、警示、支援標準與撤銷工具會更新,實際操作前請回到錢包與協議官方文件。

本文為待人工審稿的教育初稿,不是可直接發布版本,不構成投資或資安結果保證。若疑似私鑰外洩或已發生資產損失,請立即停用可疑流程、保存證據並尋求官方與警方協助。

分享此內容: