时间:2023-07-06|浏览:222
原文标题:《技术|从一个钱包被盗的案例,探讨Web3的安全指南》 原文作者:Chris阿法兔
事件 2022年元旦假期的某个早上,小C准备写代码,继续测试Web3js的链上合约交易。突然发现自己的测试账号(Bsc链)在MetaMask归零了,明明前一晚账户内还有100usd,然后查完转账就发现:
钱都没了,钱哪去了?
背景 技术出身的小C,最近在学习区块链开发。本身是专业开发者,已经很谨慎小心了,通常都是在测试网络上跑,跑完之后,再会去正式网络上部署,但是没有意识到整个产业目前还处在相对混乱的阶段,麻痹大意,顺手习惯导致造成了损失。
损失是如何造成的? 2021年的最后一天,小C偶然看到一个账号很有趣(这个账号有很多活跃的交易),就追踪了他的一些链上交易,然后看到了一个非常有意思的项目(有很高的年化收益率),然后就鬼使神差地连上了自己的MetaMask,然后鬼使神差的进行了approve,因为一般Web3的项目就是这个流程,approve然后转账就结束了。
但是令人惊呆的一幕出现了:点完之后,整个网站突然卡死了(其实在卡死这段时间,盗取者就把钱转走了),没有任何反应,小C当时没当回事,把站点给关了,去做其他事情了。
过了大概一天,小C只要你approve了,不需要私钥理论上也可以把对应的钱全部转走。
小C进行了下溯源,大概是在一个钓鱼网站的approve出了问题,于是追溯该转账记录。
如图,可以看到,先是approve(授权)了一个合约,授权了钓鱼合约能够对账号里面BUSD进行操作,而且是没有数量限制的。
为什么会是BUSD呢?小C回忆了一下,一进入这个
热点:钱包
用戶喜愛的交易所
已有账号登陆后会弹出下载