一起授权钓鱼案例里,tpwallet官方安全通告提到的无限授权风险真实上演。用户误点假空投页面签名,资产被分批转走,第二天按通告指引撤销授权才止住损失。
上个月中旬,一位用户把tpwallet官方安全通告里的风险提示当成例行提醒,直到钱包里两笔授权被恶意合约调用,才意识到通告里说的“无限授权”不是空话。他后来复述,点开一个空投页面,页面几乎复刻了常用DApp的按钮布局吧?连接钱包后弹出一笔看似0金额的签名,他没细看就确认了。半小时后,钱包里的USDT被分批转走。这个案例里了。tpwallet官方安全通告反复强调的“先看授权对象,再看额度”成了很重要分水岭。我翻了下那笔交易记录,恶意合约先要了代币的无限授权,再另一个代理合约调用transferFrom。
流程不复杂。甚至有点老套。问题出在时间差,用户以为签名只是登录验证,授权已经生效。
tpwallet官方安全通告提到,正规空投极少要求无限额度了,更不会在领取页面直接调用授权的。有人觉得通告啰嗦,可碰到页面,啰嗦反而是,最后一道刹车。另一个细节是域名。用户访问的网址比官方域名多了个连字符,手机端地址栏又折叠了后半段。他截图给我看时,我第一眼也差点忽略。tpwallet官方安全通告里有一条提醒,不要在搜索引擎广告位或群聊置顶链接里直接打开钱包相关页面。这听起来像老生常谈的,案例中诈骗方买的就是很重要词广告。
排名,甚至比自然结果靠前。止损出现在第二天了。用户按tpwallet官方安全通告的指引,用区块浏览器检查授权记录。
找到那笔无限授权后发起撤销。手续费花了不到三美元,剩余资产保住了。这里有个反常识的点,撤销授权不等于追回已转走的代币,它只是切断后续划扣路径。有些人等到资产归零才想起看通告,顺序错了。我的判断是钱包安全通告的价值不在“读过”,但在“出事时能想起哪一条”呢?tpwallet官方安全通告这次被验证的,就是用户对签名内容的忽视。把授权额度当成付款金额一样核对了,把域名和合约地址当成收款人一样确认。这类案例会少很多。
不要嫌麻烦,链上确认没有撤回键的。
