Penpie被黑揭秘:原因剖析与攻击步骤详解
时间:2025-06-07 | 作者: | 阅读:02024年9月4日,Pendle Finance的去中心化流动性收益项目Penpie遭遇了一次严重的网络攻击,攻击者从中获利近3千万美元。让我们深入探讨一下这次攻击的背后原因和具体步骤吧。
前置知识
Pendle Finance是一个去中心化金融收益交易协议,其总锁定价值超过了45亿美元。这个协议成功地与Magpie整合,旨在优化收益机会并提升其veTokenomics模型。在此基础上,Penpie项目引入了流动性挖矿功能,使Pendle Finance的市场能够实现被动收益。以下是Pendle Finance中的几个重要概念:
PT (Principal Token):这代表未来某个时间点的本金。拥有PT就意味着你拥有本金的所有权,并且在到期后可以兑换回相应的资产。例如,如果你有一张1年后到期的1枚PT-stETH期权,那么一年后你就能兑换回价值1 ETH的stETH。
YT (Yield Token):这代表未来的收益。持有YT意味着你拥有底层资产产生的所有实时收益,并且可以在Pendle上手动领取累积的收益。如果你拥有1个YT-stETH,而stETH的平均收益率为5%,那么一年结束时,你将累积0.05个stETH。
SY (Simple Yield):这是一个用于包装任何生息代币的合约。它提供了一个标准化的接口,可以与任何生息代币的收益生成机制进行交互。
LPT (Liquidity Provider Token):这代表一个流动性市场,作为提供底层资产流动性的凭证。
PRT (Pool Reward Token):这代表Penpie池子中用户存入LPT代币的存款凭证。
根本原因
这次事件的核心问题在于Penpie在注册新的Pendle市场时,错误地假设所有由Pendle Finance创建的市场都是合法的。然而,Pendle Finance的市场创建流程是开放式的,允许任何人创建市场,并且其中的关键参数如SY合约地址,可以由用户自定义。攻击者利用这一点,创建了一个包含恶意SY合约的市场合约,并利用Penpie池子在获取奖励时需要对外部SY合约进行调用的机制,借助闪电贷为市场和池子添加了大量的流动性,从而人为放大了奖励数额,最终实现了获利。
攻击步骤分析
攻击前置准备
交易哈希:0x7e7f9548f301d3dd863eac94e6190cb742ab6aa9d7730549ff743bf84cbd21d1
1. 首先,攻击者通过PendleYieldContractFactory合约的createYieldContract函数创建了PT和YT收益合约,将SY设置为攻击合约地址,并以此调用PendleMarketFactoryV3合约的createNewMarket函数,创建了对应的市场合约0x5b6c_PENDLE-LPT。
2. 接着,攻击者使用PendleMarketRegisterHelper合约的registerPenpiePool函数注册了Penpie池子。在此过程中,会创建存款凭证PRT代币合约及相关的rewarder合约,并在Penpie中登记池子信息。
3. 随后,攻击者调用YT合约的mintPY函数,铸造大量YT和PT,数量取决于攻击合约(SY合约)返回的汇率。
4. 紧接着,攻击者将PT存入市场0x5b6c_PENDLE-LPT并铸造LP代币。
5. 最后,攻击者将LP代币存入Penpie池子,换取存款凭证PRT代币。
正式攻击
交易哈希:0x42b2ec27c732100dd9037c76da415e10329ea41598de453bb0c0c9ea7ce0d8e5
1. 攻击者首先通过闪电贷借出大量agETH和rswETH代币。
2. 然后,攻击者调用Penpie池子的batchHarvestMarketRewards函数,批量收集指定市场的奖励,此操作触发了市场合约0x5b6c_PENDLE-LPT的redeemRewards函数。
3. 在redeemRewards函数中,外部调用了SY合约(攻击合约)的claimRewards函数。在此期间,攻击者使用闪电贷资金为奖励代币增加流动性(攻击合约中特意将奖励代币设置为两种市场代币0x6010_PENDLE-LPT和0x038c_PENDLE-LPT),并将获得的市场代币存入Penpie池子,从而获得相应的存款凭证代币。
4. 接着,这些新存入Penpie池子的市场代币会被当作计算出来的奖励,随后通过Rewarder合约的queueNewRewards函数将这些代币转移至该合约。由于0x5b6c_PENDLE-LPT市场中仅攻击者一人存款,因此可以立即调用MasterPenpie合约的multiclaim函数,提取Rewarder合约中的这部分LPT代币。
5. 最后,攻击者通过PendleMarketDepositHelper合约的withdrawMarket函数燃烧在第三步获取的存款凭证PRT,赎回市场代币,并将这些市场代币连同上一步中提取的奖励一同移除流动性,最终获取基础资产代币(agETH和rswETH),实现获利。
总结
这次安全事件暴露了Penpie在市场注册环节存在校验不足的问题,过度依赖Pendle Finance的市场创建逻辑,导致攻击者能够通过恶意合约控制奖励分配机制,从而获得超额奖励。慢雾安全团队建议项目方在注册市场时,增加严格的白名单验证机制,确保只有经过验证的市场才能被接受。此外,对于涉及外部合约调用的关键业务逻辑,应当加强审计与安全测试,以避免再次发生类似事件。
福利游戏
相关文章
更多-
- PI的未来发展前景如何
- 时间:2025-06-08
-
- 波场的未来发展前景如何
- 时间:2025-06-08
-
- RIO币详解:特性与未来前景分析
- 时间:2025-06-08
-
- SUI哪里可以买到
- 时间:2025-06-07
-
- PLAY币详解:投资潜力与价格预测
- 时间:2025-06-07
-
- Solana Meme Coin崛起:BONK、BOME热潮与WIF困境
- 时间:2025-06-07
-
- 币圈交易额详解:计算方法及市场意义
- 时间:2025-06-07
-
- Bitget平台币哪里可以买到
- 时间:2025-06-07
精选合集
更多大家都在玩
大家都在看
更多-
- 生化危机9新主角身份揭秘 老角色将回归!
- 时间:2025-06-07
-
- 洛克王国世界公平鸽怎么获得
- 时间:2025-06-07
-
- Stader上线Coinbase,质押活动引爆市场
- 时间:2025-06-07
-
- 别当韭菜!618哪款显卡划算
- 时间:2025-06-07
-
- 《归龙潮》1.6版本结束时间介绍
- 时间:2025-06-07
-
- 老人捡到手机 家属要求给1600元才肯还 官方:属于道德范畴
- 时间:2025-06-07
-
- 动画电影时间之子票房破亿 王俊凯、黄渤等配音
- 时间:2025-06-07
-
- 币圈2025十大虚拟币交易app排名
- 时间:2025-06-07