Back to Blog

每週 Web3 安全事件彙整 | 2026年3月2日至3月8日

Code Auditing
March 11, 2026
19 min read

在過去一週(2026/03/02 - 2026/03/08),BlockSec 偵測並分析了七起攻擊事件,估計總損失約為 $3.25M。下表彙整了這些事件的概況,各事件的詳細分析請見後續小節。

日期 事件 類型 估計損失
2026/03/01* BUBU2 事件 代幣設計缺陷 ~$19.7K
2026/03/02 ACPRoute 事件 業務邏輯缺陷 ~$58K
2026/03/02 sDOLA Llamalend Market 事件 價格操控 ~$239K
2026/03/03 z0r0z V4 Router 事件 業務邏輯缺陷 ~$42K
2026/03/05 BitcoinReserveOffering 合約事件 業務邏輯缺陷 ~$2.7M
2026/03/07 MoltEVM 事件 業務邏輯缺陷 ~$127K
2026/03/08 LEDS 事件 業務邏輯缺陷 ~$64K

*BUBU2 事件在上週的報告中遺漏,於此補充以確保完整性。


1. BUBU2 事件

簡要摘要

2026 年 3 月 1 日,BNB Chain 上的 BUBU2 代幣遭到攻擊,損失約 $19.7K。根本原因是代幣設計缺陷:合約內嵌了一個隨時間累積的通縮機制,會在轉帳時直接從 AMM 交易對的儲備中扣除代幣。合約擁有者在攻擊前將觸發間隔縮短至不合理的極小值,導致數百輪銷毀在單次呼叫中累積並執行。攻擊者利用閃電貸觸發此機制,使交易對的儲備崩潰並推高代幣價格,再以扭曲的匯率進行反向兌換獲利。

背景

BUBU2 是部署在 BNB Chain 上的通縮型 ERC-20 代幣協議。該協議內嵌了由 burnAndMintSwitch 控制的週期性通縮引擎:一旦擁有者透過 setBurnAndMintSwitch(true) 啟用後,任何非豁免的轉帳觸發 _update() 鉤子時,都會呼叫 _triggerDailyBurnAndMint(),根據自上次觸發以來經過的 TRIGGER_INTERVAL 週期數,按比例從交易對的 BUBU2 餘額中銷毀代幣,並相應同步儲備。

漏洞分析

