题目
客服收到反馈:有用户看到「某某官方钱包请求访问」,于是点了同意,事后发现是钓鱼站点。
有人提议在站点里加一句「本页面不请求你的私钥」,认为这样能降低风险。请分析这个提议的有效性,并说明连接环节有哪些信息是站点控制不了的。
考察目标
- 能否区分「站点能控制的内容」与「钱包展示的内容」。
- 是否理解连接授权暴露的信息范围。
- 能否给出更有价值的防护措施。
考察钱包侧展示与站点可控范围的边界,以及社交工程攻击的常见路径。
客服收到反馈:有用户看到「某某官方钱包请求访问」,于是点了同意,事后发现是钓鱼站点。
有人提议在站点里加一句「本页面不请求你的私钥」,认为这样能降低风险。请分析这个提议的有效性,并说明连接环节有哪些信息是站点控制不了的。
账户可见性与连接授权由钱包侧管理:站点通过 eth_requestAccounts 请求账户访问,用户可以批准或拒绝;连接后的账户读取走 eth_accounts 与 accountsChanged 事件。EIP-1193 把 Provider 描述为不受信环境中的对象,站点能控制的只是自己页面上的文案与请求时机。
eth_requestAccounts 请求账户访问,调用可以触发用户界面供用户批准或拒绝,拒绝时返回错误(依据:EIP-1102 §Specification 的 Protocol 与 eth_requestAccounts)。wallet_requestPermissions 与 wallet_getPermissions 两个方法,权限以包含 invoker、parentCapability、caveats 的对象数组表示(依据:EIP-2255 §Specification 的 wallet_requestPermissions、wallet_getPermissions)。eth_accounts 读取已授权账户,并监听 accountsChanged 事件;返回值由钱包控制(依据:EIP-1193 §Security Considerations 的 User Account Exposure and Account Changes)。发现这道题有问题? 反馈此题