ERC-8019 SIWE 自动登录:让钱包对重复的登录签名说一次就够 图 1
ERC-8019 SIWE 自动登录:让钱包对重复的登录签名说一次就够 · 图 1

ERC-8019 SIWE 自动登录:让钱包对重复的登录签名说一次就够

用钱包登录网站(Sign-In With Ethereum,即 SIWE)的体验有一个长期槽点:每次打开页面,钱包都弹一次签名请求。这些消息其实不花钱、不上链,只是证明这个地址控制了这个域名的登录会话,但一天弹十几次依然让人条件反射式地点确认——而条件反射正是签名类攻击最想要的东西。ERC-8019 的思路是让用户在钱包里预先写好一张匹配清单,命中清单的登录消息由钱包静默签掉,不命中照常弹窗。按照以太坊 ercs 仓库的记录,这份提案名为 Minimal Wallet-Managed Auto-Login for SIWE,状态为 Review,创建于 2025 年 9 月 2 日。

一份策略就是一个匹配谓词

提案把自动签署规则写成函数 shouldAutoSign(M, P):M 是收到的 SIWE 消息,P 是用户存下的策略。策略文本形如一段 JSON,核心字段包括 domainuriPrefixallowedChainsallowedResourcesexpiresAt。匹配逻辑逐条写明:消息的 domain 必须与策略 domain 完全相等;消息的 uri 必须以 uriPrefix 开头;消息带 chainId 时必须在 allowedChains 列表内;策略的 allowedResources 非空时,消息声明的资源集合必须是它的子集,任何越界资源都直接失去自动签资格。expiresAt 给出 UNIX 时间戳,到期后策略自动失效,填零表示永不过期。注意这些条件的方向:都是往窄了收,宽松的策略等于关闭功能。

ERC-8019 SIWE 自动登录:让钱包对重复的登录签名说一次就够 图 2
ERC-8019 SIWE 自动登录:让钱包对重复的登录签名说一次就够 · 图 2

弹窗疲劳本身是一种安全风险

标准文本的动机部分把话说得很直:用户面对高频重复的签名弹窗会形成盲签习惯,而盲签的代价是当真正危险的签名请求混进来时,没有人再读内容。自动登录针对的正是这个习惯养成机制——把无害的、可预测的登录签名从弹窗队列里拿走,让人工确认的每一次都值得认真看。提案同时强调钱包与网站的分工:策略完全存在钱包侧,网站感知不到也不需要感知,不需要任何服务端改造;这也意味着同一份登录流程在不同钱包里体验不同,策略跟着钱包走,不跟着账号走。

它不做什么

划清边界和看懂功能同样重要。第一,它不自动签署任何转账、授权或交易——自动范围严格限定在 SIWE 登录消息。第二,它不引入新的身份系统,签的还是 EIP-4361 规定的同一份消息格式。第三,它不替你记住哪些网站可信,策略的创建与审计仍然由用户负责。提案还讨论了与 ERC-6492 及硬件钱包的兼容问题:如果钱包签名路径需要账户合约部署前验证,硬件设备的确认交互可能仍无法完全静默——自动登录在纯软件钱包上最顺滑,这是实现层差异而不是逻辑漏洞。

用户自查清单

一份最小权限的策略草稿

如果钱包支持配置策略,推荐的起点是最紧的一档:domain 精确写死到站点域名本体;uriPrefix 用到完整路径,不用只写域名——同样是签名,登录端点和签名登录端点应当区分;allowedChains 只列实际会用到的链,别照抄全链列表;allowedResources 一般留空(留空的语义是消息不能带资源条目,反而最严);expiresAt 给一个明确日期而不是零,配合每年一次的清单大扫除。配置完做一次负向测试:访问一个域名首尾相似、中段不同的仿冒站,看钱包是否照常弹窗——弹窗说明匹配逻辑在正确工作,静默通过则要立刻复查配置。反过来,对自己天天用的站点,确认自动签生效后登录体验确实消失弹窗,才算功能与预期闭环。策略的价值不在开启,在于维护它的人。

用支持的钱包时,定期打开自动签署策略列表做一次减法:过期的删、前缀宽泛的收紧(uriPrefix 写到完整路径而不是只有域名)、不再使用的域名直接撤销。反向检查也同样做:如果一个网站让你弹窗签的 SIWE 消息里出现了奇怪的 resource 条目或与你操作不符的域名,那正是子集规则替你挡下过一次的东西。按 ercs 仓库口径该提案为 Review,落地以钱包版本说明为准。本文为机制说明,不构成任何投资建议。