原文來源:派盾
原文標題:《BSC 首現閃電貸攻擊 攻擊手法換湯不換藥 DeFi 樂高如何接招?》
在 DeFi 的世界裏,藉助於智能合約,個人創建金融產品的門檻被大幅降低。人們可以根據自己的需求,自由地設計自己的金融產品,並通過組合實現方便地交易。
目前,隨着 DeFi 協議的組合愈發豐富,涌現出大量「貨幣樂高」的協議,從以太坊生態中的初代去中心化交易所 Uniswap,到二代進化版的 Sushiswap,再到幣安智能鏈生態中的 PancakeSwap,但組合過程中的風險也逐漸凸顯出來。

5 月 2 日,DeFi 協議 Spartan Potocol 遭到黑客攻擊,PeckShield「派盾」通過追蹤和分析發現,Spartan Potocol 遭到閃電貸攻擊,損失 3,000 萬美元。
斯巴達協議 (Spartan Protocol) 是一個資產流動性項目,旨在解決現有 AMM 協議以及合成資產所出現的各類問題。斯巴達協議的流動性池是此協議的核心,所有一切系統內的相關應用都離不開流動性池的支持。SpartanSwap 應用了 THORCHAIN 的 AMM 算法。此算法採用流動性敏感資費(Liquidity-sensitive fee)來解決流動性冷啓動以及滑點問題。
以下是攻擊過程:
首先攻擊者從 PancakeSwap 中借出閃電貸 10,000 WBNB;
第二步,攻擊者在出現漏洞的 Spartan 兌換池中,分五次將 WBNB 兌換成 SPARTAN,用 1,913.172376149853767216 WBNB 分別兌換了 621,865.037751148871481851 SPARTA、555,430.671213257613862228 SPARTA, 499,085.759047974016386321 SPARTA, 450,888.746328171070956525 SPARTA, 和 409,342.991760515634291439 SPARTA。此時攻擊者手撰 2,536,613.206101067206978364 SPARTA 以及 11,853.332738790033677468 WBNB, 攻擊者將這些 Tokens 注入流動池中提供流動性,鑄造出 933,350.959891510782264802 代幣 (SPT1-WBNB);
第三步,攻擊者運用同樣的手法,在出現漏洞的兌換池中分十次將 WBNB 兌換成 SPARTAN,用 1,674.025829131122046314 WBNB 分別兌換了 336,553.226646584413691711 SPARTA, 316,580.407937459884368081 SPARTA, 298,333.47575083824346321 SPARTA, 281,619.23694472865873995 SPARTA, 266,270.782888292437349121 SPARTA, 252,143.313661963544185874 SPARTA, 239,110.715943602161587616 SPARTA, 227,062.743086833745362627 SPARTA, 215,902.679301559370989883 SPARTA, 和 205,545.395265586231012643 SPARTA,總計 2,639,121.977427448690750716 SPARTA。
第四步,攻擊者將 21,632.147355962694186481 WBNB 和所有的 SPARTA,即上面三步中所獲的 2,639,121.977427448690750716 SPARTA 轉入流動池中,來擡高資產價格。
第五步,燒燬從第二步所獲得的 933,350.959891510782264802 代幣 (SPT1-WBNB),提回流動性,由於流動池處於通脹狀態,共計燒燬 2,538,199.153113548855179986 SPARTA 和 20,694.059368262615067224 WBNB,值得注意的是,在第二步中,攻擊者僅兌換了 11,853.332738790033677468 WBNB,此時攻擊者獲利 9,000 WBNB;
第六步,攻擊者在第四步中注入 1,414,010.159908048805295494 pool token 爲流動池提供流動性,隨即啓動燒燬機制獲取 2,643,882.074112804607308497 SPARTA 和 21,555.69728926154636986 WBNB。
攻擊者調用了流動性份額函數 calcLiquidityShare() 查詢當前餘額,進而操縱餘額套利,正確的操作需使用 baseAmountPooled/tokenAmountPooled 狀態。

DeFi 系統的運行需要由智能合約進行保證,這就要求智能合約的代碼進行過縝密的審覈。一旦智能合約中存在着任何漏洞,它就可能成爲黑客攻擊的對象。
在傳統的條件下,黑客們攻擊金融系統時所憑藉的主要是他們在計算機技術上的優勢,而在現有的 DeFi 生態下,由於各鏈、各應用之間的互通性還並不是那麼好,因此跨鏈、跨應用之間的套利機率可能較大。這時,即使一個計算機本領不那麼強的人,只要他有足夠的金融知識和足夠的市場嗅覺,就也可以成爲黑客,對 DeFi 系統進行攻擊。
黑客通過區塊鏈上的閃電貸,以很小的成本借出大筆資金,然後用這筆資金去造成一些數字資產的價格波動,再從中漁利,最初興起於以太坊,隨着幣安智能鏈等 CeFi + DeFi 生態上的資產愈發豐富,黑客也在隨時伺機待發。
PeckShield「派盾」相關負責人表示:「攻擊手法仍換湯不換藥,只是從一條鏈轉到了另一條鏈,DeFi 協議開發者應在攻擊發生後,自查代碼。如果對此不瞭解,應找專業的審計機構進行審計和研究,防患於未然。」
歡迎加入律動 BlockBeats 官方社群:
Telegram 訂閱群:https://t.me/theblockbeats
Telegram 交流群:https://t.me/BlockBeats_App
Twitter 官方帳號:https://twitter.com/BlockBeatsAsia