昨天晚间19时50分,DeFi 协议 Akropolis 遭到了黑客攻击。
区块链安全公司 PeckShield(派盾)安全人员迅速定位到问题在于,Akropolis 项目的 SavingsModule 合约在处理用户存储资产时存在某种缺陷,黑客利用此缺陷连续实施了17次重入攻击,导致其 YCurve 和 sUSD 资金池损失了203万枚 DAI。
技术概要:
本次攻击的原因如下:
1)合约没有对用户存储的 Token 进行白名单校验
2)关键的 deposit 函数没有对重入攻击的保护
简单而言:黑客利用 Akropolis 项目存在的存储资产校验缺陷,向合约发起连续多次的重入攻击,致使 Akropolis 合约在没有新资产注入的情况下,凭空增发了大量的 pooltokens,进而再利用这些 pooltokens 从 YCurve 和 sUSD 池子中提取 DAI,最终导致项目合约损失了203万枚 DAI。
攻击过程详解:
攻击流程复现:
我们通过分析黑客实施攻击的交易哈希(0xe1f375a