从被钓鱼到安全交互:我经手的6个钱包案例里,藏着这些血泪教训
上个月有个读者找我,说钱包被盗了,3个ETH加上一些NFT,总共损失差不多1.2万美元。我问他怎么操作的,他说在某个“空投网站”上连接了钱包,签了个名,然后资产就没了。我打开那个网站看了一眼——域名多了个连字符,页面做得跟真的一模一样。
这不是个例。过去两年我帮人处理过至少6起钱包相关的资产损失事件,加上自己踩过的坑,攒了些实战经验。今天不聊理论,就聊案例和操作。
案例一:助记词存微信收藏,手机丢了
2022年有个朋友,把助记词截图存在微信收藏里。手机丢了之后,他第一反应是挂失SIM卡、冻结银行卡,唯独忘了钱包这回事。三天后重新登录微信,发现收藏被清空了——他前女友登过他微信。
损失: 一个钱包里的0.8个BTC和若干山寨币,按当时价格约1.6万美元。
教训很简单但总有人犯: 助记词永远不要以任何数字化形式存储。截图、备忘录、微信收藏、邮箱草稿、云笔记,全部不行。我自己的做法是手写在两张纸上,一张放家里保险柜,一张放父母家。别嫌土,土办法救过不少人。
如果你非要数字化备份,至少用钢板助记词板刻录,防火防水。淘宝几十块钱一块,比丢币便宜太多。
案例二:授权钓鱼,签了个“无所谓”的签名
开头提到的那个读者,问题出在eth_sign和approve的区别上。他在钓鱼网站上点的“领取空投”,实际触发的是approve操作——授权对方合约无上限转移他的USDC。
这里有个很多人不知道的细节:授权和转账是两回事。 授权不需要你输入密码,不需要付gas(有时需要),你只是在链上给了对方一个“随时可以拿走”的许可。很多人签完以为没事,直到某天打开钱包发现余额归零。
操作建议: 每隔一个月打开revoke.cash,连接钱包,看看你授权过哪些合约。我上周查了一下自己的地址,授权了23个合约,其中至少5个是我完全不记得的。把不用的全部撤销,每次撤销gas费大概0.5到2美元,比被盗划算得多。
案例三:热钱包放巨款,电脑中招
2023年初有个做NFT交易的朋友,把价值8万美元的资产放在MetaMask里,日常交易方便。某天下载了一个“稀有 trait 查询工具”,exe文件,运行后钱包被清空。后来分析是剪贴板劫持木马——他复制钱包地址转账时,木马把地址替换成了攻击者的。
这里有个反直觉的点: 热钱包不是不能用,但要控制额度。我现在热钱包里常年不超过500美元的资产,大额全部放硬件钱包。转账时一定会核对地址的前6位和后4位,而且是从硬件钱包屏幕上核对,不是看电脑屏幕。
硬件钱包推荐Ledger或Trezor,别买二手,别从非官方渠道买。我见过有人图便宜在闲鱼买Ledger,收到的是被改过的设备,助记词在初始化时就被传出去了。
案例四:多签钱包救了一个DAO
去年有个小DAO找我咨询,5个人共管约30万美元的国库。一开始用的是一个普通钱包,助记词由创始人一个人保管。我说这不行,一个人出事全完。
后来换成了Safe(原Gnosis Safe)多签钱包,设置3/5签名阈值——5个管理人里任意3个签名才能动资金。今年3月其中一个成员的电脑中了钓鱼攻击,私钥泄露,但攻击者只拿到1个签名,动不了钱。其他成员收到Safe的提醒,及时把那个成员移出了多签。
具体操作: 打开app.safe.global,连接钱包,创建新Safe,添加所有者地址,设置阈值。部署费大概20到50美元,取决于网络拥堵情况。小团队、家庭共管资产,这个方案比单签安全一个量级。
案例五:Gas费设置失误,交易卡了6小时
这个不算安全事故,但很典型。2023年牛市期间,有个读者转账USDT,把gas limit设成了21000(普通ETH转账的默认值),结果交易一直pending。他以为钱丢了,急得不行。
ERC-20转账的gas limit一般在50000到65000之间,21000不够。交易卡住后,可以在MetaMask里点“加速”,用更高的gas费重发一笔相同nonce的交易,或者直接等网络拥堵缓解。别重复发交易, 我见过有人卡住后连续发了5笔,结果全成功了,多付了4笔gas费。
几个我一直在用的习惯
助记词手写两份,物理隔离。热钱包限额500美元以内。每月1号查一次授权。转账前核对地址首尾各4位。大额资产用硬件钱包,交易时在设备屏幕上二次确认。不点任何空投链接,不管它看起来多真。
说到空投,有个判断方法很实用:真正的空投不需要你连接钱包去“领取”,大多数是直接快照发放。需要你连接钱包、签名、付gas的“空投”,99%是钓鱼。剩下1%是项目方在收集地址,但你没必要冒这个险。
钱包安全这事,说白了就是别偷懒。多花30秒核对地址,多花2美元撤销授权,可能省下的是几千上万美元。我见过太多人丢币之后说“早知道就……”,可惜链上交易没有后悔药。