黑客如何盗取3,000枚ETH,NFT借贷平台XCarnival 被攻击事件分析

一、Xcarnival 介绍

Xcarnival 是 NFT 借贷平台,NFT借贷是由 DeFi平台提供的,平台允许 NFT 所有者抵押他们的NFT艺术品或收藏品,以换取加密货币或法币

NFT 借贷如何运作呢?支持NFT贷款的平台允许持有人在没有中介的情况下借入资金并设定条款。借款人可望获得约为NFT价值50%的贷款额度,利率从20%到80%不等,这取决于NFT受欢迎的程度。

与传统借贷机构相比,DeFi 协议的魅力在于它们简单、透明和高效。NFT 作为抵押品的资产被发送到一个安全的智能合约,它作为一个公正的、自动化的第三方程序,来完成整个借贷流程。

贷款人评估抵押品的合理价值,通常是通过查看资产的过去表现、销售历史或类似NFT的地板价。一旦双方就条款达成一致,NFT就会从借款人的钱包转入一个托管账户,并由智能合约促成借贷。



二、XCarnival 遭到攻击,3087枚ETH被盗

6月26日消息,NFT 借贷协议 XCarnival 遭到攻击,黑客获利 3087 枚以太坊(约 380 万美元),而协议损失可能更高。

Xcarnival 平台资产地址:

"XNFTProxy": https://eth.tokenview.com/cn/address/0xb14b3b9682990ccc16f52eb04146c3ceab01169a

"XETHProxy": https://eth.tokenview.com/cn/address/0xb38707e31c813f832ef71c70731ed80b45b85b2d

黑客地址:

https://eth.tokenview.com/cn/address/0xb7cbb4d43f1e08327a90b32a8417688c9d0b800a

https://eth.tokenview.com/cn/address/0xca67615bb9a9cc093e13dee3de1ca55b55ab3586

三、XCarnival 被盗经过

Tokenview带你梳理一下XCarnival 被攻击全过程:


1 攻击者

https://eth.tokenview.com/cn/address/0xb7cbb4d43f1e08327a90b32a8417688c9d0b800a 从Tornado.Cash中取出了120ETH作为”攻击准备“。



2 随后在Opensea上通过opensea seaport协议花费91.65ETH,购买了NFT BAYC #5110。


3 创建多个攻击合约,通过转移BAYC NFT,实施攻击过程。以合约地址0xf7为例,首次攻击利用合约0xf7多次进行抵押NFT,共获利1980ETH。


0xf70F691D30ce23786cfb3a1522CFD76D159AcA8d

0xbcf759e6889af3af5cdb02ddc5557aa525e7ed8b

0x3edf976df38f7d6273884b4066e3689ef547d816

0x7b5a2f7cd1cc4eef1a75d473e1210509c55265d8

0x234e4b5fec50646d1d4868331f29368fa9286238


4 此次攻击利用了该NFT借贷平台的合约bug:已解除抵押的 NFT 仍被作为抵押品所致。也就是说,抵押品NFT被取出来后,它的orderID仍可以使用,还可以申请贷款。据Tokenview数据显示攻击者获利 至少3000枚ETH(约 380 万美元)。


5 最终攻击者将NFT BAYC5110以85ETH在Opensea卖出,最终取回81.56ETH。


四、XCarnival 官方回应

6月26日22:07,XCarnival团队发推称已暂停智能合约以及存款、借款功能。


并于22:37:19,XCarnival开始向黑客发起对话。对话内容为:“你好,我们已经意识到我们的合同漏洞,我们联系你是希望挽回这个损失。如果你愿意和我谈谈我会非常感激的。我们可以通过contact@xcarnival.fi交流或交易,谢谢。”


直至 6月27日凌晨1点,XCarnival攻击者开始陆续转移资产。据Tokenview链上数据显示, 在 01:12:29,攻击者将2967枚ETH(约360万美元)发送到0xca新地址。并从 01:17:02至 01:22:22,分批将120枚ETH发送至Tornado.cash。


据Tokenview链上数据显示,经过一系列对话协商后,XCarnival表示(在攻击者退还盗取资金的前提下)将给予攻击者(0xb7CBB4d43F1e08327A90B32A8417688C9D0B800a)1500枚ETH的赏金,并明确免除对此人的法律诉讼。

攻击者留言:“很高兴听到这个消息——资金将被退还——请发表一份官方声明——由xCarnival首席执行官签署——给予oxb7(攻击者地址)所有者1500ETH的赏金和明确否决诉讼”。随后XCarnival团队发布此推文。



在13:45:58,攻击者向XCarnival(0xc087629431256745e6e3d87b3ec14e8b42d47e48)返还了1467枚ETH。 具体交易路径是从0xca的地址转回0xb7的地址,最终转向XCarnival官方提供的钱包地址0xc08。


在XCarnival攻击者归还1467枚ETH后,自称想申请作为调解人的地址

0xfc5724c285213269cc53d6156e8d2fddbbcad626 ,向其发起对话,写道“先生,我很感激你的行动但我想申请作为调解人,以保证交易的安全和有效。”目前攻击者还未作出回应。


Tokenview会持续关注XCarnival攻击者链上动态,带来最全面的数据解析。