Advertise手续费优惠服务台

词汇表概念

盲签是什么意思?加密钱包里看不见的威胁

盲签(Blind Signing)是指当加密钱包无法把智能合约数据解析成有意义的字段时,你只能看到一段原始哈希或“Data Present”提示,并在这种情况下确认交易。代币、数量和目标地址等关键信息不会出现在安全屏幕上,你只能相信网站的显示内容。这种方式在 DeFi 和 NFT 交互中很常见,攻击者可以借此把恶意的无限支出授权隐藏在看似无害的确认背后。由于签署的交易不可撤回,盲签是自托管中最关键的安全漏洞之一。

作者: COINOTAG Research Desk最后更新 参考资料

gate.com

盲签(Blind Signing,也叫盲签名)是什么意思?简单说,就是当加密钱包无法把交易数据转换成可读格式时,你不得不采用的一种确认方式。你在屏幕上看到的不是“发送1 ETH,收款方:0xABC”这样清楚的信息,而只是一段原始哈希值,或一句笼统的“Data Present”(存在数据)提示。这时你在并不完全清楚自己签了什么的情况下确认了交易,就像没读内容就在文件上签字。与 DeFi 协议和 NFT 市场交互时经常会遇到这种情况,而一次错误的确认,就可能让你的资产永久丢失。

为什么会有盲签?

硬件钱包刚被设计出来时,功能很简单:发送和接收比特币或以太坊,仅此而已。这类转账格式标准,钱包的小屏幕很容易解析。但随着 dApp 生态的发展,交易变得极其复杂。

bitget.com

一次现代的智能合约交互,可能包含兑换、铸造、质押、投票等几十种不同的函数。每条链都有自己的合约接口(ABI,应用二进制接口)。当钱包无法解析这些数据时,唯一的办法就是把原始的密码学代码显示在屏幕上,让用户“盲目地”确认。

左侧是显示清晰交易信息的钱包屏幕(“发送1 ETH → 0xABC”),右侧是只显示一长串哈希和“Data Present”提示的盲签屏幕

binance.com

盲签与明签有什么区别?

行业给出的解决方案叫作明签(Clear Signing,清晰签名)。采用这种方式时,钱包会在自己的安全屏幕上显示交易的全部关键字段:哪个代币、多少数量、发给谁、调用哪个函数。核心原则是 WYSIWYS,即“所见即所签”。

对比维度盲签明签
钱包屏幕显示内容原始哈希 / “Data Present”“500 USDC → Router 0x...”
信任来源网站的显示内容钱包的安全屏幕
是否解析合约字段否是(代币、数量、地址、函数)
风险等级高低
适用范围通用的兜底方式正在扩展,尚未覆盖所有链

明签正在快速普及,但由于存在几十条不同的链、数以千计的代币标准以及不断更新的ABI,盲签目前仍是不可或缺的兜底方式。

攻击者如何利用盲签?

盲签攻击的逻辑简单却极具破坏性:前端界面看起来完全正常,后台却在执行恶意交易。最常见的攻击类型有:

代币授权盗取(Approval Drainer): 你访问一个 DeFi 网站,屏幕上写着“授权10 USDC”。但实际发送到钱包的数据,却是给攻击者合约无限的支出权限(max uint256 值)。授权一旦完成,攻击者可以随时清空你的全部代币余额。

假NFT铸造: “免费铸造”按钮实际调用的是 setApprovalForAll 函数,等于把你整个NFT收藏的控制权交给攻击者。

“安全验证”钓鱼: 这类攻击常以“你的钱包有危险,请立即验证”之类的消息开头,诱导你签署恶意的转账或授权交易。

数字示例:一次盲目点击的代价

假设你的交易钱包里有8,000 USDC,你想领取某个热门NFT市场的空投。一个专门用来欺骗你的假网站在屏幕上显示如下内容:

  • 电脑/手机屏幕: “授权10 USDC”
  • 硬件钱包屏幕: “Data Present”加一段64个字符的哈希
  • 你实际签署的: 给盗币合约 115,792,089,237,316,195... USDC 的支出权限(max uint256)
  • 结果: 授权上链后几秒钟内,全部 8,000 USDC 被转走
  • 补救途径: 零,无法撤回,无法退款,也无法通过客服找回

整个骗局就藏在这段信息缺口里:“10 USDC”这个数字从来没有被发送到安全芯片上。

危险信号清单图——紧迫感话术、陌生人私信、仿冒网址(与正版只差一个字母)、“免费奖励”、“Data Present”提示

硬件钱包与软件钱包:风险差异

冷钱包(硬件钱包)把你的私钥保存在一个名为安全元件(Secure Element)的隔离芯片中。即使电脑被完全攻破,攻击者也无法直接拿到私钥。安全屏幕还能防御篡改显示内容的恶意软件。

