扫码之后建立了什么
很多 dApp 用“扫码连接”的方式和手机钱包建立联系。以常见的实现为例,二维码里除了一个通信主题,还带着一把对称密钥;网站和钱包通过公共中继服务器转发双方加密后的消息。按协议规范,未被对方确认的“未激活配对”五分钟左右就过期,而一旦双方完成握手,配对会带上约三十天的有效期,并且每次有消息往来都会续期。握手完成后建立的“会话”约定了双方通信用的链、账户和允许请求的方法,理论上钱包只应该应答会话里事先批准过的那类请求。
理解这套机制,是为了明白两件事。第一,扫码连接的信任基础是“你在官网发起、在钱包端确认”,中继只搬运加密消息;但能被搬运的请求类型由会话参数决定,如果批准时没看清,一个看似只读的会话也可能被用来向你推送签名请求。第二,会话可以长期存在并不断续期,你三个月前授权过的某个网站,可能今天还挂在钱包的连接列表里。
长期挂着的连接为什么会变成风险
三类场景会让“还在连接的网站”变成隐患。网站本身被接管或域名过期被抢注后,历史会话可能被用于推送恶意请求;会话批准时授权了过多方法与链,后续任何一笔请求都会被钱包正常弹出,用户在“都是老朋友”的心态下随手确认;以及最常见的一种——假前端仿冒:攻击者复制官网界面,等你把连接和签名请求从假页面走到钱包,弹窗看起来和真站几乎一样,差别只在数据内容。
连接不等于授权转账,这一点要记牢,但连接相当于给攻击者留了一条随时敲门的通道。定期关门是最便宜的防御。
一份可执行的撤销与巡检清单
- 打开钱包的“已连接站点 / 已授权应用”列表,逐个检查;名字认不全、域名拼写怪异、或你根本不再使用的,一律断开。
- 断开只在钱包端操作不够稳妥:同时在电脑端钱包、多签界面、相关平台的授权管理页各自检查一遍,多端各自记录连接状态。
- 对仍要使用的站点,看会话覆盖了哪些链与方法;只读浏览就断开,不要保持长期会话。
- 每次重新扫码前确认二维码来自你手动输入的官网,而不是邮件、群消息或搜索结果广告位。
- 签名弹窗出现“来源对不上”“与已保存配对不符”类提示时,直接拒绝并断开该配对。
- 把“清理连接列表”设成日历例行事项,和撤销过期授权、检查白名单放在同一天做。
如果怀疑某个连接被滥用:立刻在钱包端删除该配对与相关会话,检查地址的链上授权记录并撤销不认识的额度,然后把该地址在大额资产中的角色降级,后续转移到一个干净的新地址。还有一个容易忽略的收尾动作:被滥用的网站往往同时记得你的地址与偏好,后续会以“回访福利”名义定向推送钓鱼内容,因此清理完成后的一段时间内,对该站点任何形式的召回通知都要绕开原链接、手动输入官网地址访问。协议参数(配对有效期、会话字段)会随版本演进,具体以官方规范和你所用钱包的当前实现为准。本文为安全防御科普,不构成投资建议。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。