ANC:DAO还安全吗?Build Finance遭遇恶意治理接管,被洗劫一空!_xSTAKE.Finance

今天2月15日,先祝大家元宵节快乐!团团圆圆每一天!

而在今天凌晨时分,成都链安链必应-区块链安全态势感知平台舆情监测显示,风投DAO组织BuildFinance项目遭遇治理攻击。关于本次攻击,成都链安技术团队第一时间进行了分析。

#1?事件概览

据悉,BuildFinance是一个自我描述为“去中心化风险建设者”,其目标是通过奖励代币来激励新项目。这个想法是用其原生BUILD代币为项目提供资金,作为回报,这些项目将采用BUILD代币来增加对它们的需求。此外,该项目由DAO维护,也就是由一个去中心化组织参与治理。

但是,黑客却悄悄搞起事情,该项目遭遇攻击者恶意治理接管,黑客通过获得足够多的投票成功控制Build代币合约,在三笔交易中铸造了超过10亿的BUILD代币,并耗尽了Balancer和Uniswap流动性池中的大部分资金。事发后,该项目团队在推特建议用户不要在任何平台上购买BUILD代币,项目团队成员试图与攻击者进行直接对话,但对方似乎没有兴趣对话。

IMF已将气候变化和DAO视为马绍尔群岛共和国的潜在威胁:金色财经报道,7月9日,国际货币基金组织 (IMF)在完成与马绍尔群岛共和国(RMI)的年度磋商后发布了题为“马绍尔群岛共和国:2023年第四条磋商团的结论声明”的披露。IMF已将气候变化和去中心化自治组织 (DAO) 视为马绍尔群岛共和国的潜在威胁。因此,国际货币基金组织敦促针对这些挑战进行改革。国际货币基金组织警告称,参与金融科技企业可能会危及马绍尔群岛的金融稳定。

2022年,马绍尔群岛迈出了重要一步,通过了立法,承认DAO为法人实体,并允许它们注册为有限责任公司 (LLC)。[2023/7/13 10:52:43]

看来项目方又遇到了一位“任性”的黑客。下面,跟着我们来看一下事件具体分析过程。

#2?事件具体分析

Round1

通过对项目的交易追踪,我们发现2022年2月12日BuildFinance?项目被攻击者窃取了治理权限,接着向0xdcc8A38A地址分三次铸造了超过10亿的BUILD代币。

Hash Global Labs完成对NFT项目MaoDAO的收购:6月30日消息,Hash Global Labs宣布完成对MaoDAO的收购,MaoDAO现有的金库资金将全部用于社区建设。MaoDAO品牌定位将全面升级为综合性文娱社区。Hash Global Labs和MaoDAO将落地香港和新加坡,实践Web3的各种商业模式:社区共建IP、粉丝俱乐部、私域流量管理和分发以及创作者生态等。

Hash Global Labs邀请MaoDAO创始人小毛哥在拟成立的MaoDAO理事会担任第一届的主席,帮助MaoDAO和HG Labs的发展。[2023/6/30 22:10:12]

然后0xdcc8A38A地址将这10亿代币通过UniswapV2:BUILD兑换将项目方的交易池掏空。

Waves创始人发布Waves 2.0规划,包括DAO治理的稳定币、SafeFi模型等:12月27日消息,Waves创始人Sasha Ivanov在推特上发布2023年Waves2.0的叙事规划,包括利用概率共识POS机制在L1上实现TPS突破1000并保持完全去中心化、将多链EVML2作为不同L1之间的桥梁、推出基于KPI治理的PowerDAO平台、基于可预测行为和风险/回报率的DeFi模型SafeFi,以及推出基于自适应DAO治理的稳定币。

金色财经此前报道,Sasha Ivanov表示将推出新稳定币,在此之前将启动USDN脱锚解决方案。[2022/12/27 22:10:01]

观察交易细节后,我们发现调用Build代币合约mint函数铸币的地址也为0xdcc8A38A。

DAO治理投票DIP-001提案已通过:据官方消息,dFuture DAO治理投票DIP-001提案在币安智能链BSC和火币生态链Heco上均高票通过,预计8月19日24点将按照提案内容调整平台币DFT的产量减半。

