NFT借贷平台@XCarnival_Lab大约7个小时之前被黑了,至少有3000个$ETH (约380万美元)被盗。下面是该事件的简要分析:
该NFT借贷平台的合约有个bug:作为抵押品的NFT在取出后,其orderID仍然可用,可以此申请贷款。
?xNFT, NFT管理器. https://etherscan.io/address/0xb14b3b9682990ccc16f52eb04146c3ceab01169……?
美国SEC指控参与众筹计划的人涉嫌出售200万美元的未注册证券:金色财经报道,美国证券交易委员会 (SEC) 指控参与众筹计划的人涉嫌出售 200 万美元的未注册证券。在公告中,该机构声称 Robert Shumake、Nicole Birch 和 Willard Jackson 通过Transatlantic Real Estate LLC 和 420 Real Estate LLC 进行了欺诈性的众筹。美国证券交易委员会称,通过这两家公司,该集团通过众筹平台 TruCrowd 筹集了 200 万美元。SEC 已对该平台及其首席执行官 Vincent Petrescu 提出指控。Petrescu 和 TruCrowd 面临违反《证券法》众筹规则的指控。(theblockcrypto)[2021/9/21 23:39:38]
?P2Controller, 很多借贷限制条件的验证者.
BeeSwap成立15万枚HT量级生态基金,搭建MDEX生态矿池:据官方消息,BeeSwap与MDEX.COM双方将在单币质押挖矿、流动性挖矿等方面展开积极合作,共同助力Heco生态发展。BeeSwap将成立不低于15万枚HT量级的生态基金,陆续投入MDEX流动性矿池,所得收益将用于BEE单币质押奖励、BEE流动性贡献者、BEE回购等。
Mdex是一款基于资金池理念自动做市的去中心化交易产品,作为一个功能完备的DEX的同时提出并实现了基于火币生态链和以太坊公链的双链DEX模型。融合了火币生态链交易费低廉和以太坊生态圈繁荣的优势,支持流动性挖矿和交易挖矿的“双重挖矿机制”。
BeeSwap是?个面向区块链全?业,基于HECO开发的NFT-DAO底层治理架构的DeFi平台应?。通过场景和流量赋能,打造孵化游戏以及优质NFT项目和拍卖交易于?体的基础设施。[2021/2/24 17:49:17]
黑客 https://etherscan.io/address/0xb7cbb4d43f1e08327a90b32a8417688c9d0b800a… 从Tornado中拿出了干坏事的启动资金. 然后在OpenSea上购买了 #BAYC 5110。
火币波卡生态板块项目KSM日内涨幅26.12%:据火币全球站行情显示,8月25日火币波卡生态板块项目 KSM 强势上涨,截至13时40分, KSM 报价为27.1 USDT ,日内涨幅为26.12%。
另据非小号数据显示,KSM近30日涨幅为 131.07%。截至8月25日,KSM 近24小时交易量为2980万美元,火币全球站占26.33%,是全网交易量第一的主盘。
市场人士分析,近期火币已上线波卡生态板块,或将持续挖掘高潜波卡生态项目,并为用户提供从现货、杠杆到合约的最全波卡生态板块投资服务,成为投资波卡生态的一站式交易平台。[2020/8/25]
他部署了一个总控合约 0xf706…ca8d https://etherscan.io/address/0xf70f691d30ce23786cfb3a1522cfd76d159aca8d……, 该合约生成了很多用来当女巫用同一个NFT进行借贷的马仔合约,比如0x5338…3714 https://etherscan.io/address/0x53386a82e55202a74c6d83c7eede7a80ba553714…….
首先,总控将BAYC转给某个马仔(以0x5338为例)。马仔然后调用xNFT中的pledgeAndBorrow()函数(抵押并贷款),抵押品为BAYC,但什么也没贷(贷款为一个总控部署的假xToken合约,数量为0)。本步骤生成了一个orderID(43)。
本Tx中可以看到这些过程,不过只有internal transaction。如果想详细解读得自己深挖调用栈。马仔5338然后取出刚才抵押的NFT,并还给总控。总控再把NFT给别的马仔。如此左手倒右手循环,黑客搞出了几十个orderID,之后可作为借款凭证。而有bug的xNFT并没有在取出抵押物后撤销凭证orderID。
下一步,总控让所有马仔依次从xETH合约里借钱。攻击完成。黑客用空气借走了真金白银(NFT抵押品早就取出了)。这是其中一个tx。
上面的是大概过程。再来看下细节。在xNFT合约中,withdrawNFT()并咩有在取出后消除orderID。当P2controller调用getOrderDetail()时还是能取到这个ID。
在xETH中,borrow()会调用borrowInternal()然后调用controller.borrowAllowed() 来验证orderID是否有效。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。