1月24日,OpenSea多名用户的NFT资产被人以过期的低价买入,并迅速以高价转售。受影响的NFT资产包括BoreApeYachtClub、CoolCats、CyberKongz等。其中有一枚BoreApeYachtClub以旧价格0.77ETH被购买,一小时后以高达84.2ETH的价格转售。该NFT的持有者在推特上表示,他并没有以0.77ETH的价格出售该NFT。
名为jpegdegenlove的OpenSea账号在交易页面上操作了这些低买高卖的NFT。截至1月25日凌晨,该账号的以太坊钱包中已经有价值超过74万美元的ETH。
这种攻击之所以成功,是因为OpenSea的NFT销售列表取消功能被忽略。在这个全球最大的NFT交易平台上,要真正撤销挂单必须支付Gas取消销售列表,否则挂单虽然在前端界面上不显示,但在链上仍然有效,并且可以以原来的挂单价格在其他平台上进行购买。
DeFi开发者yakirrotem解释说,攻击者可能保存了用户在早先挂售时的链上签名列表,该列表是公开可见并可以被API抓取的。通过以过期低价购买用户的NFT,攻击者可以将其占为己有,并转售获取利润。
截至发稿前,OpenSea尚未对用户的损失和「销售列表」前端问题做出回应。
用户的NFT以过期低价遭到攻击者低买高卖的事件频发。一些推特用户发推文提示OpenSea用户,尽快将自己的NFT资产转移到从未在OpenSea上进行NFT销售的钱包中。
不仅BoreApeYachtClub,还涉及到MutantApeYachtClub、CyberKongz和CoolCats等NFT项目,这些NFT资产被以低价买入后高价转手出售。
一些受害者对此表示困惑,推特用户T_BALLER6发布推文说:“伙计们,为什么我的Ape只卖了0.77ETH?”他表示自己近期并没有以0.77ETH的价格出售该NFT。
另一名名为ToastVirtual的NFT收藏家也表示,他醒来后发现自己的Ape以旧的挂单价格6.66ETH被售出,但这只Ape并没有在钱包之间转移。
从OpenSea的交易记录页面可以看到,一个名为jpegdegenlove的账户不断以旧价格购买多个知名的NFT,并迅速转手以高价卖出。区块链安全机构Peckshield在推特上公布了攻击者的地址并提醒说,OpenSea存在一个前端问题,攻击者已经获得了大约332ETH。按照当时的ETH报价2256美元计算,这332ETH价值约为74万美元左右。
为什么会有人以过期的低价购买用户的NFT呢?有推特用户附图解释称,OpenSea和另一个NFT交易平台Rarible之间存在一个问题,即“如果你没有在OpenSea上正确地取消NFT挂单,这个问题就会被利用”。
推特上有附图解释显示,卖家如果挂售一件NFT商品后决定取消挂单,正确的做法是支付一笔Gas费来取消挂单。如果为了节省Gas费,用户只是将NFT转移到一个不同的以太坊地址,尽管OpenSea的前端界面上不再显示该挂单,但当该NFT被发送回原始地址后,它仍然可以在Rarible上被购买。
事实上,OpenSea的这个「前端问题」早已在其帮助中心的页面上以问题解答的形式存在。在“我如何取消或减低NFT列表价格”的问题中,OpenSea回答说:“请注意,转移NFT并不会自动取消列表。在将NFT转移到新的钱包之前,您需要取消列表。这样可以确保其他用户不能通过OpenSea购买该NFT。”。
因此,被人以低价购买走的NFT很可能是一些用户没有执行挂单取消操作,从而被攻击者利用。
如何避免OpenSea的「未撤单」漏洞呢?OpenSea的「销售列表」取消功能的问题在去年12月底就已经披露过了,而此次规模性的漏洞爆发导致了用户资产的损失。
DeFi开发者和NFT收藏家yakirrotem因此将OpenSea评为NFT世界中的“过时产品”,他说:“它运行缓慢,用户体验糟糕,使用的是旧的智能合约代码,这让你支付更多的Gas费用,对交易者没有好处,还存在危险的漏洞”。
yakirrotem列举了OpenSea的运行方式,他说,为了节省Gas费用,OpenSea使用链下的价格展示和链上的签名交易。当你挂售一个项目时,你签署的数据证明你以某个价格出售你的NFT,而签名保存在OpenSea的链下数据库中。当有人想要购买你的NFT时,他将向他的智能合约发送数据,而这个签名和销售信息在链上进行验证后,才能进行转让。
yakirrotem强调,当用户取消一个列表时,会被要求执行一笔交易,“你可能
本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://czxurui.com/zx/7574.html
发表回复
评论列表(0条)