NFT:疯狂“出圈”和刷屏之后 Web3.0热潮下的NFT安全如何保证?

最近一段时间,Web3.0不断“刷屏”,NFT疯狂“出圈”,有人撸空投,有人搞收藏,有人说,NFT的爆炸性增长正在推动Web3.0的发展。

Web1.0到Web2.0实现了内容的消费者向内容生产者的转变,其本质是进行了一次从物理世界向网络世界的平行时空的大迁徙,当我们畅谈Web3.0的发展时,不得不进一步提到关于区块链,因为区块链的去中心化、去信任和防篡改的特性很好的对标了Web3.0的目标——创造新一代互联网,让每个用户掌握自己的数据、身份和命运。

Web3.0基于区块链而存在,承诺将隐私和数字身份还给用户,同时由于NFT等的应用,实现了新的互动水平。但我们更需要的是Web3.0热潮下NFT的诸多“危险”与“隐患”,最近NFT领域随处可见的“黑客事件”也证明了我们需要将“安全”放在第一位。

近期发生了哪些NFT合约安全事件?

4月21日,NBA的NFT项目合约遭受攻击,攻击者利用了签名未验证,在合约代码中,vDatamemory参数info在传入函数中未进行验证导致签名可复用,攻击者可以通过使用其他人的签名来进行Mint,导致项目方被疯狂“薅羊毛”。

由KONAMI研发支持的链游「疯狂的马斯克」已发行测试版本开启内测:1月18日消息,由日本著名游戏厂商KONAMI研发支持的区块链游戏项目「海格利安」(HAGLIEN)的首款链游「疯狂的马斯克」(MadMusk)已经发行了测试版本开启内测,并于近日宣布将在游戏内开启「恶魔城」(Castlevania)系列的专属NFT道具,包含武器,皮肤,加成道具等,并将开设专属关卡副本。同时,也或将支持「恶魔城」(Castlevania)系列NFT在游戏内进行某种程度的使用。[2022/1/18 8:56:20]

分析师:BTC若收于10370美元上方,将“疯狂看涨”:资深加密交易员兼分析师Josh Rager在推特上表示,BTC即将采取的行动将产生巨大的看涨影响。然而,多头还有一些工作要做:“BTC突破日阻力,对空头们毫不留情,正试图突破10300美元。BTC若收于10370美元上方,将疯狂看涨。”(The Daily Hodl)[2020/6/2]

而在4月23日,NFT项目Akutar惊现低级漏洞,它的AkuAuction合约由于智能合约本身漏洞,导致11539ETH被锁死在合约中。经成都链安技术团队分析,发现Akutar项目的智能合约包含2个漏洞:

第一个合约漏洞在processRefunds中,设计者根据refundProgress计数器进行循环退款,而如果有攻击者此时在fallback中进行revert则会导致后面的人都无法进行退款,这个漏洞被人在链上证明但没有进行攻击利用。

BigONE COO:平台币销毁件算不上转折 本质上只是加快了小交易所疯狂的程度:BigONE COO程君参与陀螺问答,就问题“OKEx挑起平币销毁浪潮,对于未来平台币的发展是一个转折事件吗?”进行回答。程君表示,很多交易所跟风OKEx销毁自家平台币,有几点是需要注意的。在OK的公告中,除了说销毁平台币之外,还有说发布了一条新的名为OKChain的公链,并且发行了新的积分叫做OKT。我们都知道,平台币应该是平台的所有价值体现,本来如果没有OKT,那么OKChain的价值自然也应该到OKB上面,把OKB当作通用积分就可以。但是现在销毁后再发个新币,那么从本质上来说,OKT+剩余的OKB应该等于原本的OKB的价值,或者更准确说,应该等于OK生态的Token价值。

但是二级市场更在意的是销毁,所以市场表现特别好。而那些没有准备好而生抄作业的交易所则会在后续出现问题,因为当他们销毁之后,会发现为了一时的迎合二级市场,而给自己后面的发展减少了回旋的余地。所以这个事件算不上转折,因为没有看到本质上的创新。本质上只是加快了小交易所疯狂的程度,但是对于平台币的本身只能算一个事件。[2020/3/5]

第二个漏洞在claimProjectFunds中,require语句的totalBids变量应该是bidIndex,这个漏洞使得该判断条件永远失败,导致无法执行后续的提款操作。最终,导致项目方11539ETH(价值约3400万美元)被锁定无法提取。

