新聞加密貨幣Injective 因二元期權市場 ID 衝突漏洞遭竊 490 萬美元

Injective 因二元期權市場 ID 衝突漏洞遭竊 490 萬美元

作者: Metaverse Post·

重點速覽

  • 攻擊者於 8 月 31 日利用 Injective 的二元期權結算漏洞竊取約 490 萬美元。
  • 攻擊使用 299 個以無許可方式建立的二元期權市場,搭配設定為永不提供價格的自控預言機,透過自我撮合交易實現雙倍提款。
  • 根本原因是生成 market_id 時串接未加分隔符的欄位導致市場識別碼衝突,使 INJ 保險基金與 USDC 市場的識別碼相撞。
  • 驗證者將 Injective 區塊鏈暫停約 3 小時 42 分鐘,期間僅推進一個區塊並保留所有已執行交易,而非像 Cronos 近期事件那樣回滾。
  • 贓款被跨鏈至以太坊,以約 1,980 ETH 集中於地址 0x5a18…69ea,而 Injective 在暫停期間僅發布行銷內容,未就事件發布任何公開聲明。
Injective 因二元期權市場 ID 衝突漏洞遭竊 490 萬美元

Injective 是一條專注於去中心化金融的 Layer 1 區塊鏈,於 8 月 31 日遭到攻擊,駭客利用其二元期權結算系統的嚴重漏洞竊取約 490 萬美元。二元期權市場——交易者在固定到期時對價格「是/否」結果下注——是無許可交易所模組中結構較複雜的衍生品之一,因為結算的正確性取決於預言機供價、退款邏輯與保險基金會計之間的互動不得出現任何邊界情況。

攻擊者有系統地濫用無許可的市場創建機制,在 19 小時內建立 299 個即時二元期權市場,每個市場都由刻意設定為永不提供價格的自控預言機管理。預言機符號被明確構造以觸發無價格退款路徑,且到期與結算時間戳僅相隔數秒。

A binary-options settlement bug has been exploited on @Injective according to @ErthlingPaddy. Attacker bridged ~$4.9M to Ethereum, the funds are unmoved. pic.twitter.com/fwnx6cQajJ — Defimon Alerts (@DefimonAlerts) September 1, 2026

鏈上分析顯示,此攻擊依賴攻擊者自身子帳戶之間的自我撮合交易。攻擊者存入抵押品,以操縱價格同時建立多頭與空頭部位,並利用退款機制在每輪提取約兩倍於存入金額的資金。在有紀錄的一次操作中,約 105,000 USDC 產生了超過 204,000 USDC 的提款。所得資金隨後透過 CCTP 跨鏈至以太坊,在 Uniswap 換成 ETH,並集中於地址 0x5a18…69ea。截至發稿時,該地址約 1,980 ETH——約 488 萬美元——仍未移動。

Injective 區塊鏈暫停運作約 3 小時 42 分鐘,從 16:10 UTC 的區塊 181,027,006 到 19:52 UTC 的區塊 181,027,007。區塊鏈暫停——由驗證者協調停止區塊生產——是基於 Cosmos SDK 的網路面臨攻擊時少數可用的緊急工具之一,但也有其取捨,Injective 與 Cronos 的不同應對方式正說明了這一點。與近期事件中回滾交易的 Cronos 不同,Injective 在暫停期間僅推進了一個區塊,保留了所有已執行的交易。最後一次攻擊嘗試失敗,僅是因為在驗證者介入前區塊生產嚴重放緩(降至約 38 分鐘一個區塊),導致其結算時間戳過期。

Injective halted for ~4 hours today after a binary-options exploit drained multiple assets. In that window, the official @injective account posted twice — both marketing. "ICYMI our AI Agent SDK is live." "Bridge your ETH to Injective." Zero mention of the halt. No "funds are… — Paddy-earthling (@ErthlingPaddy) August 31, 2026

技術缺陷與透明度批評

根本原因可追溯至 Injective 核心邏輯中的市場識別碼衝突。該協議在生成 market_id 時,將 oracleType、ticker、quoteDenom、oracleSymbol 與 oracleProvider 直接串接,未加分隔符或長度前綴。此雜湊方案使攻擊者能建立一個以 INJ 計價的保險基金,其識別碼與一個以 USDC 計價的二元期權市場相衝突。這類識別碼衝突是「以串接非結構化欄位建構金鑰」系統中眾所周知的一類漏洞,因此許多協議改採帶長度前綴或命名空間分隔的識別碼。

當結算進入無價格退款路徑時,系統試圖以所附加 INJ 基金的原始整數餘額來彌補虛構的 USDC 赤字。由於程式碼將極小的 INJ 餘額視為足以覆蓋以美元計價的缺口,因而繞過了對其餘部位的必要減記,並允許全額提領人為膨脹的餘額。

此事件使 Injective 將其核心鏈程式碼庫從 GitHub 移除的決定再度受到檢視,該舉動先前被解釋為降低攻擊面。批評者認為,這次攻擊證明了「透過隱匿求安全」的根本侷限:攻擊者僅依靠公開的 SDK 文件、至 1.17.2 版的舊編譯二進位檔,以及線上的 Frontrunner 測試網,便以實證方式逆向推導出該漏洞。與此同時,獨立審計者與白帽研究人員卻無法取得原始碼層級的存取權,無法主動發現此缺陷。此事件也再度引發業界對閉源鏈程式碼的長期爭論,呼應先前關於隱藏原始碼究竟是否能實質遏止決心堅定的攻擊者,還是主要妨礙獨立審查的辯論。

Injective made its core chain code private — injective-core and injective-chain are both gone from GitHub (check for yourself: 404). The stated logic: harder for attackers to find bugs. This exploit is the counterargument. You don't need the source to find this. The attack… — Paddy-earthling (@ErthlingPaddy) August 31, 2026

溝通失敗進一步加劇了技術層面的損害。在區塊鏈暫停期間,Injective 官方社群媒體持續發布宣傳新產品的行銷內容,既未承認事件,也未向用戶保證安全。此做法與 MANTRA 和 Cronos 等公開披露近期故障的協議形成強烈對比。

一則來自未經驗證智能錢包、向攻擊者提供賞金的鏈上訊息已送出,但 Injective 並未證實與官方有關,發送者身分也不明。截至撰寫本文時,該協議尚未就攻擊事件、對用戶的影響或補救措施發布任何公開聲明。觀察者關注的關鍵懸念包括:集中於 0x5a18…69ea 的 ETH 是否會移動、是否會出現官方賞金或談判,以及 Injective 是否會披露修補程式或恢復公開原始碼存取。