Nirvana目前资产缺口超过1200万美元。如此庞大的财务压力,对于一个新生项目而言,几乎宣判了死刑。原文标题:《暴跌90%!Solana算法稳定币新秀Nirvana被攻击事件分析》
撰文:成都链安
当你第一次听到Nirvana这个项目时,你的反应是不是也是这样。
Nirvana,不就是那支享誉全球的涅槃乐队吗?
慢雾简析Qubit被盗原因:对白名单代币进行转账操作时未对其是否是0地址再次进行检查:据慢雾区情报,2022 年 01 月 28 日,Qubit 项目的 QBridge 遭受攻击损失约 8000 万美金。慢雾安全团队进行分析后表示,本次攻击的主要原因在于在充值普通代币与 native 代币分开实现的情况下,在对白名单内的代币进行转账操作时未对其是否是 0 地址再次进行检查,导致本该通过 native 充值函数进行充值的操作却能顺利走通普通代币充值逻辑。慢雾安全团队建议在对充值代币进行白名单检查后仍需对充值的是否为 native 代币进行检查。[2022/1/28 9:19:19]
Nirvana,对于一个喜欢摇滚乐的乐迷来说肯定很熟悉,当然,Web3的项目方取名字也会各种蹭,当时这个算法稳定币协议Nirvana出来时,很多人也在疑惑这个项目是否和这支传奇乐队有关联。
Grim Finance 被黑简析:攻击者通过闪电贷借出 WFTM 与 BTC 代币:据慢雾区情报,2021 年 12 月 19 日,Fantom 链上 Grim Finance 项目遭受攻击。慢雾安全团队进行分析后以简讯的形式分享给大家。
1. 攻击者通过闪电贷借出 WFTM 与 BTC 代币,并在 SpiritSwap 中添加流动性获得 SPIRIT-LP 流动性凭证。
2. 随后攻击者通过 Grim Finance 的 GrimBoostVault 合约中的 depositFor 函数进行流动性抵押操作,而 depositFor 允许用户指定转入的 token 并通过 safeTransferFrom 将用户指定的代币转入 GrimBoostVault 中,depositFor 会根据用户转账前后本合约与策略池预期接收代币(预期接收 want 代币,本次攻击中应为 SPIRIT-LP)的差值为用户铸造抵押凭证。
3. 但由于 depositFor 函数并未检查用户指定转入的 token 的合法性,攻击者在调用 depositFor 函数时传入了由攻击者恶意创建的代币合约地址。当 GrimBoostVault 通过 safeTransferFrom 函数调用恶意合约的 transferFrom 函数时,恶意合约再次重入调用了 depositFor 函数。攻击者进行了多次重入并在最后一次转入真正的 SPIRIT-LP 流动性凭证进行抵押,此操作确保了在重入前后 GrimBoostVault 预期接收代币的差值存在。随后 depositFor 函数根据此差值计算并为攻击者铸造对应的抵押凭证。
4. 由于攻击者对 GrimBoostVault 合约重入了多次,因此 GrimBoostVault 合约为攻击者铸造了远多于预期的抵押凭证。攻击者使用此凭证在 GrimBoostVault 合约中取出了远多于之前抵押的 SPIRIT-LP 流动性凭证。随后攻击者使用此 SPIRIT-LP 流动性凭证移除流动性获得 WFTM 与 BTC 代币并归还闪电贷完成获利。
此次攻击是由于 GrimBoostVault 合约的 depositFor 函数未对用户传入的 token 的合法性进行检查且无防重入锁,导致恶意用户可以传入恶意代币地址对 depositFor 进行重入获得远多于预期的抵押凭证。慢雾安全团队建议:对于用户传入的参数应检查其是否符合预期,对于函数中的外部调用应控制好外部调用带来的重入攻击等风险。[2021/12/19 7:49:04]
后来事实证明他们毫无关系。
慢雾:Spartan Protocol被黑简析:据慢雾区情报,币安智能链项目 Spartan Protocol 被黑,损失金额约 3000 万美元,慢雾安全团队第一时间介入分析,并以简讯的形式分享给大家参考:
1. 攻击者通过闪电贷先从 PancakeSwap 中借出 WBNB;
2. 在 WBNB-SPT1 的池子中,先使用借来的一部分 WBNB 不断的通过 swap 兑换成 SPT1,导致兑换池中产生巨大滑点;
3. 攻击者将持有的 WBNB 与 SPT1 向 WBNB-SPT1 池子添加流动性获得 LP 凭证,但是在添加流动性的时候存在一个滑点修正机制,在添加流动性时将对池的滑点进行修正,但没有限制最高可修正的滑点大小,此时添加流动性,由于滑点修正机制,获得的 LP 数量并不是一个正常的值;
4. 随后继续进行 swap 操作将 WBNB 兑换成 SPT1,此时池子中的 WBNB 增多 SPT1 减少;
5. swap 之后攻击者将持有的 WBNB 和 SPT1 都转移给 WBNB-SPT1 池子,然后进行移除流动性操作;
6. 在移除流动性时会通过池子中实时的代币数量来计算用户的 LP 可获得多少对应的代币,由于步骤 5,此时会获得比添加流动性时更多的代币;
7. 在移除流动性之后会更新池子中的 baseAmount 与 tokenAmount,由于移除流动性时没有和添加流动性一样存在滑点修正机制,移除流动性后两种代币的数量和合约记录的代币数量会存在一定的差值;
8. 因此在与实际有差值的情况下还能再次添加流动性获得 LP,此后攻击者只要再次移除流动性就能再次获得对应的两种代币;
9. 之后攻击者只需再将 SPT1 代币兑换成 WBNB,最后即可获得更多的 WBNB。详情见原文链接。[2021/5/2 21:17:59]
据悉,这个有着Solana算法稳定币新秀的项目,采取双代币系统:ANA,一种算法亚稳态代币,用作财富存储;由ANA作为抵押生成的NIRV代币,是一种去中心化的超级稳定币,用作价值存储。
为何这个项目在今日遭受攻击,请听我们细细分解。
北京时间7月28日中午,成都链安链必应-区块链安全态势感知平台舆情监测显示,基于Solana的去中心化算法稳定币协议Nirvana遭遇攻击,其稳定币NIRV价格从1美元一度跌至0.09美元,目前反弹至0.11美元,最大跌幅超过90%;ANA代币价格从8.9美元一度跌至1.5美元,跌幅高达85%。
我们统计资金损失时,发现项目方损失约357万美元。
攻击发生时海外正值深夜,大概项目方工作人员还在睡梦中。成都链安安全团队的小伙伴,立刻跟进此事件,现将本次事件简单分析如下。
第一步,攻击者通过调用solend协议的flashloan指令,借来了1025WUSD,随后调用了Nirvana程序中的Buy3指令,此时根据兑换比例可以算出此时USD/ANA为8.72,兑换后价格为24.27,此时兑换前价格/兑换后价格约为1/3。
第二步,攻击者开始进入「黑化状态」,两次调用swap指令将获得的ANA兑换为USD,价格随后分别跌至22.73,16.47。
第三步,成都链安安全团队通过Github搜索关键字相关项目,但未发现存在buy3指令。
第四步,被盗资金目前以通过跨链桥转移到以太坊上。成都链安链必追将持续对资金地址进行分析和追踪。
根据Odaily星球日报的报道,「Nirvana」目前资产缺口超过1200万美元。如此庞大的财务压力,对于一个新生项目而言,几乎宣判了死刑。「Nirvana」要想继续存活,也许可以效仿竞品BeanstalkFarms进行众筹。
好了,今天的分享就结束了,后续有动向我们将持续跟进此事件。
来源:金色财经
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。