BSC 鏈上的FSwap 項目遭到閃電貸攻擊,直接導致損失超39 萬美元。前言
北京時間2022 年6 月13 日,知道創宇區塊鏈安全實驗室監測到BSC 鏈上的FSwap 去中心化交易所項目遭到閃電貸攻擊,導致損失1751 枚BNB 約39 萬美元。
知道創宇區塊鏈安全實驗室第一時間跟踪本次事件並分析。
基礎信息
FSwap 是一個去中心化交易所項目,可實現對加密資產的鏈上高效清算和資產的跨鏈交易。
攻擊者地址:0x000c84c59385b64c3ea4d48cc3fca1f08f3abcfc
攻擊合約:0x7437e7a923a5b467a197c6fae991f0f0ced9af57
tx:0xe75e30dafd865331e6a002d50effe084c21e413c96d4550d5e09cf647686fcbe
FSwapPair合約:0x0d5F1226bd91b5582F6ED54DeeE739CAC49C37Db
漏洞分析
漏洞關鍵在於FSwapPair 合約中的swap 方法在每次交易計算手續費時會將pair 合約中的儲備token 當作手續費發送給feeto 地址,這將會導致池子中的代幣數量減少,從而引起代幣價格上漲,攻擊者能夠從中套利。
攻擊流程
1、攻擊者使用閃電貸在BiSwap 中貸款300 萬枚BSC-USD 代幣,並使用255 萬枚BSC-USD 代幣在Fswap 中換取54 萬餘枚MC 代幣;
2、隨後攻擊者在合約中反復多次貸-還閃電貸以此消耗池子中的MC 代幣,使得池中中得MC 代幣數量急劇減少,價格也迅速上漲;
3、攻擊者立刻在池子中置換手中的MC 代幣獲取大量BSC-USD 代幣;
4、攻擊者償還閃電貸,將剩餘BSC-USD 代幣進行swap,獲利1751 枚BNB,最後自毀合約離場。
總結
本次攻擊事件核心是項目方誤將手續費收取方設定為pair 合約而不是用戶本身,從而導致池子中的代幣數量能夠被消耗,發生套利風險。
建議項目方在編寫項目時應對函數中的手續費收取邏輯實現進行嚴格的審查,此處應該將手續費收取對象設置為用戶而不是pair 合約。
在此提醒項目方發布項目後一定要將私鑰嚴密保管,謹防網絡釣魚。另外,近期各類合約漏洞安全事件頻發,合約審計、風控措施、應急計劃等都有必要切實落實。
展開全文打開碳鏈價值APP 查看更多精彩資訊