利用OpenSea「漏洞」,攻击者低买高卖他人NFT_NFT:SEA

作者:茉莉

1月24日,OpenSea多名用户的NFT被人以过期的低价买入,并被快速高价转卖,受影响的NFT资产包括BoreApeYachtClub、CoolCats、CyberKongz等。其中一个BoreApeYachtClub以0.77ETH的旧价格被购买,并在一小时内以84.2ETH转售。该NFT的持有者在推特上表示,他近期并未以0.77ETH的价格出售该NFT。

交易页面显示,名为jpegdegenlove的OpenSea账号操作了这些低买高卖的NFT,截至1月25日凌晨,其以太坊钱包已经拥有价值超74万美元的ETH。

攻击者能够成功「狙击」别人的NFT,源于OpenSea的NFT「销售列表」取消功能被忽略。在这个全球最大的NFT交易平台上,NFT挂单者真正撤单必须支付Gas取消销售列表,否则挂单即便在前端UI不显示,链上也依然有效,仍能被人以原先的挂单价格在其他平台上购买。

安全团队:Finance Grim利用中间地址已将另外1,200枚ETH转移到Tornado Cash:8月22日消息,据PeckShieldAlert监测显示,Finance Grim利用中间地址0x9882238已将另外1,200枚ETH (约194万美元)转移到Tornado Cash。[2022/8/22 12:40:37]

DeFi开发者yakirrotem解释,攻击者可能保存了用户在早先挂售时的链上签名列表,该列表公开可见,能被API抓取,以过期低价购买用户的NFT。这个Bug一旦被攻击者利用,他人的NFT便会被收入囊中,进而转卖。

截至发稿前,OpenSea未就用户损失和「销售列表」的前端问题公开发表回应。

用户?NFT?以过期价遭攻击者低买高卖

「OpenSea上的一个错误允许人们以旧价格购买Ape。这只Ape以?0.77ETH的价格被购买,40?分钟后以84.2ETH的价格转售。」1月24日,多条类似推文提示OpenSea用户,尽快将自己的NFT资产转移至从未在OpenSea上签名过NFT销售的钱包中。

PeckShield:2022年上半年黑客利用DeFi相关漏洞窃取的资金达18.8亿美元:7月1日消息,PeckShield发推表示,黑客利用DeFi的相关漏洞在2022年上半年窃取了价值约18.8亿美元的加密货币,与2021年上半年相比增长了208%。[2022/7/1 1:43:58]

一枚ApeNFT以0.77ETH被低吸后高卖

被低价买入又转手高价卖出的NFT不仅涉及BoreApeYachtClub项目,还包括MutantApeYachtClub、CyberKongz和CoolCats等NFT项目。

「伙计们,为什么我的Ape只卖?0.77?」推特用户T_BALLER6正是受害者之一,他发布推文称,他近期并没有将这枚Ape以?0.77ETH的价格出售。

另一名维特名为ToastVirtual的NFT收藏家也称,周一醒来发现他的Ape以旧的挂单价格6.66ETH被售出,「这只Ape没有在钱包之间转移。」?

Rikkei Finance:将全额补偿受到漏洞利用攻击中的用户:金色财经消息,元宇宙DeFi协议Rikkei Finance表示,将使受到漏洞利用攻击中影响的用户得到全额补偿,团队称正在修复漏洞并已全面恢复服务。损失价值共约合110万美元(2671BNB)。早些时间报道,Rikkei Finance遭受攻击,被攻击原因为攻击者将预言机改为恶意合约。[2022/4/15 14:27:11]

从OpenSea交易记录页面可见,低吸高卖的账户名为jpegdegenlove,该账户在几个小时内不断以旧价格买入多个知名的NFT,然后又转手高价卖出。区块链安全机构Peckshield的相关推特公布了攻击者地址并提醒,OpenSea有一个前端问题,攻击者获得了大约332ETH。按照事发当时ETH的报价2256美元,这些332ETH折合约74万美元左右。

日本三名矿工利用访客电脑挖掘门罗币被起诉:日本中部神奈川县、千叶县和枥木县的多家警察部门正在联合调查三名涉嫌在2017年未经游客同意的情况下,利用访客电脑挖掘Monero(门罗币)的犯罪嫌疑人。挖矿涉及到使用计算资源(在本例中是网站访问者的CPU能力)来创建经过验证的区块并将其添加到区块链中。这三个人被控使用coinhive专门提供一个用来挖矿的JS引擎,在网站上内嵌一段JS代码,只要有用户访问网站,挖矿程序就会在用户的电脑上工作,使用用户的CPU能力来挖掘Monero(门罗币)。[2018/6/13]

