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

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

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

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

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

V神、孙宇晨支持的生命科学组织VitaDAO拟设营利性公司推动长寿技术发展:4月6日消息,由以太坊创始人“V神”支持创立的生命科学研究去中心化组织VitaDAO在推特宣布,正在投票决定是否创建一家营利性公司来确保和分配长寿研究的资金。该公司将命名为 VitaTech,作为 VitaDAO 的子公司/附属公司运营,它将利用公共资金来授权美国大学开发的长寿技术,并支持它们的持续发展。除V神外,波场TRON创始人孙宇晨此前也曾大力支持VitaDAO的发展。

今年1月,VitaDAO宣布完成410 万美元融资,融资方包括Coinbase的前首席技术官 Balaji Srinivasan、全球最大的药企辉瑞的投资部门 Pfizer Ventures,这也是辉瑞在 Web3 领域的首笔投资。VitaDAO 表示将会利用这笔资金进一步资助长寿研究项目和将于明年从DAO中剥离出来的生物技术初创公司。

去年10月,孙宇晨向VitaDAO旗下“长寿奖基金”进行捐款,孙宇晨也因此次捐赠成为“长寿奖基金”的第二大捐赠者,仅次于以太坊创始人V神。[2023/4/6 13:47:30]

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

OpenDAO官推粉丝数量超过12万,SOS持有人已超过20万:金色财经报道,据OpenDAO官推披露数据显示,目前SOS持有人已经超过20万,Discord频道会员数量已超过5万,其推特粉丝数量在一周内增长10万,本文撰写时为12.2万。此外,OpenDAO还宣布和跨链NFT市场X Marketplace达成合作,用户未来可通过质押SOS来获得赋予治理权的 veX 通证。[2021/12/27 8:07:40]

Round 1

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

DAO 治理投票 DIP-002 关于DFT总量减半的提案未通过:据官方消息,dFuture DAO治理投票DIP-002提案于8月30日17:00结束,提案内容为关于DFT总量减半。投票结果为,Heco链共797万投票,37.33%支持率和62.67%反对率,BSC链共737万投票,29.97%支持率和70.03%反对率。反对票力压支持票,最终本次提案未通过。[2021/8/30 22:47:01]

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

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

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

MakerDAO通过执行投票新增 ETH-B为Dai抵押品:MakerDAO官方今日在微博表示,已经通过执行投票,正式新增 ETH-B (不同风险参数的备用 ETH 抵押品类型) 作为Dai的抵押品,风险参数如下:债务上限2000万Dai,借Dai利息6%,清算抵押率130%,初始生成Dai最小额度为100,抵押物每批拍卖额度50,000 Dai,抵押物拍卖的最低出价增幅为3%,抵押物每批拍卖时长6 小时,抵押物拍卖最大持续时长6 小时,清算罚金为13%。此次投票通过将使Dai全局债务上限14.56亿提高到14.76亿。[2020/10/18]

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

MakerDAO推出17.5万DAI补助金计划旨在多样化抵押品:9月19日,MakerDAO创始人Rune Christensen发布推文宣布,MakerDAO正在推出补助金计划(Collateral Onboarding Grants)。该计划旨在推动社区实现多样化的抵押品,致力于推动MakerDAO于2020年11月30日实现新增抵押品达到2.5亿-5亿DAI供应量。该计划将奖励成功实现这一目标的团队。官方将提供特别奖励措施,即分别在达成2.5亿和5亿DAI供应量的目标时,向相关贡献团队发放7.5万枚和10万枚DAI赠款奖励。社区成员可以申请参加智能合约、风险、Oracle、法律、项目管理、合作伙伴关系和沟通各个方面的工作。[2020/9/20]

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

Round 2

通过排查,我们通过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个USDC 481405个DAI、75719个NCR约为112万美元。

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

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

地球链

FILSEE:SeedClub:顶级Web3加速器的前世今生

SeedClub最近获得了联合广场领投的一千五百万刀投资,这个消息引起了很多关注DAO朋友的关注。SeedClub是干啥的?他们怎么做加速?SeedClub也是个DAO?大家问题多多.

[0:0ms0-1:685ms