北京时间2022年9月5日,CertiK审计团队监测到Daoswap由于挖矿奖励大于交换过程中收取的费用以及缺乏验证,允许用户将邀请者地址设置为自己,在一次攻击中损失了58万USDT。
攻击步骤
①攻击者合约从12个地址中共闪电贷到了218万美元。
②攻击者合约使用DAORouter将所有闪电贷到的USDT交换为DAO代币。在交换过程中,攻击者合约以两种方式从SwapToEarn获得DAO代币作为奖励:
a.代币奖励:这是为换取代币的用户准备的。
MakerDAO发布提案:将提高Compound D3M债务上限:金色财经报道,MakerDAO的公开市场委员会已寻求社区批准,将其Compound DAI直接存款模块(Compound V2 D3M)的最大债务上限提高300%,并设定目标可用债务在同一个金库上有500万DAI。?根据其操作手册,MakerDAO的DAI直接存款模块 (D3M) 是一种工具,可以创建 DAI 并将其存入以太坊区块链上的其他借贷协议,以换取来自这些协议的存款/抵押代币。它允许MakerDAO通过其他借贷协议分发新铸造的DAI,同时保持对DAI的全面支持。
2022年12月,D3M部署在Compound Finance上,DAI供应量为500万个DAO代币。最高债务上限也固定在500万DAI。此外,如果新提案获得通过,Compound V2 D3M的目标可用债务也将设置为500万DAI。[2023/1/29 11:34:36]
b.邀请者奖励:攻击者在调用函数时可以任意设置一个“邀请者”地址,相当于推荐人也可以获取奖励。在这种情况下,攻击者合约将邀请者地址设置为自己。
MakerDAO发布新提案,将加入Flash Mint模块等一系列更新:5月19日消息,MakerDAO发布新提案,该提案包含的更新包括支持Layer 2到Layer 1的快速提款功能、添加新的Flash Mint模块、新模块债务上限设置为2.5亿美元,旧模块的上线下调至2.5亿美元等。[2022/5/19 3:27:15]
③攻击者合约用同样的方法将所有DAO代币换回USDT,再次获得这两种奖励。
④攻击者合约多次重复步骤②和③。因为攻击者收到了DAO代币作为奖励,所以他每次都能获得更多的USDT。
⑤攻击者合约偿还了所有借贷资金,并将剩余的USDT金额转移给攻击者。
合约漏洞
美国怀俄明州或考虑允许DAO在该州正式注册:金色财经报道,美国怀俄明州议会专门致力于区块链技术和创新的工作组提出了一项法案。该法案如果获得批准,将允许去中心化自治组织(DAO)正式在该州注册。该法案最初在1月中旬提交,并且已于2月3日发送给怀俄明州参议院的联合公司、选举和分支委员会。从本质上讲,该法案旨在允许DAO被州政府特许和认可。他们将能够组建为有限责任公司,在官方机构的注册中会出现术语DAO、LAO或DAO LLC。[2021/2/5 18:56:49]
DAOSwap包含一个“swap-mining”的奖励,其实现方式如下。
动态 | 过去四个月内MakerDAO CDP创建总数增长超300%:据Longhash消息,过去四个月里,在MakerDAO平台上创建的抵押债务头寸合约(CDP)总数增长300%以上。今年一个月内创建的CDP数量达到历史最高水平。根据MakerScan.io的数据,截至1月31日,今年迄今为止已创建1839个CDP,与去年12月相比增幅超过97%。 据悉,Dai是由MakerDAO开发并管理的去中心化稳定币,用户可通过CDP智能合约抵押ETH来换取稳定币Dai。[2019/2/1]
在函数_swap中调换之后,可调用SwapToEarn.sol中的函数swapCall。
在函数swapCall中,DAO代币被转移给用户和邀请者,二者的地址都是通过参数传递的。
当函数在_swap中被调用时,我们可以看到用户被设置为信息发送者msg.sender,而邀请者则来自于输入参数。
邀请者地址可以是任何地址,因为这个地址没有设置检查。攻击者能够将邀请者设为自己,并得到了额外的奖励。
值得注意的是,攻击者作为邀请者得到的奖励约占总奖励的20%。即使不允许攻击者将邀请人地址设置为自己,攻击者仍然可以从交易中获利。
6次交易的总利润约为581,254USDT。
相关交易
交易①:
https://bscscan.com/tx/0x414462f2aa63f371fbcf3c8df46b9a64ab64085ac0ab48900f675acd63931f23
交易②:https://bscscan.com/tx/0x6c859ae624002e07dac39cbc5efef76133f8af5d5a4e0c42ef85e47d51f82ae0
交易③:
https://bscscan.com/tx/0x3b1d631542eb91b5734e3305be54f305f26ab291b33c8017a73dcca5b0c32a1b
交易④:https://bscscan.com/tx/0xa7fdefcd80ba54d2e8dd1ab260495dca547993019d90f7885819bb4670b65bad
交易⑤:
https://bscscan.com/tx/0xf1368418344e21a1a09a2c1770ea301bf109ca3b387a59a79242a27d709195a7
交易⑥:
https://bscscan.com/tx/0x8eb87423f2d021e3acbe35c07875d1d1b30ab6dff14574a3f71f138c432a40ef
写在最后
攻击发生后,CertiK的推特预警账号以及官方预警系统已于第一时间发布了消息。同时,CertiK也会持续于官方公众号发布与项目预警相关的信息。
CertiK的端到端安全解决方案,从智能合约审计和KYC项目背景调查服务,到Skynet天网动态扫描系统和SkyTrace等区块链分析工具,以及漏洞赏金计划,助力每一个项目充分发挥潜力的同时为Web3.0打造用户和投资者高参与的生态系统。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。