这些收藏家的NFT为何会被人以过期的低价买走?

有推特用户附图答疑称,OpenSea和另一个NFT交易平台Rarible之间存在一个问题,「如果你没有在OpenSea上正确地删除NFT挂单,这个问题就会被利用。」

京东利用区块链技术追溯茶叶源头:京东与卢正浩、梅府茗家等品牌共建京东茶叶无公害基地,利用区块链将茶叶的采摘、晾晒、炒制、包装、运送等,全过程都在保障体系内。同时京东利用区块链、物联网、大数据技术建成“区块链防伪追溯平台”,实现跨品牌商、渠道商、零售商、消费者并精细到一物一码(或一批一码)的全流程正品追溯。[2018/4/16]

答疑图片显示,如果卖家挂售一件NFT商品,后来决定删除挂单,那么正确的方式是支付一笔Gas费用来取消它,如果用户为了节省Gas费,只是简单地将NFT转移到一个不同的以太坊地址,尽管OpenSea的前端挂单不显示了,但当该NFT被发送回原始地址后,它仍然可以在Rarible上被购买。

OpenSea的这个「前端问题」事实上早已以答用户问的方式出现在其帮助中心的页面上。在「我如何取消或调低NFT清单的价格」一问中,OpenSea答复,「请注意,转移NFT不会自动取消清单。在将NFT转移到新的钱包之前,您要取消列表。这确保了该列表不能通过OpenSea实现……取消列表需要支付Gas费,这样才能使其他用户无法使用该NFT。」

如此看来,被人低价买走的NFT很可能是一些用户没有执行挂单取消操作,导致被攻击者利用。

如何在OpenSea避免「未撤单」疏漏?

OpenSea「销售列表」取消功能留下的「空子」曾在去年12月底就有披露,此次规模性爆发后导致用户资产受损。

推特名为「yakirrotem」的DeFi开发者、NFT收藏家因此将OpenSea评价为NFT世界的「过时产品」,「它缓慢,用户体验糟糕,用的是旧的智能合约代码,这让你支付了更多的Gas费,对交易者没有好处,他们还有危险的Bug。」

yakirrotem罗列OpenSea的运行方式称,该平台为了节省Gas费,采用了链下呈现价格、链上操作签名交易的方式运行整个系统,「当你列出一个待售的项目时,你签名的数据证明你愿意以这个价格出售你的NFT,而签名保存在OpenSea的链下数据库里。当有人想购买你的NFT时,他会发送给他的智能合约,但这一步的签名和销售信息是在链上进行验证的,然后才发生转让。」

yakirrotem强调,当用户取消一个列表时,会被要求执行一个交易,「你可能会问『为什么』,原因是有人可能保存你此前的签名清单,因为它是公共的,例如Rarible平台甚至OSAPI,并在以后使用它。即使你的挂单从UI页面上删除了,但其实上只有链上交易才会保存你取消该交易的事实,即便有人试图使用你之前签署的数据,链上验证也将拒绝该交易。」

此外,将先前挂单的NFT转移回列出它的钱包,也不会阻止这个错误的发生,「重新列出也帮不了你,除非你确保取消了所有之前的清单。」

NFT收藏家图解OpenSea前端问题

「Rarible这样的网站会保存旧的列表,现在攻击者可以使用这些信息来执行销售,因为OpenSea的智能合约相信这个销售是有效的。」yakirrotem指出,OpenSea的另一个大问题是他们没有一次性的订单簿,「所以假如你6个月前创建了一个订单,然后在4个月前又创建了另一个订单,即便你在1天后取消了它,第一个订单仍然有效,尽管它在UI页面上不可见。」

此次「漏洞」造成用户NFT被攻击者「狙击」后,也有一些声音认为是用户自身保管NFT不当所致。而在yakirrotem看来,OpenSea的这些问题并非不可解决,因为另一家最近兴起的NFT交易平台LooksRare就支持用户一次性取消所有订单,「即使你不知何故忘记取列表,这也可以确保你更安全。」

如何复查自己的NFT旧挂单是否执行了取消操作?

yakirrotem介绍,用户可以登录Rarible平台查看之前的列表是否还在,「然而,如果你想要100%的安全,那么就把你的NFT转移到另一个从未在OpenSea上架过的钱包里。」

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:0ms0-4:404ms