时间:2023-06-10|浏览:197
用戶喜愛的交易所
已有账号登陆后会弹出下载
一、事件分析
攻击者地址为0x67AfDD6489D40a01DaE65f709367E1b1D18a5322。攻击过程如下:
1.攻击者使用闪电贷方法从Aave贷出44,000,000个USDC,将其全部存入USDC池中,并持有相同数量的LP-USDC。
2.攻击者将44,000,000个LP-USDC存入MasterPlatypusV4合约,该合约地址为0xc007f27b757a782c833c568f5851ae1dfe0e6ec7。
3.PlatypusFinance服务平台抵押比例为4.92%,攻击者用44,000,100.592104个LP-USDC抵押并借出了41,794,533.64个USP。
4.由于攻击者抵押的LP-USDC借款额度没有超过平台限制(95%),MasterPlatypusV4.emergencyWithdraw函数中的自变量isSolvent始终为true。因此,攻击者能够获取抵押的LP-USDC。
5.攻击者清除了LP-USDC的流动性,成功获得了43,999,999个LP-USDC。
6.攻击者使用了swap方式获取了多种稳定币。
7.最终,攻击者偿还了闪电贷款,总盈利约为850万美元。
问题原因:
1)MasterPlatypusV4.emergencyWithdraw函数中的isSolvent变量类型一直为true。
2)在PlatypusTreasure(0xbcd6796177ab8071f6a9ba2c3e2e0301ee91bef5)合约中,isSolvent函数进一步启用了内部结构封装形式函数_isSolvent。
3)_isSolvent函数中,solvent数值来自于debtAmount≤_borrowLimitUSP(_user,_token)。其中debtAmount为借款额度,_borrowLimitUSP为可借款额度。因此,solvent稳定为true。
截至2023年2月17日16时,攻击者持有多种稳定币,价值约为850万美元。
二、安全建议
针对此事件,合约开发者在研发时很可能无法充分考虑领域模型安全性。为了构建安全的智能合约,应重视领域模型安全性。在处理领域模型时,应按以下实际操作规范:
1)应用低层调用方法时请确保通过检查和传递参数来处理调用失败的概率。
2)对于主要参数接收函数,请验证输入数据的属性是否可靠和准确。
3)在业务设计中应确保业务精度、完整性和投资模型的正确性。
4)应请第三方专业的财务审计和分析团队提供技术支持。
关于我们
SharkTeam的愿景是全方位维护Web3全球的安全性。我们的精英团队由来自全国各地的资深安全专业人员和高级科学研究人员组成,熟悉区块链智能合约的底层基础理论,提供专业的智能化合约财务审计、链上剖析、应急处置等服务。我们已与Polkadot、Moonbeam、polygon、OKC、HuobiGlobal、imToken、ChainIDE等区块链生态系统的重要参与者建立了长期合作伙伴关系。
Twitter:https://twitter.com/sharkteamorg
Discord:https://discord.gg/jGH9xXCjDZ
Telegram:https://t.me/sharkteamorg
欢迎通过以上链接查阅更多区块链安全咨询和分析。也可通过D查下|链上风险性审查https://app.chainaegis.com查询更多详细信息。
转载:驼鸟区块链