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

作者:茉莉

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不显示,链上也依然有效,仍能被人以原先的挂单价格在其他平台上购买。

SEC专员:需要一个更透明的加密货币监管体系:金色财经报道,美国证券交易委员会(SEC)专员Hester Peirce表示,“司法管辖权不明确的问题在一定程度上是我们的错”,她还表示,“需要一个更透明的加密货币监管体系”。[2022/11/11 12:49:44]

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

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

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

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

Chainalysis研究总监:网桥安全性是“未解决的技术挑战”:金色财经报道,区块链软件公司Chainalysis研究主管Kimberly Grauer表示,加密行业需要克服跨链桥的安全问题。她说,“网桥安全性是该行业尚未解决的技术挑战,跨链桥作为主要的去中心化金融 (DeFi) 协议形式之一,已成为黑客广泛攻击的目标”。据Grauer称,这对投资者和用户构成了“声誉风险”。

根据Chainalysis的调查结果,10月已经成为加密黑客事件发生最频繁的月份,相关损失超过7.18亿美元。[2022/10/18 17:29:39]

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

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

数据:BAYC系列NFT近24小时交易额增幅超200%:金色财经报道,据OpenSea数据显示,Bored Ape Yacht Club(BAYC)系列NFT近24小时交易额为252.8ETH,增幅达216%。近24小时交易额排名位列OpenSea第四。[2022/8/14 12:24:20]

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

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

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

DeFi协议总锁仓量达691.6亿美元:金色财经报道,据DefiLlama数据显示,DeFi协议总锁仓量(TVL)达到691.6亿美元,24小时内涨幅为0.79%。TVL排名前五分别为MakerDAO(89.3亿美元)、Lido(80.3亿美元)、AAVE(73.5亿美元)、Curve(65.7亿美元)、Uniswap(61.5亿美元)。[2022/8/11 12:17:13]

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

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

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

美股收盘,三大股指高开低走:美股收盘,三大股指高开低走,道指初步收跌176点;纳指收跌0.72%,日内振幅近2.8%;标普500指数收盘下跌30.96点,跌幅0.75% 。[2022/6/2 3:57:34]

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:15ms0-1:21ms