调整后的规则为,每个块奖励3.75个DFT,其中1.5个DFT奖励交易挖矿,1.5个DFT奖励流动性挖矿,0.75个奖励二池抵押挖矿,取消FOMO的0.1个DFT奖励。[2021/8/19 22:24:40]

接着往下看,我们观察下图项目方的合约代码发现调用mint函数的地址只能为governance地址。此时铸币的地址为0xdcc8A38A,也就是说合约现在的governance权限已经被0xdcc8A38A地址获取了。

从代码中可以看到原本的governance权限属于合约的创建者即下图的0x2Cb037BD6B7Fbd78f04756C99B7996F430c58172地址。

MakerDAO:将开始MKR拍卖以偿还400万美元“坏账”:MakerDAO官方今日发布公告称,将在两天内开始进行MKR治理代币的“债务拍卖”,这也是MakerDAO历史上首次通过拍卖以偿还“坏账”。由于以太坊价格暴跌,大量贷款跌破了抵押阈值,引发了清算程序,该清算程序以抵押拍卖的形式进行,用户可以通过竞标DAI获得抵押的以太坊,但此次由于市场崩溃,部分清算人以价格为0的DAI的出价赢得以太坊抵押品清算程序的拍卖,也导致MakerDAO出现400万美元未偿还贷款的债务。MakerDAO社区成员表示,MakerDAO在价格下跌前有超过50万美元的盈余,而目前是超过400万美元的债务。

此前消息,MakerDAO社区将今日举行一次执行投票,以调整参数,拟议调整的重点是拍卖参数及保证Dai价格钉住1美元。[2020/3/13]

我们不禁要问,那么governance权限是如何转移到0xdcc8A38A上的呢?

Round2

通过排查,我们通过2020年9月4日的一笔交易发现了线索,攻击者只有通过setGovernance函数才能窃取governance的权限。那么在这期间合约创建者0x2Cb037BD一定使用了setGovernance函数进行了权限转移。

通过查找0x2Cb037BD地址的交易记录可见,在同一天创建者使用了setGovernance函数。交易hash为0xe3525247cea81ae98098817bc6bf6f6a16842b68544f1430926a363e790d33f2。

通过查找内部的Storage可见权限转移给了0x38bce4b45f3d0d138927ab221560dac926999ba6地址而不是上述的0xdcc8A38A攻击地址。交易哈希为:0xe3525247cea81ae98098817bc6bf6f6a16842b68544f1430926a363e790d33f2。

通过继续跟进0x38bce4b地址,发现是一个Timelock合约,而合约中可以调用build代币合约函数的setGovernance函数只有executeTransaction函数。

我们跟进executeTransaction函数找到了其中的Storage。

从上图可见0x38bce4b45f3d0d138927ab221560dac926999ba6地址将权限又转移到了0x5a6ebeb6b61a80b2a2a5e0b4d893d731358d888583地址,交易哈希为0x9a0c9d5d3da1019edf234d79af072c1a6acc93d21daebae4ced97ce5e41b2573,调用时间为2021年1月25日。

通过继续跟进0x5a6ebeb6地址,在下图可知在2022年2月9日由suho.eth发起的提案,0xdcc8A38A攻击地址在2022年2月11日投票通过。在4天前将governance权限变更为0xdcc8A38A。

suho.eth发起的提案变更governance,投票设置的阈值较低导致提案通过,通过call调用将build合约的governance更改为0xdcc8A38A地址。

0x5a6ebeb6b61a80b2a2a5e0b4d893d731358d888583地址部分代码。

此地址获取governance权限后,0xdcc8A38A地址通过build代币合约的mint函数向本身铸造了大约10亿的build代币,随后去交易池掏空流动性。

获取权限的流程图为:

攻击者利用类似的手法,从另外一个治理合约中转走了该治理合约所持有的代币资产。本次获利共162个ETH、20014个USDC481405个DAI、75719个NCR约为112万美元。

最后,成都链安提醒:DAO合约应该设置合适的投票阈值,实现真正的去中心化治理,避免很少的投票数量就使得提案通过并成功执行,建议可以参考openzeppelin官方提供的治理合约的实现。

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

大币网

[0:0ms0-8:855ms