載入圖片中Tendril 漏洞利用在賣出鉤子缺陷後耗盡約 $555K 的 USDT

照片:crazy motions / Pexels

攻擊者利用 TENDRIL 代幣賣出邏輯中的漏洞,在 BNB 鏈上從其 PancakeSwap V2 資金池中幾乎抽乾了所有 USDT。

2026年11月5日 週四 · 02:31 EST · 閱讀時間 3 分鐘

在加密貨幣領域

分享

BNB 鏈上的一個小型代幣剛剛在自訂程式碼上學到了昂貴的一課。TENDRIL 賣出鉤子中的一個漏洞讓攻擊者提取了該代幣幾乎所有的 USDT 儲備,造成約 $555,000 的淨損失。

該漏洞於2026年11月5日攻擊了PancakeSwap V2上的TENDRIL/USDT流動性池。

TENDRIL 攻擊是如何運作的

弱點在於該代幣的賣出邏輯。BNB Chain 上的許多代幣都會加入自訂行為,每當有人賣出時便會觸發,例如手續費、銷毀或儲備調整。這段額外程式碼通常稱為掛鉤(hook)。

安全研究人員將此次攻擊追溯至包含 PoolControl.sellToken 的函式呼叫,並搭配一項受控的銷毀操作。根據披露內容,攻擊者利用該銷毀操作,在外部轉帳執行完成前操縱代幣儲備。

該合約讓攻擊者在出售仍在進行時,更改資金池定價所依賴的數字。一旦這些儲備被扭曲,資金池便會認為 TENDRIL 相對於 USDT 的價值遠高於其應有的水平。

像 PancakeSwap 這樣的自動化做市商,是根據池中代幣的比例來為資產定價。人為地壓縮一側,另一側在提取時就突然顯得便宜。攻擊者利用這個落差,幾乎抽走了全部的 USDT 餘額。

鏈上數據中有一個細節特別引人注目。在這次漏洞利用期間,攻擊者將 30k USDT 發送到一個硬編碼的受益地址。

這些數字並不完全一致

損失估計因計算者而異。主要數字為淨損失約 $555,000,研究結果則指出總共約有 $550,000 的 USDT 被耗盡。

早期警報描繪的規模較小。監測服務 TenArmorAlert 最初估計損失約為 $309,000。

這一差距反映了計算淨損失與攻擊者利潤時採用不同方法。同批交易中,資金池被抽走的總餘額、攻擊者扣除成本後的所得,以及受害者的淨損失,都可能得出不同的總額。

ExVul 與 ScaleBit 的安全團隊於 2026 年 11 月 5 日就此次攻擊發布公開警示。其披露內容包括存在漏洞的代幣合約、受影響的交易對地址及相關交易數據,為其他研究人員提供了可供追查的線索。

背景:自訂代幣,自訂風險

TENDRIL 在這起事件之前鮮為人知。這種模式在 BNB Chain 上屢見不鮮。開發者會在標準代幣範本上附加稅收、銷毀或反射邏輯,以打造獨特的代幣經濟敘事。每一項修改都會新增程式碼路徑,這些路徑與 AMM 互動的方式,是原始範本從未預料到的。

當這些路徑讓使用者能在交易過程中改變資金池儲備時,AMM 的定價計算就無法再保護流動性提供者。

CertiK 持續在其 Web3 安全儀表板中追蹤此類事件,該儀表板按季度監測損失、攻擊向量與鏈級風險。TENDRIL 資金流失事件現已納入 2026 年下半年的持續統計之中。

这对DeFi用戶和開發者意味著什麼

對於TENDRIL持有者而言,當前的問題是流動性。由於幾乎所有USDT已被提取,池子的另一側幾乎沒有剩下什麼可用來吸收賣盤。

對於更廣泛的流動性提供者而言,一個經過充分審計的交易所無法保護資金池免受那種會改寫自身儲備的代幣所影響。

開發者應記取更明確的教訓。涉及資金池餘額的賣出掛鉤與銷毀函式需要嚴格的執行順序,確保狀態變更僅在轉帳完成後才發生。TENDRIL 漏洞似乎正是源於這種順序安排上的失誤,而這正是獨立審計旨在發現的問題類型。

披露:本文由 John Chen 編輯。如需了解我們如何製作與審閱內容的更多資訊,請參閱我們的編輯政策。