开启 3 天免费试用
注册即可免费体验全部高级功能。
*仅限新用户;每位用户只能获得一次试用。


钱包签名请求是让钱包使用某个账户的私钥,对一组数据表达授权。批准前,应独立核对网站,判断它属于交易、普通消息、登录声明还是 typed data(结构化数据),并确认动作、账户、链、对手方、资产、额度、nonce、deadline 和 verifying contract。
关键要点
- 即使签名当下不花 gas,签名也可能授权有实际后果的动作。
- 要阅读钱包弹出的提示,而不只是看触发它的网页按钮。
- 熟悉的域名不能让一个意料之外的请求变得安全。
- 对无法解释、被截断、前后不符或权限无上限的请求,一律拒绝。
- 永远不要签署可疑网站提供的第二份“取消”签名。
“签署这条消息”这种说法太笼统,无法据此判断提示是否安全。钱包可以签署几类不同的数据,每一类的效果都不同。
| 请求类型 | 典型用途 | 需要核对的字段 | 主要风险 |
|---|---|---|---|
| 链上交易 | 转出资产或调用合约 | 链、接收方、金额、合约方法、代币变动、gas | 广播后立即执行 |
| 普通消息 | 证明对地址的控制权或接受一段文字 | 完整可读文本、域名语境、nonce、用途 | 不透明字节或可重复使用的授权 |
| 登录消息 | 无需密码完成身份认证 | 域名、URI、账户、链、nonce、签发时间、到期时间 | 登录到仿冒服务或被重放 |
| Typed structured data | Permit、订单、委托、领取、投票或其他协议动作 | domain separator、verifying contract、spender、资产、额度上限、nonce、deadline | 他人日后提交的宽泛链下授权 |
EIP-712 定义了结构化数据的哈希与签名标准,包括域分隔(domain separation)以及钱包可以显示的结构化字段;该标准明确表示它本身不提供防重放保护。[1] 应用仍须正确实现 nonce、deadline、链、合约和验证逻辑。
不要把判断简化为“交易就危险、消息就无害”。一笔交易可能正是你打算发起的小额转账,而一个无需 gas 的 typed 签名却可能授权第三方日后花费你的代币。
按固定顺序检查,避免在催促下跳过任何字段。
MetaMask 把签名钓鱼描述为:诱导用户签署攻击者可以利用的数据,而网站往往讲的是另一套说法。[2] 可以把钱包渲染出的字段当作证据,但要记住:显示不完整时,真实含义可能被隐藏。
Typed data 的设计初衷是比一串原始字节更容易理解,但字段名本身并不保证安全。domain 和 message 两部分都要读。
通过官方协议文档或自行打开的可信区块浏览器核对合约地址。提示中出现的熟悉代币符号或域名,可能由不可信代码提供,不能作为身份证明。
签名本身可以在链下完成,因此钱包不需要广播交易,也不收取 gas。但签名仍然有价值:他人日后可以把它提交给合约,用它完成身份认证、成交订单、行使 permit 或证明你已同意。
以太坊基金会的 clear signing(清晰签名)工作,重点是让用户更容易理解交易和授权的含义,而不是只看到不透明的哈希值。[3] 显示更清楚能减少歧义,却不能替你判断是否信任该网站、对手方、合约、资产范围或业务目的。
遇到“没有 gas 就没有风险”“这只是验证”“先签,之后再取消”之类的说法,应当拒绝。要问清楚:究竟是哪个验证方会接受这个签名,它能引起什么状态变化。
以下任何一项对比不通过,就停下来:
不要因为交易模拟显示“余额无变化”就批准。模拟可能覆盖不到 permit 的后续使用、未来存入的资产、外部状态变化、每一个内部调用,或者他人拿这份签名另行提交的交易。
如果页面来自邮件或消息,请对照钓鱼防护清单。如果是软件意外弹出提示,请先确认它不是假冒应用。这些都是日常钱包签名安全的基本检查。
拒绝它,并通过独立渠道弄清应用本应发出什么请求。可以查看官方文档、从真实网站进入的客服、合约记录,必要时参考另一个信誉良好的钱包对该请求的解析。不要把私钥、助记词或敏感已签载荷粘贴到公共解码器里。
有些高级操作确实包含复杂数据。复杂只改变审查方法,不能降低安全门槛。请应用说明请求类型、合约、方法、spender、受影响资产、额度和到期时间。如果这些事实无法与提示对应起来,就不要签。
硬件钱包可以让私钥不暴露给所连接的电脑,却无法让不透明的授权变得可以理解。如果设备只显示一个未知哈希或 blind signing(盲签)警告,你就缺少作出知情批准所需的信息。
关闭网站和钱包提示。移除该网站的连接以减少后续请求,然后核实之前的交易、授权或签名是否已经成功。断开连接只是清理,并不等于撤销授权。
在不暴露恢复材料的前提下,保存 URL、提示类型、可见字段、账户、链、时间,以及任何交易或签名标识。通过相应的钱包、浏览器、平台和滥用举报渠道举报该域名或账户。
如果你已经签了,先弄清授予了什么权限。代币授权可能需要安全地在链上撤销;permit 可能有 nonce 或 deadline;助记词泄露需要换用新钱包;设备被入侵则需要隔离设备。钱包盗币器说明把这些机制分别对应到不同的处置路径。
把长期持有的资产与用来连接新应用的钱包分开。在协议支持时,使用有上限的授权、较短的 deadline 和专用于某项任务的账户。定期检查 allowance,删除不再需要的权限。
把常用服务加入书签,保持钱包软件和扩展更新,移除重复或闲置的钱包扩展。在低风险操作中练习阅读提示;凡是说不清用途的请求,一律取消。
团队应记录经批准的合约和预期的签名类型,而不是互相传“正常提示”的截图。合约升级、在新链上部署以及新的 permit 格式,都可能让旧截图产生误导。
范围更广的加密货币安全事件指南,可以帮助你把签名风险与私钥被盗、交易所被攻破、协议漏洞和社会工程攻击放在一起理解。
不是。钱包可以签署交易、普通消息、登录声明和 typed data。有些链下签名之后可以授权链上动作。
会,前提是所签的消息是合约或服务会接受的 permit、订单、委托或其他授权。要阅读确切的类型和字段,而不是因为它叫“消息”就放心。
创建链下签名通常不需要。之后把它提交上链的一方可能要支付 gas,而这份授权仍然可能影响你的资产。
它是预期负责解释或验证 typed data 的合约。应通过独立的官方来源确认其地址,并核对它是否对应你打算使用的网络。
不能。到期时间只缩短了时间窗口,不能修正恶意的 spender、过高的金额、错误的合约或非预期的动作。
只有在你已独立弄懂这项请求的确切内容、并信任整个流程时才可以。网站施压要求你跳过无法读取的细节,本身就是停止的理由。
不要相信可疑网站提供的“取消”签名。有些协议支持 nonce 作废或撤销,但正确方法取决于原始授权本身。
这份签名可能尚未被使用、只在链下、已经过期或正在等待提交。请保存它的字段,并寻求针对该协议的指引;看不到交易并不能证明不存在任何授权。
免责声明:本文只提供一般安全信息,不构成金融、投资、交易、税务、法律或专业事件响应建议。签名格式、钱包显示、合约行为和补救方式因协议及司法辖区而异。
来源:
Sources checked 2026 年 9 月 8 日。
延伸阅读:
注册即可免费体验全部高级功能。
*仅限新用户;每位用户只能获得一次试用。