币妈妈

下载
币妈妈>资讯>正文

JulSwap閃電貸攻擊分析及事件後續

创宇区块链安全实验室2021-05-31 12:01:21

事件起因

2021 年 5 月 28 日,有消息稱 BSC 鏈上DEX協議、自動化的流動性協議的 JulSwap 遭到閃電貸攻擊,知道創宇區塊鏈安全實驗室第一時間展開分析並將攻擊結果簡訊分享給大家,供參考研究。

JulSwap閃電貸攻擊分析及事件後續

事件分析

攻擊者交易:

https://bscscan.com/tx/0x1751268e620767ff117c5c280e9214389b7c1961c42e77fc704fd88e22f4f77a攻擊合約地址:0x7c591aab9429af81287951872595a17d5837ce03

JulSwap閃電貸攻擊分析及事件後續

1. 通過交易記錄可以看出攻擊者通過閃電貸借到70000個 JULB 代幣,然後調用 JULB-WBNB 的交易對進行兌換得到1400個 BNB,這時攻擊合約中就有了1400個 WBNB。

2. 隨後攻擊合約調用JulProtocolV2合約(0x41a2F9AB325577f92e8653853c12823b35fb35c4)的 addBNB 函數進行抵押挖礦。該函數的功能就是通過轉入 WBNB,合約會計算出相應需要多少 JULB 代幣進行添加流動性挖礦,隨後會記錄轉入的 WBNB 的數量用於抵押挖礦,函數代碼如下所示。

JulSwap閃電貸攻擊分析及事件後續

3.由於閃電貸兌換了 WBNB,所以 JulProtocolV2 合約錯誤的計算出了14.4w個 JULB 代幣能與515個 WBNB 去交易對中添加流動性,並把 lp 代幣轉入了 JulProtocolV2 合約。此時攻擊合約還剩下885個 WBNB。

4.攻擊者再用剩下的 WBNB 兌換為 JULB,由於 pair 中添加了大量的 JULB 代幣的流動性,所以在兌換時隻需要363個 WBNB 就可以兌換出7w個 JULB 代幣用於還貸,合約還剩下885-363=522個 WBNB,最後把這些 WBNB 轉入錢包地址,攻擊者就完成了一次閃電貸套利。

事件後續

JULBSWAP 的 CEO 在 twitter 中發推文稱此次事件由於閃電貸造成的兌換套利,官方將在後續更換新的版本並嚐試開始回購 JULB 代幣用於補償用戶。後續事件如果有新進展,實驗室將會持續跟進,同時我們提醒各大項目方在 defi 項目中一定要做好代碼審計測試,特別是在一些原有功能需求的更改上一定要做好數據測試和安全控製。

JulSwap閃電貸攻擊分析及事件後續

JulSwap閃電貸攻擊分析及事件後續

声明:该文观点仅代表作者本人,币妈妈信息发布平台,币妈妈仅提供信息存储空间服务。

相关阅读