睡前回顾了一下历次 cream 的攻击事件,看到 Dovey 姐姐在推上说不记得这是第三次还是第四次攻击了,印象中… 啊?已经有那么多次了吗?
第一次印象最深,记得是今年情人节的时候,当时还在围观 麻吉大哥 和 AC 当时在 clubhouse 里谈笑风生,中途大哥就跑去接电话,那个时候估计就是收到报告,说被攻击了。
不过那次事件其实纯属躺枪。。。原因是 Cream 当时新开的 IronBank 连接到 Aloha 的策略有 bug,然后 IronBank 是授予 Aloha 直接调用全部资金权力的,然后就。。。
虽然说那次事件不怪 Cream,但是这样直接授权 Vault 里的所有用户资产到一个新兴策略中去,显然也不是什么值得借鉴的事情,当然 Aloha 后来表示愿意承担所有 Cream 用户的损失。。。
印象比较深刻是因为当时 Unisave 的 BUSD vault 连接的 dForce 底层使用的正是 BSC 上的 Cream 策略,吓得我第一时间跑去报告,所幸当时 BSC 上还没有 IronBank 因此未受影响,但我们还是第一时间决定暂停了所有 Cream 策略,后来也一直没有开启,而是一段时间之后换上了 dForce 自己的生息市场策略。
这次说来比较神奇。。。Furucombo 是一个 2c 的 DeFi 聚合平台,和 Cream 看起来并没有任何业务上的联系。。。怎么也会牵连到 Cream?
调查后发现竟然是 Cream 的多签储备金账户之前尝试过很多新的 DeFi 合约,做过很多授权。。。然后其中的一次授权就让其中招了。。。虽然说储备金账户里都是团队自有资金。。但用团队的多签钱包去做小白鼠的行为。。着实听起来也挺吓人的。。。
这是一个非常典型的 ERC777 reentrance 攻击。。和之前 imBTC 还有 Lendf.me 在 Uniswap 上的攻击一样。。。虽然黑客的洗钱技术不到家,后来被迫还回来一半。。。
这也是目前 DeFi 历史上 top17 的 hack 。。。。不过马上要变成 top18 了。。。
稍微看了攻击的 txs 记录,值得注意的是,这次的攻击和以往不同的是,不是简单的使用 Flashloan 利用 Oracle 的设计缺陷,短时间内进行巨额交易去做 Price Manipulation,而是直接把资金打进 Vault 里,瞬间拉高一个 Vault 的 profit per share,然后在一个原子操作内,利用此 Vault 的借款凭证进行连环贷,从而产生大量无法被及时清算的坏账实现的。
借贷合约必须避免这种直接打钱来短时间操纵 profit per share 的行为。我预感很快还会有这种方法的新的受害者出现。。。。。。。