XRP Ledger 的漏洞如何可能危及其 1000 億枚代幣的供應上限
目錄
你可能會想知道
- 算術錯誤如何可能讓人未經授權就創造 XRP?
- 為什麼這個漏洞十多年來一直未被發現?目前正採取哪些措施來降低類似風險?
主要內容
XRP Ledger(XRPL)的一個漏洞,理論上可能讓攻擊者未經授權就創造數十億枚 XRP。這是整數溢位錯誤:在極端情況下,計算結果可能超出系統可表示的最大值,並回繞成一個非常小的數字。這項錯誤結果可能導致帳本記錄的成本微不足道,卻仍將涉及的全部 XRP 金額記入賣方帳戶。
這個問題之所以特別受到關注,是因為它看似威脅到 XRP 的核心特性之一:標示的最高供應量為 100 billion 枚代幣。XRP 在區塊鏈於 2012 年推出時即已創建,網路的設計則是不允許鑄造新代幣。XRP Ledger Foundation 表示,目前約有 99.986 billion XRP 仍在流通。開發並發布修補程式的 RippleX 表示,沒有證據顯示公開網路曾遭利用,或有人未經授權創造 XRP。
研究人員 Cayden Liao 與 Veria AI 於 Sept. 22 發現此錯誤,並在內部通報。據信這個漏洞自 2015 年起便已存在,也就是說,它可能在被發現前已存在多年。這項發現並未證明有人曾利用該漏洞;它揭示的是一種理論上的途徑,讓人可能在精心設計的條件下操縱帳本的會計記錄。
XRPL 是一個開源、去中心化的 layer-1 區塊鏈。其原生代幣 XRP 主要用於支付交易手續費,以及在網路內建的去中心化交易所(DEX)中作為貨幣交易的橋接資產。不增發新代幣的設計是帳本供應規則的核心,因此,即使需要不尋常的操作,任何可能產生未入帳 XRP 的漏洞仍會造成重大影響。
整數溢位漏洞可能如何運作
當計算結果超出電腦系統在特定數值格式中可儲存的最大值時,就會發生整數溢位。一個簡單的比喻是老式街機遊戲的分數計數器:達到上限後便會歸零。在 XRP Ledger 的情境中,極大的交易金額可能回繞成小得多的數字,而非遭到拒絕或以正確方式處理。
這種差異可能破壞交易成本的計算。帳本可能將全部 XRP 金額記入賣方帳戶,卻將買方的付款視為微不足道。如果這項差異未被發現,產生的餘額便會與系統實際記帳的 XRP 金額不符。實際上,這種差異可能等同於未經授權增發代幣。
這種假想攻擊需要精心準備。攻擊者可以建立虛設帳戶,並利用這些帳戶以極高的 XRP 金額掛出代幣銷售。接著,攻擊者可以自己扮演買方,試圖透過一連串旨在觸發溢位的交易,買下掛出的代幣。如果漏洞如推測般運作,賣方帳戶可能收到數十億枚有效 XRP,儘管買方支付的費用只有不到一美分。
之後,攻擊者可能會試圖將新入帳的 XRP 轉移至外部交易所變現。這描述的是該漏洞在理論上可能造成的情況,並非實際發生的攻擊。RippleX 表示,沒有證據顯示公開網路曾遭利用或有人未經授權創造 XRP,而據報導,相關應對措施是修補此問題。
核心風險並非一般的付款錯誤,而是極端且刻意設計的交易金額可能繞過會計檢查,破壞帳本的固定供應規則。
為什麼一般操作沒有揭露這個問題
XRP Ledger Foundation 表示,這個漏洞一直未被發現,是因為一般使用者的活動從未接近觸發它所需的條件。一般付款的金額或複雜程度都不足以觸發。基金會指出,觸發漏洞需要數百個刻意設計的操作,而非單一的日常交易。
這道高門檻有助於解釋為什麼漏洞可能長期存在,卻沒有引發明顯事件。系統即使能處理大量一般交易,也可能仍藏有邊界情況缺陷,只有在多種不尋常條件同時出現時才會顯現。如果這些條件在日常使用中很少發生,錯誤便可能一直潛伏,直到有人刻意搜尋,或建立能觸及相關上限的測試案例。
另一個難點是,帳本的防護機制依賴一個不準確的數值。每筆交易後執行的檢查原本是為了確認沒有新增 XRP。然而,據 CoinDesk 報導,這項檢查依賴的總額計算也受到同一漏洞影響,因此可能表面上確認餘額一致,即使底層會計記錄其實有誤。
另一項限制單一帳戶可接收 XRP 數量的規則,也不一定能阻止這種假想攻擊。潛在的操作可以將 XRP 分散至數百個帳戶,讓每個帳戶入帳的金額都低於相關的個別帳戶上限。這說明了為什麼只逐一檢查單一帳戶或單筆交易的防護機制,可能會漏掉分散在許多相互關聯操作中的模式。
綜合來看,這些因素說明,即使網路設有檢查機制,漏洞仍可能逃過偵測。問題並非單純缺少防護;在這個特定情境中,部分防護機制之所以無效,是因為它們依賴有缺陷的計算,或只狹隘地評估活動。要找出這類弱點,必須檢驗檢查機制背後的假設,包括它們在極端數值,以及多個帳戶協同操作時的表現。
應對措施與未來安全防護
RippleX 在收到漏洞通報後發布了修補程式。基金會表示,沒有造成任何損害,也沒有創造新的 XRP。因此,公開揭露的內容既說明了一項嚴重的潛在弱點,也指出相關漏洞已在公開網路出現任何經確認的利用事件前獲得修補。
XRP Ledger Foundation 也指出,人工智慧在安全研究中的作用日益重要。AI 工具可以協助找出不尋常的邊界情況並加快分析,但防禦者與攻擊者都可能使用這些工具。基金會認為,同一項能提升偵測能力的技術進展,也可能讓惡意行為者更容易搜尋弱點。
為了進一步強化帳本安全,基金會表示計畫更積極地進行 AI 對抗性測試、實施形式化驗證,並強化漏洞懸賞計畫。對抗性測試會檢視系統面對刻意設計的惡意輸入時如何運作。形式化驗證則運用數學方法,檢查系統在指定條件下是否符合既定屬性。漏洞懸賞計畫則透過有組織的流程,邀請研究人員通報漏洞。
這些措施各有不同用途。對抗性測試有助於找出意料之外的操作組合,而形式化驗證則有助於確認重要規則在一系列定義好的狀態中始終成立。更完善的漏洞懸賞計畫可以進一步鼓勵外部研究人員負責任地通報問題。這些方法都無法單獨保證複雜帳本毫無缺陷,但合併運用可以提高在嚴重問題遭利用前發現它們的機會。
基金會表示:「隨著我們逐步推進,你們會更常聽到這方面的消息。」基金會所述的計畫將此次事件納入更廣泛的安全實務改善工作,而非將修補程式視為唯一必要的應對措施。這項發現也說明了為什麼檢視舊有軟體仍然重要:一個漏洞可能存在多年而未造成明顯問題,但隨著系統、工具與攻擊方式演進,仍可能變得影響重大。
重點摘要表
| 面向 | 說明 |
|---|---|
| 漏洞 | 整數溢位缺陷可能使極大的交易金額回繞成非常小的數值。 |
| 潛在後果 | 在精心設計的攻擊中,賣方帳戶可能收到 XRP,買方卻未支付相應金額,進而威脅固定供應規則。 |
| 發現 | 研究人員 Cayden Liao 與 Veria AI 於 Sept. 22 發現此問題,並在內部通報。 |
| 持續時間與起源 | 據信此錯誤自 2015 年起便已存在,且十多年來一直未被發現。 |
| 已確認的影響 | RippleX 表示,沒有證據顯示公開網路曾遭利用或有人未經授權創造 XRP。基金會表示,目前約有 99.986 billion XRP 仍在流通。 |
| 計畫中的防護措施 | 基金會計畫增加 AI 對抗性測試、實施形式化驗證,並強化漏洞懸賞計畫。 |
後續……
這起事件指出, cryptocurrency 網路與其他複雜軟體系統可能需要進一步探索幾個安全工作領域。其中之一是加強對極端數值與交易組合的測試。檢視系統時,不應只考量一般使用情境,也應測試試圖將計算、帳戶限制與驗證邏輯推至預期範圍之外的對抗性操作序列。
另一個重要領域是對防護措施進行獨立驗證。如果檢查程序依賴與其要驗證的操作相同的計算方式,可能會重現原始錯誤,而非將其抓出。設計彼此獨立的會計計算路徑,並以刻意錯誤的輸入測試這些路徑,或許有助於揭露這類共同失效問題。形式化驗證也能協助研究人員界定並檢視重要屬性,例如供應不變量是否在每一種有效交易序列中都持續成立。
AI 輔助安全工具可透過產生不尋常的測試案例、檢視程式碼,以及協助研究人員探索複雜的狀態轉換來提供助力。同時,組織也必須考量攻擊者可能使用類似工具。因此,安全計畫不只仰賴採用新技術,也必須評估技術的限制、保護敏感流程,並確保以負責任的方式處理研究發現。
歸根究柢,XRP Ledger 案例提醒我們,數位資產規則的完整性取決於程式碼,以及用來檢視程式碼的流程。持續投入對抗性測試、數學保證與協調式漏洞通報,有助於在區塊鏈系統不斷演進之際,讓固定供應保證更具韌性。
最後編輯時間:2026/10/12
