4 月 4 日,Euler Labs 在推特上表示,经过成功协商,攻击者已归还了所有盗取资金。 漏洞分析 在本次攻击中,Etoken 合约的 donateToReserves 函数没有正确检查用户实际持有的代币数量和捐赠后用户账本的健康状态。攻击者利用这个漏洞,捐赠了 1 亿个 eDAI,而实际上攻击者只质押了 3000 万个 DAI。 由于捐赠后,用户账本的健康状态符合清算条件,借贷合约被触发清算。清算过程中,eDAI 和 dDAI 会被转移到清算合约。但是,由于坏账额度非常大,清算合约会应用最大折扣进行清算。清算结束后,清算合约拥有 310.93 M 个 eDAI 和 259.31 M 个 dDAI。 此时,用户账本的健康状态已恢复,用户可以提取资金。可提取的金额是 eDAI 和 dDAI 的差值。但池子中实际上只有 3890 万 DAI,所以用户只能提取这部分金额。 事件概要 2 月 1 日,加密协议 BonqDAO 遭到价格操控攻击,攻击者铸造了 1 亿个 BEUR 代币,然后在 Uniswap 上将 BEUR 换成其他代币,ALBT 价格下降到几乎为零,这进一步引发了 ...