1. 使用储备账本记录资产借贷情况;2. 扩展精度,减少由于算术运算导致的误差
封面:Photo by Nicolas Arnold on Unsplash
2023 年 11 月 1 日,Beosin 旗下 EagleEye 安全风险监控、预警与阻断平台监测显示,OnyxProtocol 的 oPEPE 市场合约遭受黑客攻击,黑客获利约 218 万美元。
![](https://web3caff.com/wp-content/uploads/2023/11/image-87.png)
有趣的是 OnyxProtocol 协议是 CompoundV2 的一个分支,早在 2022 年 4 月 15 日,HundredFinance 也因为同样的漏洞遭受了 700 万美元的损失。本次 Beosin 带您来回顾一下该漏洞。
![](https://web3caff.com/wp-content/uploads/2023/11/image-88.png)
事件相关信息
●攻击交易
0xf7c21600452939a81b599017ee24ee0dfd92aaaccd0a55d02819a7658a6ef635
●攻击者地址
0x085bdff2c522e8637d4154039db8746bb8642bff
●攻击合约
0x526e8e98356194b64eae4c2d443cc8aad367336f0xf8e15371832aed6cd2741c572b961ffeaf751eaa0xdb9be000d428bf3b3ae35f604a0d7ab938bea6eb0xe495cb62b36cbe40b9ca90de3dc5cdf0a4259e1c0x414764af57c43e36d7e0c3e55ebe88f410a6edb60xcede81bb4046587dad6fc3606428a0eb4084d760
●被攻击合约
0x5fdbcd61bc9bd4b6d3fd1f49a5d253165ea117500x9dcb6bc351ab416f35aeab1351776e2ad295abc4
漏洞分析
本次攻击主要是黑客利用了舍入和汇率操控的问题,击穿了项目方的代码防线。
![](https://web3caff.com/wp-content/uploads/2023/11/image-89.png)
![](https://web3caff.com/wp-content/uploads/2023/11/image-90.png)
攻击流程
攻击准备阶段:
1. 攻击者借入 4000 枚 WETH 作为攻击准备资金。
![](https://web3caff.com/wp-content/uploads/2023/11/image-92.png)
2. 攻击者将借入的 WETH 兑换出约 2.52 万亿 PEPE。
![](https://web3caff.com/wp-content/uploads/2023/11/image-93.png)
3. 然后将 2.52 万亿 PEPE 分别转入 0xf8e1,0xdb91 等多个地址,自此攻击准备阶段完成。
![](https://web3caff.com/wp-content/uploads/2023/11/image-94.png)
攻击阶段:
1. 攻击者获取少量 oPEPE,并将 PEPE 打入 oPEPE 市场,增加 oPEPE 市场中 PEPE 的余额从而操控 oPEPE 的汇率。
![](https://web3caff.com/wp-content/uploads/2023/11/image-95.png)
![](https://web3caff.com/wp-content/uploads/2023/11/image-96.png)
2. 攻击者从其他的市场恶意借出资金大量以太坊。
![](https://web3caff.com/wp-content/uploads/2023/11/image-97.png)
![](https://web3caff.com/wp-content/uploads/2023/11/image-98.png)
3. 由于舍入和汇率操纵,攻击者使用少量 oPEPE 清算借贷并赎回捐赠的资金。
![](https://web3caff.com/wp-content/uploads/2023/11/image-99.png)
4. 攻击者重复上述步骤,最终将 PEPE 换回 ETH 并归还闪电贷,从而获利 1156ETH。
![](https://web3caff.com/wp-content/uploads/2023/11/image-100.png)
资金追踪
截止发文时,Beosin Trace 追踪发现被盗资金已大全部转入 Tornado cash。
![](https://web3caff.com/wp-content/uploads/2023/11/image-101.png)
总结
针对本次事件,Beosin 安全团队建议:1. 使用储备账本记录资产借贷情况;2. 扩展精度,减少由于算术运算导致的误差;3. 项目上线前,建议选择专业的安全审计公司进行全面的安全审计,规避安全风险。
免责声明:作为区块链信息平台,本站所发布文章仅代表作者及嘉宾个人观点,与 Web3Caff 立场无关。本文内容仅用于信息分享,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。