根本原因是 BUBU2 代幣合約(0x3fF3...ee52)的設計缺陷。合約在其 _update() 鉤子中內嵌了週期性通縮機制:觸發時,`_triggerDailyBurnAndMint()` 會計算自上次執行以來經過的 `TRIGGER_INTERVAL` 週期數,並直接從交易對([0x7745...cd2f](https://bscscan.com/address/0x774547ea9d2a0cc79db3288f61e989f1b06bcd2f))中按比例銷毀 `BUBU2`,隨後呼叫 sync() 更新儲備。關鍵問題在於,擁有者可以在沒有任何時間鎖或最小值限制保護的情況下重新設定 TRIGGER_INTERVAL

在攻擊前,擁有者呼叫了 setBurnAndMintSwitch(true),然後呼叫 setTriggerInterval(120),將間隔從預設的 6 小時壓縮至 120 秒。由於 lastTriggerTime 仍錨定在數小時前,下一次觸發時計算出了數百個累積輪次,且銷毀量與輪次線性成比例。這導致單次轉帳即從交易對中抽走大量 BUBU2,使其儲備崩潰,並將代幣價格推高約 11 倍。

攻擊分析

以下分析基於交易 0x1bc0...141c0x191c...1ee40xd6e5...51a6

  • 步驟 1:代幣擁有者首先透過 setBurnAndMintSwitch(true) 啟用週期性通縮機制,然後透過 setTriggerInterval(120) 將觸發間隔從預設的 6 小時縮短至 120 秒。攻擊者隨後透過閃電貸借入 18 WBNB,並從池中兌換出約 18,715,856 BUBU2
  • 步驟 2:攻擊者發起一筆小額轉帳,觸發 _triggerDailyBurnAndMint()。池中的 BUBU2 餘額減少了約 1,025,988,664e18 枚代幣,在 sync() 執行後,儲備中僅剩 6,493,352e18 BUBU2,使 BUBU2 價格推高約 200 倍。
  • 步驟 3:攻擊者將步驟 1 中取得的 BUBU2 以推高後的價格賣回池中,獲得約 50 WBNB。扣除閃電貸還款後,淨利潤約為 32 WBNB

結論

BUBU2 漏洞源於代幣合約的關鍵設計缺陷。擁有者設定了不合理的極小 TRIGGER_INTERVAL,使得累積的時間轉換成數百輪次,並在單次呼叫中耗盡交易對的儲備,導致 BUBU2 價格劇烈飆升。

為降低未來類似風險:

  • TRIGGER_INTERVAL 等關鍵參數設置邊界或時間鎖進行保護。

  • 限制或設定累積執行輪次的上限。


2. ACPRoute 事件

簡要摘要

2026 年 3 月 2 日,Base 上的 ACPRoute 協議遭到攻擊,損失約 $58K。根本原因是支付管理合約中存在業務邏輯缺陷:任務狀態以記憶體副本而非儲存引用的方式載入,導致累計撥付追蹤資料從未持久化至鏈上。這使得攻擊者能夠建立任務,在階段轉換時觸發自動付款釋放,然後再透過無許可的領取函數第二次領取相同的託管資金。

背景

ACP(Agent Commerce Protocol)是一個模組化鏈上商務協議,專為客戶端與服務提供方互動而設計。它將活動分為三層結構:帳戶、任務與備忘錄。任務遵循固定的生命週期(REQUEST → NEGOTIATION → TRANSACTION → EVALUATION → COMPLETED),付款在 TRANSACTION 階段由 PaymentManager 合約託管。當任務進入 COMPLETED 狀態時,協議透過 releasePayment() 函數將託管資金釋放給服務提供方。為防止重複領取,協議使用 Job 結構體上的 amountClaimed 欄位追蹤每個任務的累計撥付金額。每次呼叫 releasePayment() 函數時,預期會將請求金額與 amountClaimed 進行比較,以確保資金僅被釋放一次。

漏洞分析

根本原因在於 PaymentManager 合約(0x56c3...0684)的 releasePayment() 函數中,任務狀態以記憶體副本而非儲存引用的方式載入。雖然協議透過 amountClaimed 追蹤累計撥付金額以防止重複領取,但 job.amountClaimed += amount 的遞增操作僅作用於暫時性的本地副本,從未寫回鏈上儲存。因此,每次呼叫 releasePayment() 函數時都會觀察到 amountClaimed == 0,使得攻擊者可以在階段轉換已自動觸發 releasePayment() 函數之後,再次呼叫 claimBudget() 函數,對受害合約(0x307e...d6e8)進行第二次抽取。

攻擊分析

以下分析基於交易 0xe94a...f9a0

  • 步驟 1:攻擊者透過閃電貸借入 97,000e6 USDC 作為後續攻擊的資本。

  • 步驟 2:在回調函數內,攻擊者呼叫 ACPRouter 上的 createJob() 函數,同時部署一個全新的服務提供方合約(0x1ee502dd...)來接收資金。

  • 步驟 3:攻擊者反覆呼叫 createMemo() 函數,並呼叫服務提供方合約自身的 exec() 來推進任務階段,直至觸發 COMPLETED 階段轉換,自動呼叫 releasePayment() 函數並將全部餘額釋放至服務提供方合約。此時 amountClaimed 本應被更新,但其儲存中的值仍為 0。

  • 步驟 4:攻擊者呼叫 claimBudget() 函數,成功第二次領取託管的 97,000e6 USDC 作為利潤。

結論

此事件由狀態持久化缺陷引起,導致託管資金在同一任務生命週期內被領取兩次。

為降低未來類似風險:

  • 確保關鍵狀態變數(如 amountClaimed)使用儲存引用進行更新。

  • 限制敏感支付函數的存取,或在執行前強制進行嚴格的狀態驗證。


3. sDOLA Llamalend Market 事件

簡要摘要

2026 年 3 月 2 日,以太坊上的 sDOLA Llamalend Market 遭到攻擊,損失約 $239K。根本原因是價格操控。具體而言,sDOLA 是一種 ERC4626 代幣,其價格可透過 donate() 進行操控。Llamalend 是基於 AMM 的借貸市場,由於 LLAMMA 的機制,即使抵押品價格上漲,使用者仍可能面臨清算。因此,攻擊者可利用 donate() 推高 sDOLA 價格,使使用者的倉位健康度降至零以下,進而清算這些使用者獲利。

背景

LLAMMA(Lending-Liquidating AMM Algorithm)是 Curve [1] 使用的基於 AMM 的借貸市場。與傳統借貸協議不同,LLAMMA 將使用者抵押品置於 AMM 的價格帶中。隨著預言機價格 PoracleP\\_{oracle} 的變動,抵押品透過跨帶套利驅動的兌換(軟清算)在抵押代幣與 crvUSD 之間逐步轉換,以漸進方式降低倉位風險,而非觸發突發性清算。

若軟清算無法及時降低倉位風險,則會觸發硬清算 [2],當倉位健康度降至零以下時觸發。健康度透過 get_x_down() [3] 計算,該函數並非簡單地將抵押品按市價標記,而是模擬使用者倉位的往返轉換以評估其可回收價值。此往返過程使用兩個不同的價格錨點:一個來自當前 PoracleP\\_{oracle}(隨即時預言機變動),另一個來自使用者的帶邊界(在創建倉位時固定)。

漏洞分析

存在漏洞的合約包括 crvUSD Controller(0xad44...fb86)和 LLAMMA AMM(0x0079...a1f7)。受害合約是 sDOLA Llamalend market(0x2b08...4fbe)。

sDOLA 是一種 ERC4626 金庫代幣,其份額價格由總資產與總份額之比決定。由於任何人都可以呼叫 donate() 向金庫添加資產,因此可以在單筆交易中推高份額價格。這就是 LLAMMA 健康函數所依賴的可操控預言機。

如背景所述,get_x_down() 透過兩個價格錨點的往返轉換模擬計算健康度:一個來自 PoracleP\\_{oracle}(動態,隨即時預言機變動),另一個來自使用者的帶邊界(靜態,在創建倉位時固定)。協議在讀取 PoracleP\\_{oracle} 時不施加任何延遲或合理性檢查。因此,當預言機價格被推高時,動態錨點上升而靜態錨點保持不變。實際上,模擬以推高的預言機價格將 crvUSD 轉換為抵押品,再以原始帶價格轉換回來,因此兩個錨點之間的差距越大,評估的可回收價值就越小。即使抵押品價格上漲,這仍會使健康度降至零以下。

攻擊分析

以下分析基於交易 0xb935...d8a4

  • 步驟 1:操控 LLAMMA 狀態(大額兌換),移動 active_band,將許多使用者推入僅持有 x 的姿態(僅持有 crvUSD)。
  • 步驟 2:透過捐贈操控 sDOLA 的價格,然後使用零金額兌換(swap(0))將操控後的價格寫入 AMM 池。
  • 步驟 3:透過 users_to_liquidate() -> _health() -> get_x_down() 觸發健康度重新計算。

  • 步驟 4:由於 get_x_down() 透過兩個分歧的價格錨點(現已推高的動態錨點與不變的靜態錨點)計算可回收價值,往返轉換對有效價值產生折扣,許多倉位的健康度降至零以下。

  • 步驟 5:批次硬清算這些使用者獲利。

此外,追蹤記錄中包含兩次 create_loan() 呼叫。第一筆貸款主要用於資助大規模的 crvUSD 兌換操作。第二筆貸款用於獲取 crvUSD 以償還第一個倉位的債務並回收資金。這兩筆貸款主要是融資/結算環節,並非核心攻擊步驟本身。

結論

此事件是一次抵押品價格操控攻擊。攻擊者在交易中操控 sDOLA 價格,並由於 LLAMMA 基於路徑的健康機制,將使用者推入清算條件。一個關鍵後果是,即使抵押品價格上漲,倉位仍可能面臨清算。建議的強化方向:

  • 對清算使用延遲或 TWAP 抵押品價格。

參考資料

  • [1] Curve crvUSD LLAMMA 文件:[https://dev.curve.finance/crvUSD/amm/#bands](https://dev.curve.finance/crvUSD/amm/#bands)

  • [2] Curve LLAMMA 清算說明:[https://dev.curve.finance/crvUSD/llamma-explainer/#liquidation](https://dev.curve.finance/crvUSD/llamma-explainer/#liquidation)

  • [3] Curve 穩定幣白皮書:[https://docs.curve.finance/pdf/whitepapers/whitepaper\_curve\_stablecoin.pdf](https://docs.curve.finance/pdf/whitepapers/whitepaper_curve_stablecoin.pdf)


4. z0r0z V4 Router 事件

簡要摘要

2026 年 3 月 3 日,以太坊上的 z0r0z V4 Router 遭到攻擊,損失約 $42K。此次攻擊是由 swap() 函數中存在缺陷的授權邏輯所引起:路由器使用內聯彙編中的固定 calldata 偏移量來驗證付款方是否與 msg.sender 相符。由於動態類型的 ABI 編碼無法保證固定佈局,攻擊者得以構造非標準但有效的 calldata 繞過檢查,冒充先前已批准的受害者作為付款方,並將兌換輸出重定向至攻擊者控制的地址。

背景

該協議繼承自 Uniswap v4 Router 並覆蓋了部分方法。本質上,它作為一個兌換路由器,允許使用者無需直接與對應的池互動,而是使用路由器作為統一入口點。

漏洞分析

根本原因是 V4 Router 合約(0x0000...ce97)存在業務邏輯缺陷。受害合約為 0x65a8...7675swap() 函數接受兩個參數:data(bytes)和 deadline(uint256)。在函數內部,授權檢查使用內聯彙編區塊將 calldataload(164)caller() 進行比較,確保 data 中編碼的付款方與 msg.sender 相符。協議假設 bytes 偏移量始終為 0x40,將付款方置於字節位置 164(0xa4)。

然而,ABI 編碼無法保證此佈局:動態參數在頭部僅儲存偏移量,且該偏移量可以合法地指向 calldata 中任何對齊的位置。透過構造有效但非標準的編碼(將 bytes 偏移量移至 0xc0),攻擊者可以在頭部和實際尾部之間插入任意填充。攻擊者將自己的地址置於字節位置 164 以通過彙編檢查,而位於重定位尾部的真實 bytes 負載則將受害者地址編碼為付款方。透過選擇先前已批准路由器的受害者並將接收者設定為自己的地址,攻擊者可以重定向兌換輸出並竊取資金。

攻擊分析

以下分析基於交易 0xfe34...466a

  • 步驟 1:選擇一位先前已批准路由器的使用者作為目標。

  • 步驟 2:構造 calldata 以繞過授權檢查。

  • 步驟 3:在 data 中將受害者指定為付款方,將攻擊者自己的地址設定為代幣接收者,然後竊取受害者的資產。

結論

此事件是由於在兌換路徑中依賴硬編碼的 calldata 偏移量進行授權所導致。由於動態類型的 ABI 編碼無法保證固定佈局,攻擊者利用非標準但有效的 calldata 繞過檢查,冒充已批准的受害者作為付款方,並重定向了兌換輸出。

為降低未來類似風險:

  • 切勿依賴硬編碼的 calldata 偏移量來處理動態 ABI 編碼參數。

  • 使用規範的 ABI 解碼而非手動位置假設來解碼和驗證結構化輸入。

  • 確保實際的付款方、接收者和代幣流向始終與預期的呼叫者和執行上下文保持一致驗證。


5. BitcoinReserveOffering 合約事件

簡要摘要

2026 年 3 月 5 日,以太坊上的 BitcoinReserveOffering 合約遭到攻擊,損失約 $2.7M。根本原因是業務邏輯缺陷:在處理完整的 ERC-3525 SFT 存入時,鑄造邏輯在單次呼叫中被執行了兩次——一次在轉帳回調期間,一次在主流程中。攻擊者透過反覆的銷毀和鑄造循環利用此雙重鑄造行為,以指數級膨脹其 BRO 代幣餘額,然後將超額部分贖回為 SolvBTC 獲利。

背景

BitcoinReserveOffering 是一個包裝合約,將 ERC-3525 SFT 倉位轉換為可轉讓的 ERC-20 BRO 代幣。使用者可以呼叫 mint() 函數存入符合條件的 SFT,合約將根據設定的匯率鑄造相應數量的 BRO。若使用者僅存入 SFT 價值的一部分,合約會將指定金額轉入其內部持有的倉位,然後鑄造相應價值的 BRO。若使用者存入完整的 SFT,合約會將整個代幣轉入包裝合約,並根據 SFT 的總價值鑄造 BRO。使用者之後可以呼叫 burn() 函數將 BRO 贖回為對應的 ERC-3525 SFT 倉位,將包裝的 ERC-20 價值轉換回 SFT 倉位。

漏洞分析

根本原因是 BitcoinReserveOffering 合約(0x15f7...cfcf)在 mint() 函數處理完整的 ERC-3525 SFT 存入時,執行了兩次鑄造邏輯。具體而言,在 amount_ == sftBalance 分支中,mint() 呼叫 ERC3525TransferHelper.doSafeTransferIn() 以安全地將整個 SFT 轉入合約,這會觸發 onERC721Received() 回調。在此回調中,合約已計算 SFT 的價值並向發送者鑄造 BRO。回調返回後,mint() 繼續執行,使用相同的 amount_ 重新計算價值,並再次執行 _mint(msg.sender, value) 操作。此雙重鑄造行為使攻擊者能夠透過銷毀-鑄造循環反覆膨脹其 BRO 餘額。

攻擊分析

以下分析基於交易 0x44e6...958d

  • 步驟 1:攻擊者將 135e18 BRO 代幣轉入攻擊合約作為種子資本。

  • 步驟 2:攻擊者執行以下循環:

  1. 將 135e18 BRO 代幣包裝成一個 SFT 代幣。

  2. 以完整的 SFT 價值呼叫 mint(),觸發 onERC721Received() 回調並鑄造 135e18 BRO 代幣;外層 mint() 繼續執行並再次呼叫 _mint(),導致共雙重鑄造出 270e18 BRO 代幣。

  3. 將 270e18 BRO 代幣重新包裝成一個 SFT 代幣。

  • 步驟 3:將步驟 2 重複 22 次後,攻擊者累積了約 567,758,816e18 BRO 代幣,最終贖回為 38e18 SolvBTC 作為利潤。

結論

此事件是由完整 SFT 存入時的雙重鑄造引起,使攻擊者能夠透過反覆的銷毀-鑄造循環以指數級膨脹其 BRO 餘額,並將超額部分贖回為 SolvBTC

為降低未來類似風險:

  • 確保每次存入操作僅執行一次資產計算。

  • 添加不變量檢查,防止鑄造金額超過底層存入價值。


6. MoltEVM 事件

簡要摘要

2026 年 3 月 7 日,Base 上的 MoltEVM 協議遭到攻擊,損失約 $127K。根本原因是代幣合約中存在缺陷的存取控制邏輯:特權鑄造函數受一個修飾符保護,該修飾符僅檢查呼叫者是否為具有特定介面的合約,而這很容易被偽造。攻擊者部署了一個惡意合約繞過檢查,鑄造了大量代幣,並透過流動性池傾銷獲利。

背景

MoltEVM 是部署在 Base 上的實驗性 ERC-20 代幣協議,探索自我複製的代幣模型。該系統允許代幣在達到特定儲備閾值後生成新的子代幣(「Moltling」代幣)。創建新的 Moltling 時,初始代幣供應量透過 mintFromSpawner() 函數分發,流動性自動播種以為新代幣建立交易市場。此設計使協議能夠自主擴展其代幣譜系,每一代代幣都能夠生成進一步的後代。

漏洞分析

漏洞存在於 MoltEVM 合約(0x225d...501f)中 mintFromSpawner()setExemptFromSpawner() 函數的存取控制邏輯。兩個函數都依賴 onlySpawnerToken 修飾符,其設計意圖是將呼叫限制為由協議生成的合法 Moltling 合約。

然而,該修飾符僅執行兩個薄弱的檢查:驗證 msg.sender 是一個合約,以及呼叫者上的 initialized() 返回 true。由於任何實現相同介面的任意合約都可以輕易滿足這些條件,該檢查無法對合法的 spawner 代幣提供有意義的身份驗證。

因此,攻擊者可以部署一個最小化合約,只需實現一個返回 trueinitialized() 函數。部署後,惡意合約即可自由呼叫 mintFromSpawner() 鑄造任意數量的代幣,還可以呼叫 setExemptFromSpawner() 將攻擊者控制的地址列入白名單。這實際上使攻擊者完全控制了鑄造路徑,並允許將新鑄造的代幣傾銷至流動性池中獲利。

攻擊分析

以下分析基於交易 0x10b7...e03d

  • 步驟 1:攻擊者部署了一個最小化合約,僅實現一個硬編碼返回 trueinitialized() 函數,足以通過 onlySpawnerToken 修飾符的檢查。

  • 步驟 2:攻擊者的合約呼叫受同樣存在漏洞的 onlySpawnerToken 修飾符保護的 setExemptFromSpawner() 函數,將攻擊者的地址添加至稅費豁免白名單。這確保了後續大規模代幣傾銷不會觸發賣出稅或內部兌換邏輯,從而最大化利潤。

  • 步驟 3:攻擊者對 mEVM 首先重複執行 setExemptFromSpawner() + mintFromSpawner() 函數序列,隨後對多個 Moltling 子代幣(包括 CSPAWNCCUTTLLWORMNHYDRA)重複相同操作,批次鑄造所有目標的代幣並傾銷至各自的流動性池以提取利潤。

結論

此事件是由特權鑄造和配置函數上的存取控制不足所引起,使攻擊者能夠冒充合法的 spawner 並鑄造任意代幣獲利。

為降低未來類似風險:

  • 對特權鑄造或配置函數強制執行嚴格的存取控制。

  • 避免依賴容易被偽造的合約檢查進行授權。

  • 透過明確的白名單或可信合約登錄檔驗證呼叫者身份。


7. LEDS 事件

簡要摘要

2026 年 3 月 8 日,BNB Chain 上的 LEDS 代幣遭到攻擊,損失約 $64K。根本原因是業務邏輯缺陷:代幣合約暴露了多個獨立的通縮機制,每個機制都能直接從流動性交易對中銷毀代幣,且均未受存取控制或冷卻時間保護。攻擊者在單筆交易中串聯所有銷毀路徑,使交易對的 LEDS 儲備幾近歸零,而 WBNB 儲備保持完整,然後透過反向兌換抽取嚴重失衡的流動性池獲利。

背景

LEDS 是 BNB Chain 上具有內建轉帳手續費機制的通縮型代幣。其 _transfer() 實現了多種旨在逐步減少供應並支撐價格的銷毀機制:每日銷毀函數 triggerDailyBurnAndMint()、透過在賣出時累積 stor_18 的延遲銷毀,以及當兌換接收者設定為 PancakeSwap Router 時將代幣銷毀至 0xdead 的特殊分支。該代幣還具有 deposit() 函數,使用者發送 BNB 以鑄造 LEDS 並提供流動性,透過分配器領取 LP 獎勵。

漏洞分析

根本原因是 LEDS 代幣合約(0xfb62...a48f)存在業務邏輯缺陷。受害者是 LEDS/WBNB 交易對(0xd109...6f3f)。代幣實現了多種通縮機制:triggerDailyBurnAndMint()、賣出路徑的 stor_18 累積,以及 _transfer() 中的 to == router 銷毀分支。這些機制各自獨立地從流動性交易對中移除 LEDS 並呼叫 sync() 更新儲備。

雖然這些機制單獨作為漸進通縮工具使用,但它們可以在單筆交易中串聯以疊加效果。此外,公開函數 0x17a06174() 允許任何人隨意清空整個累積的 stor_18 餘額,且沒有存取控制或速率限制。透過依序疊加這些銷毀路徑,攻擊者可以使交易對的 LEDS 儲備幾近歸零,同時保持 WBNB 儲備完整,創造出可透過反向兌換利用的極端價格錯位。

攻擊分析

以下分析基於交易 0x2608...79da

  • 步驟 1:攻擊者透過閃電貸(Moolah + Venus 抵押借款 + Aave + PancakeSwap V4)獲取了大量 WBNB

  • 步驟 2:多次呼叫 deposit() 以累積 LP 獎勵,然後觸發 triggerDailyBurnAndMint(),從交易對中銷毀部分 LEDS 並將獎勵發送至分配器,降低池中的 LEDS 儲備。

  • 步驟 3:呼叫函數 0xde1b1942() 以領取累積的 LEDS 代幣獎勵。
  • 步驟 4:將領取的 LEDS 賣出換取 WBNB。由於賣出後交易對的 LEDS 餘額超過閾值,轉入金額被累積至 stor_18(待銷毀)。
  • 步驟 5:透過 PancakeSwap 以 Router 地址作為接收者購買 LEDS。這觸發了 _transfer() 中的特殊分支,將購買的 LEDS 直接從交易對銷毀至 0xdead,進一步降低池的 LEDS 儲備。
  • 步驟 6:呼叫函數 0x17a06174(),將整個 stor_18 餘額(在步驟 4 中累積)從交易對銷毀至 0xdead 並呼叫 sync(),使池的 LEDS 儲備崩潰至僅剩 2 wei。
  • 步驟 7:進行反向兌換以抽取現已嚴重失衡的池中的 WBNB,償還所有閃電貸,並獲利 104.56 WBNB($64K)。

結論

此事件是由多個未受保護的通縮機制在單筆交易中串聯,導致流動性交易對儲備災難性耗盡所引起。

對於任何實現通縮或自動銷毀機制的代幣合約,開發者應:

  • 切勿在沒有適當存取控制、速率限制或冷卻時間強制執行的情況下暴露從交易對銷毀的函數。

  • 避免允許多個獨立銷毀機制在單筆交易中依序觸發。


關於 BlockSec

BlockSec 是全棧區塊鏈安全與加密合規服務提供商。我們構建產品和服務,幫助客戶在協議和平台的完整生命週期中進行程式碼審計(包括智能合約、區塊鏈和錢包)、即時攔截攻擊、分析事件、追蹤非法資金,以及履行 AML/CFT 義務。

BlockSec 已在知名會議上發表多篇區塊鏈安全論文,報告了多起 DeFi 應用程式的零日攻擊,攔截了多次駭客攻擊並救援超過 2000 萬美元,同時為數十億美元的加密貨幣提供安全保障。

Sign up for the latest updates
~$598萬損失:Aztec、Raydium等|BlockSec週報
Security Insights

~$598萬損失:Aztec、Raydium等|BlockSec週報

本週區塊鏈安全報告涵蓋2026年6月8日至15日,分析以太坊和Solana上4起重大事件,總損失約598萬美元。重點事件包括:Aztec Connect因缺少輸入驗證導致rollup證明路徑與L1結算狀態不一致;Raydium因舊版AMM v3程式缺少驗證,攻擊者操縱LP代幣贖回計算並清空四個池。兩個漏洞均存在多年後才被利用。報告涵蓋輸入驗證缺失、整數溢出及治理攻擊等類型。

Zcash Orchard 健全性漏洞分析 | BlockSec 週報
Security Insights

Zcash Orchard 健全性漏洞分析 | BlockSec 週報

2026年6月1日當週,Zcash Orchard隱私池電路被公開披露存在嚴重健全性漏洞。該漏洞由halo2 ECC標量乘法組件缺少等式約束引起,可能導致透過雙重支付在Orchard池中無法被偵測地偽造ZEC。此漏洞自2022年5月Orchard啟用以來已存在逾四年,由研究員Taylor Hornby使用Anthropic Opus 4.8模型進行AI輔助安全審計時發現,並透過緊急網路升級(NU6.2)修補。本報告涵蓋技術根本原因、AI輔助發現過程、緊急應對時間軸及對ZKP生態系統的影響。

通訊 - 2026年5月
Security Insights

通訊 - 2026年5月

2026年5月,DeFi生態發生三起重大安全事件。Echo Protocol因管理員密鑰外洩遭惡意增發eBTC,損失約7,670萬美元;StablR因多簽治理漏洞被非法發行穩定幣,損失約1,280萬美元;Verus-Ethereum Bridge因類型驗證失敗導致攻擊,損失約1,170萬美元。

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit