
被盜約 2700 萬美元的加密資產,Penpie 為何被黑客「血洗」?
TechFlow Selected深潮精選

被盜約 2700 萬美元的加密資產,Penpie 為何被黑客「血洗」?
9 月 4 日,建立在 Pendle 上的 DeFi 協議 Penpie 遭到黑客攻擊,被盜取約 2700 萬美元的加密資產。
撰文:Beosin
2024 年 09 月 04 日,據 Beosin Alert 監測顯示,建立在 Pendle 上的 DeFi 協議 Penpie 遭到黑客攻擊,被盜取約 2700 萬美元的加密資產。Beosin 安全團隊第一時間對事件進行了分析,結果如下。
Penpie 是一個與 Pendle Finance 集成的 DeFi 平臺,專注於鎖定 PENDLE 代幣以獲得 Pendle Finance 內的治理權和增強的收益收益。Penpie 旨在為 Pendle Finance 用戶提供收益和 veTokenomics 提升服務。
事件相關信息
●攻擊交易
0x56e09abb35ff12271fdb38ff8a23e4d4a7396844426a94c4d3af2e8b7a0a2813
●攻擊者地址
0xc0Eb7e6E2b94aA43BDD0c60E645fe915d5c6eb84
●攻擊合約
0x4aF4C234B8CB6e060797e87AFB724cfb1d320Bb7
●被攻擊合約
0x6e799758cee75dae3d84e09d40dc416ecf713652
漏洞分析
本次事件主要是攻擊者利用 market 合約中 claimRewards 函數重入質押以提高 staking 合約餘額,再將 staking 合約中多餘的代幣和質押資產提取以獲利。
攻擊流程
攻擊準備階段:
1. 攻擊者通過攻擊合約調用用 Penpie 協議中的 Factory 合約創建了新的 market 以及 Yield,其中將 SY 設置為攻擊合約。
0xfda0dde38fa4c5b0e13c506782527a039d3a87f93f9208c104ee569a642172d2

2.攻擊者進行閃電貸了四種代幣,為後續抵押資金作儲備。並調用 staking 合約中的 batchHarvestMarketRewards 函數對新創建的 market 進行獎勵更新。

3.在 batchHarvestMarketRewards 函數中,對 market 進行獎勵更新時,會調用 market 合約中的 redeemRewards 函數。並且合約記錄了 redeemRewards 函數前後的餘額變化。

4.在 market 的 redeemRewards 函數中,會調用到 SY 合約中的 claimReward 函數。然而 SY 合約是攻擊合約,攻擊合約通過這個函數完成了對 Staking 合約的重入,將閃電貸的資金抵押到 Staking 合約,共 4 次。


5.這時回到 Staking,由於 redeemRewards 函數前後餘額差明顯,觸發了_sendRewards 函數,_sendRewards 函數最後調用的_queueRewarder 會將多餘的代幣授權給 market 合約並記錄為獎勵。

6.攻擊者領取記錄的獎勵。

7.攻擊者將質押的資產通過 withdraw 函數提取,並歸還閃電貸進行獲利。

Pendle 隨後發佈攻擊分析報告:發現漏洞後立即暫停合約,使 1.05 億美元資產免受進一步損失。
資金追蹤
截止發文時,被盜資金約 2700 萬美元,Beosin Trace 追蹤發現攻擊者已將被盜資金全部轉換為 ETH,資金先存放在 0x2f2dDE668e5426463E05D795f5297dB334f61C39 地址。

截止發文,Penpie 攻擊者地址向 Tornado Cash 陸續轉移了 2900 枚 ETH(價值約 690 萬美元)。
目前,Penpie 項目方也通過鏈上向黑客喊話,希望與黑客進行溝通返還被盜資金,如果返還可以支付賞金。並附上了聯繫方式。
總結
針對本次事件,Beosin 安全團隊建議:1.對合約的相關函數增加防重入修飾器;2.不使用白名單對傳入代幣進行校驗的話,最好使用統一的包裝合約重新生成代幣;3.項目上線前,強烈建議選擇專業的安全審計公司進行全面的安全審計,規避安全風險。
歡迎加入深潮 TechFlow 官方社群
Telegram 訂閱群:https://t.me/TechFlowDaily
Twitter 官方帳號:https://x.com/TechFlowPost
Twitter 英文帳號:https://x.com/BlockFlow_News