但这些功能并不能解决盲签问题:合约过于复杂时,硬件钱包同样只会显示“Data Present”。软件(热)钱包的风险则大得多,私钥保存在联网的操作系统中,恶意软件有机会干预交易。

小结: 使用硬件钱包要安全得多,但无论哪种钱包,资产隔离和授权管理都必不可少。

需要警惕的风险与陷阱

  • 永不过期的无限授权: 以 max uint256 值授予的支出权限,在你主动撤销之前会一直有效。
  • 相信屏幕,而不是协议: 看似无害的“确认”按钮,背后可能是 setApprovalForAll 或盗币调用。
  • 长期开启盲签: 如果这项设置一直处于开启状态,恶意交易得逞的机会窗口就会变大。
  • 仿冒网址: 只差一个字符就足以骗人,务必逐字核对网址。
  • 紧迫感和陌生联系: 意外空投、“限时”铸造和“立即验证”的邮件,几乎都是诈骗的典型信号。
  • 没有回头路: 在去中心化区块链上,签署的交易是最终且不可更改的。

如何保护自己?分步防御指南

  1. 隔离资产。 把90%–95%的加密资产存放在一个从不连接任何 dApp 的“金库”钱包中,dApp 交互只用另一个余额很少的“体验”钱包。授权是按钱包生效的,即使体验钱包被攻破,金库钱包也不会受影响。
  1. 连接前先核实。 逐字检查网址,通过官方渠道确认合约地址,查看最近的安全审计和社区警告。只要感觉有人在催你,就不要签。
  1. 只在需要时开启盲签。 交易前开启这项设置,交易确认后立即关闭。
  1. 优先选择支持明签的钱包。 针对你最常用的链,选择遵循“所见即所签”原则的设备。
  1. 定期检查并撤销授权。 重度 DeFi 用户建议每月一次,普通用户每季度一次,使用授权检查工具(如 Revoke.cash 或区块浏览器的代币授权页面)进行检查。
  1. 提前准备应急方案。 一旦发现自己签了恶意交易,立即撤销受影响代币的全部授权,然后把剩余资产转移到一个干净的地址。

想更深入了解硬件钱包的安全机制,可以阅读我们的 硬件钱包工作原理指南;想学会识别社会工程攻击,建议阅读 加密货币骗局防范指南。

什么情况下盲签可以接受?

盲签并不总是危险信号。当你与经过全面审计的平台(例如大型 DEX 或成熟的借贷协议)交互时,信任对象就从交易的显示内容转移到了协议代码本身,但前提仍然是使用余额最少的体验钱包。有些系统在结构上就需要快速的自动签名:比特币闪电网络更新支付通道的速度快到无法人工审核,这里的信任属于经过审计的协议,而不是某个随意的合约调用。

COINOTAG观点

把盲签看作钱包的设计缺陷是一种误解,它其实是生态发展速度超过安全基础设施时出现的暂时症状。长期解决方案已经在成形:明签、更丰富的硬件屏幕、标准化的 dApp 与钱包通信协议,以及越来越受关注的AI辅助交易解读系统。在“所见即所签”成为通用标准之前,最有力的防线不是技术,而是习惯:隔离资产,把每一次“Data Present”提示都当作加密世界中风险最高的操作,并定期检查授权。在自托管的世界里,严谨的安全意识永远比粗心使用的昂贵硬件更可靠。

防护金字塔示意图——底层为资产隔离,中层为交易前核实,顶层为定期撤销授权

常见问题

4 个问题
盲签是什么意思?

盲签是指加密钱包无法把交易数据转换成可读字段时,你只能凭一段原始哈希或笼统的提示来确认交易。由于看不到代币、数量和收款地址等关键信息,你只能相信网站的显示内容,而不是设备的安全屏幕。

盲签为什么危险?

恶意网站可以在屏幕上显示一笔看似“小额授权”的操作,同时暗中让你给盗币合约无限支出权限。签署后,攻击者可以随时清空你的代币余额。区块链交易不可撤回,这种情况下没有任何找回途径。

如何防范盲签攻击?

把资产分为“金库”钱包和用于 dApp 交互的小额“体验”钱包;连接前核实网址和合约地址;只在使用时开启盲签,用完立即关闭;并定期用撤销工具(如 Revoke.cash)检查代币授权。

盲签和明签有什么区别?

盲签只显示无法阅读的哈希,你无法在设备上核实自己确认了什么。明签则会解析交易,在钱包安全屏幕上显示代币、数量、目标地址和函数名,即“所见即所签”(WYSIWYS)原则。明签安全得多,但目前还没有覆盖所有链和所有合约类型。

最后更新: