返回论坛

深度剖析:Web3 钱包对 `eth_sign` 签名的支持现状与安全风险

查找币 学术研究 安全研究 Web3安全 区块链安全

查找币安全研究院

钱包恢复评估 | 链上取证分析 | Web3 事件响应
以合法授权、证据保全、隐私保护和可复核流程为前提,不要求用户在线提交完整私钥或助记词。

查看研究院 研究报告中心
**作者:查找币安全团队** 在 Web3 生态中,NFT 和 DApp 的繁荣带来了便捷,也催生了新型攻击手段。其中,`eth_sign` 签名方法因其“盲签”特性,正被钓鱼网站广泛滥用。用户一旦在恶意页面中调用该签名,钱包可能直接签署一笔未经审查的交易,导致资产被盗。作为安全从业者,我们深知:**阻止或限制这种低级签名方法,是保护用户资产的第一道防线。** 近期,查找币安全团队对市场上主流且用户活跃度较高的 **20 款加密货币移动端 App** 和 **20 款浏览器扩展钱包** 进行了系统性测试,旨在揭示 `eth_sign` 功能的支持现状、安全警告机制及潜在风险。 ## 测试范围与方法 - **移动端样本**:从 Google Play 商店选取下载量排名前 20 的热门钱包 App。 - **扩展端样本**:从 Chrome Web Store 选取安装量排名前 20 的浏览器扩展钱包。 - **测试指标**:是否支持 `eth_sign` 调用,以及在调用时是否提供明确的安全风险警告(如弹窗提示、高亮警告等)。 ## 移动端钱包:安全警告覆盖率不足 25% | 状态 | 数量 | 说明 | |------|------|------| | 完全禁用 `eth_sign` | 4 | 默认拒绝该签名方法,用户无法调用 | | 支持 `eth_sign` 且提供安全警告 | 4 | 调用时会弹出风险提示,要求用户确认 | | 支持 `eth_sign` 但无任何警告 | 12 | 直接通过签名,无任何安全阻断或提示 | **关键发现**: - 仍有 **80%** 的移动端钱包支持 `eth_sign`,但其中 **仅 25%** 会向用户发出安全警告。 - 这意味着,**60%** 的移动端钱包用户在遭遇钓鱼攻击时,可能完全无法感知正在签署一个高风险签名。 ## 扩展端钱包:情况略有改善,但隐患依然严重 | 状态 | 数量 | 说明 | |------|------|------| | 完全禁用 `eth_sign` | 5 | 默认拒绝,用户无法使用 | | 支持 `eth_sign` 且提供安全警告 | 6 | 调用时显示风险提示 | | 支持 `eth_sign` 但无任何警告 | 9 | 签名过程静默完成 | **关键发现**: - 75% 的扩展钱包支持 `eth_sign`,其中 **40%** 会提供安全警告。 - 仍有 **45%** 的扩展钱包在用户调用 `eth_sign` 时不进行任何风险提示。 ## 技术风险深度分析 `eth_sign` 的核心风险在于其**盲签机制**。该签名方法要求用户对一段原始数据(通常是十六进制字符串)进行签名,而**不解析其真实含义**。攻击者可以构造一个看似无害的字符串,实际上却等同于授权转移代币或 NFT。由于大多数用户不具备解析十六进制数据的能力,极易陷入钓鱼陷阱。 **对比 `personal_sign` 和 `eth_signTypedData`**: - `personal_sign` 会在签名前添加可读前缀,用户至少能感知到正在签名一段消息。 - `eth_signTypedData` 要求定义结构化数据,钱包可以解析并展示具体字段。 - 而 `eth_sign` 则完全依赖用户对“危险字符串”的识别能力,这在实践中几乎不可行。 ## 安全建议与最佳实践 ### 对钱包开发者: 1. **默认禁用 `eth_sign`**:将其作为高级功能,默认关闭,用户需手动开启并承担风险。 2. **强化安全警告**:如果必须支持,应在调用时弹出高亮警告,明确告知用户该签名可能授权资产转移。 3. **引入动态风控**:结合交易金额、目标地址黑名单、签名频率等维度,在可疑场景下阻止签名。 ### 对普通用户: 1. **首选禁用 `eth_sign` 的钱包**:如 MetaMask 已默认禁用,用户可安全使用。 2. **警惕无警告的钱包**:若钱包支持 `eth_sign` 且无提示,请立即更换为更安全的钱包。 3. **永远不要盲签**:无论钱包是否提供警告,**绝不**在不明页面或非官方 DApp 中调用 `eth_sign`。 ## 总结 本次测试表明,尽管部分钱包已采取措施,但整个 Web3 钱包生态对 `eth_sign` 的安全防护仍存在显著缺口。**超过半数的主流钱包仍允许用户无警告地执行高风险签名操作**,这为钓鱼攻击留下了巨大的可乘之机。 查找币安全团队呼吁所有钱包开发者,尽快将 `eth_sign` 的禁用或强警告机制作为默认配置。同时,用户应主动选择支持安全提示的钱包,并时刻保持对盲签操作的警惕。 --- **本文由查找币安全团队整理发布**
在论坛中查看和回复