2022年4月23日,成都链安链必应-区块链安全态势感知平台舆情监测显示,NTF项目方Akutar的AkuAuction合约由于智能合约本身漏洞,导致11539ETH被锁死在合约中。成都链安技术团队第一时间对事件进行了分析,结果如下。
1事件相关信息
4月23日消息,Solidity开发者foobar发推称,11539ETH被永久锁定在AkuDreams合约中,个人用户或开发团队都无法取出资金。退款处理完成后,将每个出价状态设置为1。因此,用户无法调用emergencyWithdraw()。此外,团队也无法领取资金,基本上等于销毁。?
FASB 加密会计审查不包括 NFT 和某些稳定币:金色财经报道,据《华尔街日报》报道,财务会计准则委员会 (FASB) 将不可替代代币 (NFT) 和某些稳定币排除在其加密货币会计审查之外。周三,美国董事会描述了其加密资产标准,该标准将被期待已久的规则涵盖,要求公司对数字资产进行核算和披露。
FASB 没有指定将被排除在规则之外的特定加密资产。但它表示,该规则所涉及的数字资产将包括那些无形的、不具有现金流或商品和服务所有权的合同权利的资产,以及可替代的资产。NFT 本质上是不可替代的,并且可能对基础资产拥有权利,而一些稳定币是有形资产。[2022/9/1 13:01:16]
成都链安技术团队立刻进行了分析。
漏洞合约:
网贷公司玖富宣布将专注NFT、元宇宙和区块链技术的研发:8月31日消息,玖富子公司以太证券香港首席执行官Raymond Chan表示:“我们注意到区块链技术正在颠覆和改变传统的经纪服务,包括高盛、摩根大通、Robinhood在内的许多机构都在其服务中加入了数字资产服务。因此,我们认为在可预见的未来,这一领域的需求会越来越大,因此我们在新加坡的研发团队增加了资源,专注于NFTs、METAVERSE和其他区块链技术和服务的研发。”
金色财经此前报道,玖富宣布将转变为一家以股权证券经纪服务和数字资产技术服务为核心的数字和区块链证券经纪公司。(新浪财经)[2021/8/31 22:49:51]
0xf42c318dbfbaab0eee040279c6a2588fa01a961d
腾讯音乐开启首张“数字藏品预约” 首发2001张NFT:8月10日消息,腾讯音乐首批“TME数字藏品”即将上线。今天胡彦斌《和尚》20周年纪念黑胶NFT在QQ音乐平台开启购买资格的抽签预约,限量发售2001张。2001年,胡彦斌独立担任词曲创作《和尚》,而后收录于他的个人首张专辑《文武双全》当中。此次推出的黑胶唱片NFT是20年前未公开的DEMO版本的《和尚》。据预约页面显示,这张纪念黑胶NFT可以进行360度旋转放缩,全面展示唱片的各处细节。而唱片中央贴图采用了多样化设计,多款贴图会随机触发,在播放效果设计上,纪念黑胶NFT与3D唱片机巧妙结合,通过可操控的播放流程,打造沉浸式的音乐播放体验。
据悉,这张胡彦斌《和尚》20周年纪念黑胶NFT将在8月15日正式发售。(TechWeb)[2021/8/10 1:46:06]
2?漏洞分析
拳击手Floyd Mayweather将发布NFT:拳击手Floyd Mayweather与IronBend、Reality Gaming Group和Zytara Labs3家NFT公司合作,将于5月26日推出NFT,NFT内容为Mayweather的生活和职业生涯。(The block crypto)[2021/5/11 21:50:13]
Akutar项目的智能合约包含2个漏洞:
漏洞一:
1.第一个合约漏洞在processRefunds中,设计者根据refundProgress计数器进行循环退款。
2.而这里使用了call函数进行退款操作,且把退款的结果作为require的判定条件。
Cocos-BCX开启NFT挖矿 单日锁仓COCOS超448万美元:据官方消息,4月28日,COCOS开放NFT铸造与COCOS质押挖矿功能,24小时锁仓COCOS总价值达到448万美元,预计于4月30日全面开放挖矿收益。用户可以随时参与挖矿,分享每月高达120000 COCOS的长期矿池。目前开放的挖矿方式有锁仓方式(NFT挖矿)和活期随存随取的COCOS单挖方式。[2021/4/30 21:11:50]
3.因此如果此时有攻击者在队列中进行退款操作,调用call退款给攻击者时,攻击者在fallback中进行进行恶意的revert则会导致退款队列卡在攻击者这里,从而导致队列后面的所有人都无法进行退款。
4.这个漏洞被人在链上证明有效,但随后攻击合约便进行了解锁,并没有进行攻击利用,且公开进行了申明。
漏洞二:
该漏洞也是导致价值约3400万美元的ETH资产被锁死在合约中的元凶。
1.在claimProjectFunds函数中,该函数主要用于项目方提款。为了避免项目方权限过大,在用户完成提款之前就将合约中的资产全部转走导致用户无法退款,所有的退款操作应全部完成之后项目方才能够提款。业务逻辑设计上来说,是没有问题的。然而,在具体的代码实现中,当前的代码容易受到漏洞一的影响,导致项目方无法提款,不过这只是潜在的风险,本次资金锁死的元凶不是这个原因。
2.注意函数中第620行代码:require此处refundProgress表示已经处理了多少个用户的退款,totalBids表示所有用户总投标了多少个NFT。注意由于一个用户可以投标多个NFT,导致单从数值上比较,refundProgress可能小于totalBids。
而再来看看退款函数processRefunds中:require(_refundProgress<_bidIndex);bidIndex表示所有参与竞标的用户,refundProgress永远不会高于bidIndex。
此时来看看bidIndex的值,为3669:
totalBids的值为5495:
3.所以refundProgress>=5495且refundProgress<3669这个判断条件永远不会成立,最终导致项目方团队将永远无法执行后续的提款操作。此处应将refundProgress与bidIndex做对比,开发者犯了一个很低级的错误。最终,导致项目方11539ETH(价值约3400万美元)被锁定无法提取。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。