Cointime

扫码下载App
iOS & Android

偏信则暗 —— Penpie 被黑分析

By: 九九@慢雾安全团队

背景

根据慢雾安全团队情报,2024 年 9 月 4 日,去中心化流动性收益项目 Penpie 遭攻击,攻击者获利近 3 千万美元。慢雾安全团队对该事件展开分析并将结果分享如下:

https://x.com/Penpiexyz_io/status/1831058385330118831

Pendle Finance 是一种去中心化金融收益交易协议,总锁定价值超过 45 亿美元。该协议成功地与 Magpie 整合,旨在优化收益机会并增强其 veTokenomics 模型。在此基础上,Penpie 项目引入了流动性挖矿功能,使 Pendle Finance 的市场能够实现被动收益。

在 Pendle Finance 中包含以下几个重要概念:

  • PT (Principal Token):代表未来某个时间点的本金。持有 PT 代表握有本金的拥有权、并于到期后可兑换领回。例如你拥有一张 1 年后到期的 1 枚 PT-stETH 期权,那么在 1 年后你将能兑换价值 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 的市场创建逻辑,导致攻击者能够通过恶意合约控制奖励分配机制,从而获得超额奖励。慢雾安全团队建议项目方在注册市场时,增加严格的白名单验证机制,确保只有经过验证的市场才能被接受。此外,对于涉及外部合约调用的关键业务逻辑,应当加强审计与安全测试,避免再次发生类似事件。

评论

所有评论

推荐阅读

  • RWA链上交易操作系统NXT完成820万美元融资

    RWA链上交易操作系统NXT(Nexity Network)宣布完成820万美元融资,Rollman Management参投,具体估值数据暂未披露,新资金拟支持其构建循环供应链操作系统、以用于可扩展部署的企业孪生网络、交互式商务门户和产品数字化智能标签等。

  • BTC跌破108000美元

    行情显示,BTC跌破108000美元,现报107997.19美元,24小时涨幅达到2.91%,行情波动较大,请做好风险控制。

  • BTC突破109000美元

    行情显示,BTC突破109000美元,现报109000美元,24小时涨幅达到3.34%,行情波动较大,请做好风险控制。

  • 特朗普将于北京时间1月21日凌晨1点宣誓就职

    特朗普将于美东时间20日中午12点(北京时间21日凌晨1点)在美国首席大法官罗伯茨的主持下宣誓就职,特朗普随后将发表就职演说。美国三大富豪马斯克、贝佐斯、扎克伯格同框出席。两位消息人士称,特朗普正在准备上任第一天就发布大量行政命令和指令,总数可能超过100项,内容涉及移民、能源生产等。 官方活动的费用来自特朗普的就职典礼委员会。除了在国会大厦举行宣誓就职仪式的费用由纳税人承担外,其他一切费用都将由该委员会负责。贝佐斯、扎克伯格、库克和奥特曼等承诺向委员会各捐赠100万美元。据媒体报道,特朗普委员会这次筹资超过1.7亿美元 。

  • 基于区块链的动漫平台Oshi完成1250万美元融资,Polychain Capital等领投

    1月20日消息,基于区块链的动漫平台Oshi宣布完成1250万美元融资,Polychain Capital和Superscrypt领投,Folius Ventures、Sfermion、The Spartan Group、Nomad Capital、CMT Digital等参投。 据介绍,Oshi是一个基于区块链的开放式动漫平台,通过Oshi,粉丝可以直接支持他们热爱的动漫项目并获得独家优惠,该平台的IP许可基础设施使IP所有者能够保持对其作品的控制,同时与专门的全球合作伙伴建立联系。

  • PinaxChinese ·

    The Graph Indexer线上会议 #190

    支付索引的公开讨论中介绍的关键要点:-此提案的动机在于设计一种对开发者友好的方式来获取已索引的子图。-索引协议将规定要索引的子图以及每单位“已完成索引工作”的价格。-该提案包含两项保护网关的条款:初始同步的最大金额(成本较高)以及每个时期持续索引的最大金额(成本较低)。-该系统将实现自动化:索引器为每条链上存储的实体和被阻止的索引设置最低支付要求,索引协议将根据这些参数自动接受或拒绝。-Edge & Node 团队正在积极征求索引器对于运营成本的意见,以帮助确定合理的定价。

  • BlockBooster ·

    TEE打破Agent不信任三角,Phala助力Agent赛道由虚入实

    TEE打破Agent不信任三角,Phala助力Agent赛道由虚入实

  • PinaxChinese ·

    使用 Pinax 数据集和 Snowflake 轻松进行区块链数据分析

    了解如何利用 Pinax 提供的数据集高效分析区块链数据。学习我们的解决方案如何通过 Parquet 文件和 Snowflake 等托管数据库简化对 ETH 数据的访问,从而能够执行 SQL 查询以提取有价值的见解,例如每日活跃用户和热门合约活动。

  • Biteye ·

    Plume 有望成为 Q1 最大的 TGE 项目?

    @plumenetwork 作为唯一的蓝筹 RWAfi 生态系统,再加上近期受邀参加特朗普就职舞会,其实力不容忽视。即将TGE,目前还能参与吗?