周六,攻击者从OpenSea用户那里窃取了数百个NFT,在该网站广大用户群中引发了深夜恐慌。区块链安全服务机构PeckShield编制的一份电子表格统计了攻击过程中被盗的254枚代币,其中包括Decentraland和无聊猿游艇俱乐部的代币。
大部分攻击发生在美国东部时间下午5点至8点之间,目标总共是32名用户。运营博客Web3的莫莉·怀特(Molly White)估计被盗代币的价值超过170万美元。
这次攻击似乎利用了Wyvern协议的灵活性,Wyvern协议是大多数NFT智能合约(包括OpenSea上的合约)的开源标准。一种解释(由首席执行官德文·芬泽(Devin Finzer)在Twitter上链接)从两个方面描述了此次攻击:首先,目标公司签署了一份部分合同,获得了一般授权,大部分合同留白。签名到位后,攻击者通过调用自己的合同来完成合同,该合同在不付款的情况下转让了NFT的所有权。本质上,袭击目标签署了一张空白支票——一旦签署,攻击者就填写了支票的其余部分,拿走他们的财产。
“我检查了每笔交易,”这名名叫Neso的用户说。“他们都有丢失NFT的人的有效签名,所以任何声称他们没有被网络钓鱼,但丢失NFT的人都是错的。”
在最近的一轮融资中,OpenSea价值130亿美元,已成为NFT热潮中最有价值的公司之一,为用户提供了一个简单的界面,可以在不直接与区块链交互的情况下列出、浏览和竞价代币。这一成功带来了重大的安全问题,因为该公司一直在与利用旧合同或有毒代币窃取用户宝贵财产的攻击作斗争。
攻击发生时,OpenSea正在更新其合同系统,但OpenSea否认攻击源自新合同。目标数量相对较少,不太可能出现这种漏洞,因为更广泛平台中的任何漏洞都可能被更大规模地利用。
尽管如此,攻击的许多细节仍不清楚——尤其是攻击者用来让目标签署半空合同的方法。美国东部时间凌晨3点前不久,OpenSea首席执行官德文·芬泽(Devin Finzer)在Twitter上写道,这些攻击并非源于OpenSea的网站、各种上市系统或该公司的任何电子邮件。攻击的速度很快——在几个小时内进行了数百次交易——表明存在某种常见的攻击媒介,但迄今为止尚未发现任何联系。
芬泽在推特上说:“我们会让你了解更多关于网络钓鱼攻击的确切性质的信息。”。“如果您有可能有用的特定信息,请DM@opensea_support。”