Coinbase联合创始人Fred Ehrsam:区块链不只是一场疯狂的投机游戏:今日,Coinbase联合创始人Fred Ehrsam和A16Z Chris Dixon进行对话。Fred Ehrsam认为区块链最大的意义在于,我们第一次把经济系统嵌入到了互联网里。因为在互联网的基础设计上,我们并没有把这种支付的能力写入到底层协议的代码里面,所以你没办法直接在协议层支付购买你想要的商品或服务。而去中心化的区块链和token则是一种更直接的经济系统。[2018/4/12]

可见关注NFT合约风险,变得越来越紧迫。

NFT合约问题包括哪些?

根据NFTSCAN数据显示,目前全球NFT项目已接近七万个,而且数据还在持续增长中。

韩国全民热炒比特币 外媒惊叹这个国家疯狂了:在比特币投资热潮中,韩国表现得特别疯狂。虚拟货币在其它地方可能是一种边缘游戏,但在这里已成为主流。学生们课间查看比特币报价,员工们排队购买咖啡时不忘进行比特币交易,甚至爷爷奶奶们也在家玩起了这个疯狂的“游戏”。人们购买比特币时支持的价格比全球平均价格高出15-25%,当地交易者称之为“泡菜溢价”。[2017/12/13]

数据来源:NFTSCAN

NFT作为Web3.0的底座,它的安全问题对行业发展同样重要,为了护航Web3.0的安全生态,成都链安通过智能合约形式化验证工具链必验对上千个NFT项目进行漏洞扫描,发现NFT常见的合约问题还包括以下几类:

业务逻辑相关问题:

此类问题可能直接导致合约的业务逻辑出错。

漏洞描述:chapterAuctionMinted的值永远为初始值,但是在此处使用的判断条件中,使用了该值进行条件检查。如果在开发期间使用扫描后,开发者可根据扫描结果判断是否是相关逻辑缺失,亦或是冗余代码。

漏洞描述:未检测返回值。在NFT项目中,经常存在有偿铸币的功能,调用者需要将作为铸币手续费的ERC20代币发送到NFT铸币合约中,然后NFT铸币合约为其铸造对应数量的NFT代币。但是部分ERC20合约存在假充值的问题,即转账失败不抛出异常而是返回false,这样就会导致一个问题,攻击者可以利用这点,在未支付手续费的情况下,铸造任意数量的NFT。开发者应根据VaaS扫描结果的建议,检查transferFrom操作的返回值或者使用safeTransferFrom函数进行ERC20代币转账。

代码规范相关问题

此类问题可能不会直接造成业务逻辑出错,但是会影响代码的可读性,造成合约调用时有多余的gas消耗等。同时不规范的代码也容易导致编写时逻辑混乱,有隐藏的逻辑错误的概率更高。

漏洞描述:此处循环的结束条件为curr>=0,而curr为uint导致curr>=0恒满足。此处会导致循环无法正常结束。在扫描中会对这类结果为定值的条件进行告警,用户可以通过提示确认此处逻辑,对条件进行删除或修改。

漏洞描述:此处event中将string类型的数据标记了indexed,该写法会导致在事件结果中无法直接获得对应的string结果。建议用户参考的提示,仅使用indexed修饰固定长度的变量。

研究发现,大多数的NFT合约都没有进行过专业的安全审计,这就存在很大的安全隐患,容易导致攻击事件的发生,造成资产的损失。所以NFT智能合约开发者应具备基本的安全开发意识,了解智能合约开发应注意的安全问题;此外,在合约设计和实现时,注意代码实现的正确性。我们建议开发完成后,可使用对项目进行安全检测。项目上线前,可选择安全审计,规避安全风险。

安全,是区块链技术能够得以长足发展的重要保证,守护Web3.0的安全也变得愈发重要。今天我们所讲的业务逻辑相关问题和代码规范性相关问题,也是智能合约里面常见的问题类型?,后续我们将继续推出NFT相关安全文章,请大家持续关注我们

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

地球链

SHIBWEB:Web3时代 如何打造个人品牌

找到自己能提供的价值,在去中心化网络中成为一个辐射更多人的轴点。Web3叙事中,打动我的一点是,赋予了内容创作者更广大的可能性.

[0:0ms0-1:37ms