利用OpenSea「漏洞」 攻击者低买高卖他人NFT

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

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

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

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

COMP突破250美元关口 日内涨幅为13.07%:欧易OKEx数据显示,COMP短线上涨,突破250美元关口,现报250.25美元,日内涨幅达到13.07%,行情波动较大,请做好风险控制。[2021/6/28 0:10:52]

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

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

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

一枚Ape NFT以0.77 ETH被低吸后高卖

被低价买入又转手高价卖出的NFT不仅涉及Bore Ape Yacht Club项目,还包括Mutant Ape Yacht Club、CyberKongz 和 Cool Cats 等NFT项目。

霍比特HBTC与Helium达成战略合作 开启BobCat?HNT矿机预售:据霍比特HBTC官方消息,霍比特HBTC将于2月3日14:00(UTC+8)限时限量开启BobCat HNT矿机大中华地区的预售。

据悉,本次BobCat HNT矿机的预售,霍比特HBTC将采用购买HNTH凭证1:1兑换HNT矿机的方式进行,认购时间:2月3日14:00-2月10日14:00(UTC+8),认购总量:2000台HNTH。

霍比特队长可享309 USDT的认购价格,单用户认购上限20台HNTH;普通用户可享329 USDT的认购价格,单用户认购上限200台HNTH,此次预售总量为2000台HNT矿机。[2021/2/3 18:46:45]

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

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

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

JustWrapper已经登陆TronLink:据最新消息,JustWrapper去中心化匿名交易网络已经登陆TronLink。据悉,JustWrapper是具备安全,隐私和不可追踪等特性的加密资产匿名平台。通过使用密码学与波场TRON网络上基于zk-SNARK零知识证明的匿名协议JustWrapper确保了所有交易保持 100% 的不可关联和不可追溯性。TronLink波宝钱包是一款安全、全面、专业的波场钱包,也是目前波场TRON生态中用户量最大的去中心化钱包,其产品已经累计为超过40万的波场用户提供服务。[2020/9/27]

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

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

答疑图片显示,如果卖家挂售一件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平台甚至OS API(都能抓取),并在以后使用它。即使你的挂单从UI页面上删除了,但其实上只有链上交易才会保存你取消该交易的事实,即便有人试图使用你之前签署的数据,链上验证也将拒绝该交易。」

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

NFT收藏家图解OpenSea前端问题

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

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

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

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

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

链链资讯

DOGE晚间必读5篇 | 元宇宙时代人才职业指南

1.加密总市值几近“腰斩” 历史上还有几次这样的情况? 近几日随着加密市场瀑布式下跌,BTC损失地址数达20个月高点,处于亏损状态的ETH地址数量(7日MA)达到17个月以来高点,加密领域总市值也几近“腰斩”,从峰值3万亿美元跌至1.62万亿美元,跌幅接近50%。

TUSD重新理解 DeFi:它是什么?为何重要?

DeFi 中的资本储备的可审计性意味着能够实现严格的风险评估和风险管理。对于去中心化的货币市场和信贷设施 (允许用户获取点对点的、有担保的贷款),用户可以在任何给定时间检查抵押品组合的质量和系统中的杠杆程度。 这与当前金融体系的不透明性质形成了鲜明对比。

SHIBa16z合伙人:Web3是如何设计激励机制的?

本文由 a16z 合伙人 Chris Dixon 在社交媒体上发表,原文标题为《Web3 剧本:作为增长机制的互操作性》。作者通过网络效应在文中解释了 Web2 是如何走向愈发的封闭、Web3 又如何通过激励机制确保其互操作性。律动对其观点进行了编译。

[0:0ms0-3:660ms