About 27 million US dollars of crypto assets were stolen. Why was Penpie "bloodbathed" by hackers?

All articles2个月前更新 wyatt
18 0 0
9 月 4 日,建立在 Pendle 上的 DeFi 协议 Penpie 遭到黑客攻击,被steal取约 2700 万美元的加密资产。

Written by Beosin

2024 年 09 月 04 日,据 Beosin Alert 监测显示,建立在 Pendle 上的 DeFi 协议 Penpie 遭到黑客攻击,被steal取约 2700 万美元的加密资产。Beosin Safety团队第一时间对事件进行了分析,结果如下。

Penpie 是一个与 Pendle Finance 集成的 DeFi 平台,专注于锁定 PENDLE Token以获得 Pendle Finance 内的治理权和增强的收益收益。Penpie 旨在为 Pendle Finance 用户提供收益和 veTokenomics 提升服务。

事件相关信息

●攻击交易

0x56e09abb35ff12271fdb38ff8a23e4d4a7396844426a94c4d3af2e8b7a0a2813

●攻击者地址

0xc0Eb7e6E2b94aA43BDD0c60E645fe915d5c6eb84

●攻击contract

0x4aF4C234B8CB6e060797e87AFB724cfb1d320Bb7

●被攻击contract

0x6Xiaobai Navigatione799758cee75dae3d84e09d40dc416ecf713652

漏洞分析

本次事件主要是攻击者利用 market 合约中 claimRewards 函数重入质押以提高 staking 合约余额,再将 staking 合约中多余的Token和质押资产提取以获利。

攻击流程

攻击准备阶段:

1. 攻击者通过攻击合约调用用 Penpie 协议中的 Factory 合约创建了新的 market 以及 Yield,其中将 SY 设置为攻击合约。

0xfda0dde38fa4c5b0e13c506782527a039d3a87f93f9208c104ee569a642172d2

被盗约 2700 万美元的加密资产,Penpie 为何被黑客「血洗」?

2.攻击者进行闪电贷了四种Token,为后续抵押资金作储备。并调用 staking 合约中的 batchHarvestMarketRewards 函数对新创建的 market 进行奖励更新。

被盗约 2700 万美元的加密资产,Penpie 为何被黑客「血洗」?

3.在 batchHarvestMarketRewards 函数中,对 market 进行奖励更新时,会调用 market 合约中的 redeemRewards 函数。并且合约记录了 redeemRewards 函数前后的余额变化。

被盗约 2700 万美元的加密资产,Penpie 为何被黑客「血洗」?

4.在 market 的 redeemRewards 函数中,会调用到 SY 合约中的 claimReward 函数。然而 SY 合约是攻击合约,攻击合约通过这个函数完成了对 Staking 合约的重入,将闪电贷的资金抵押到 Staking 合约,共 4 次。

被盗约 2700 万美元的加密资产,Penpie 为何被黑客「血洗」?

被盗约 2700 万美元的加密资产,Penpie 为何被黑客「血洗」?

5.这时回到 Staking,由于 redeemRewards 函数前后余额差明显,触发了_sendRewards 函数,_sendRewards 函数最后调用的_queueRewarder 会将多余的代币授权给 market 合约并记录为奖励。

被盗约 2700 万美元的加密资产,Penpie 为何被黑客「血洗」?

6.攻击者领取记录的奖励。

被盗约 2700 万美元的加密资产,Penpie 为何被黑客「血洗」?

7.攻击者将质押的资产通过 withdraw 函数提取,并归还闪电贷进行获利。

被盗约 2700 万美元的加密资产,Penpie 为何被黑客「血洗」?

Pendle 随后发布攻击分析报告:发现漏洞后立即暂停合约,使 1.05 亿美元资产免受进一步损失。

资金追踪

截止发文时,被盗资金约 2700 万美元,Beosin Trace 追踪发现攻击者已将被盗资金全部转换为 ETH,资金先存放在 0x2f2dDE668e5426463E05D795f5297dB334f61C39 地址。

被盗约 2700 万美元的加密资产,Penpie 为何被黑客「血洗」?

截止发文,Penpie 攻击者地址向 Tornado Cash 陆续转移了 2900 枚 ETH(价值约 690 万美元)。

目前,Penpie 项目方也通过链上向黑客喊话,希望与黑客进行沟通返还被盗资金,如果返还可以支付赏金。并附上了联系方式。

Summarize

针对本次事件,Beosin Safety团队建议:1.对合约的相关函数增加防重入修饰器;2.不使用白名单对传入代币进行校验的话,最好使用统一的包装合约重新生成代币;3.项目上线前,强烈建议选择专业的Safety审计公司进行全面的Safety审计,规避安全风险。

The article comes from the Internet:About 27 million US dollars of crypto assets were stolen. Why was Penpie "bloodbathed" by hackers?

相关推荐: 如何看待 Babylon 主网上线的后续市场影响?

Babylon 没有「软肋」,但 BTC layer2 市场也不能仅依托 Babylon。 撰文:Haotian 如何看待 @babylonlabs_io 主网上线后的后续市场影响?毫无疑问,会像 Eigenlayer 之于以太坊一样给比特币生态掀起一波 St…

share to
© 版权声明

相关文章