Radix Foundationは9月17日、Radixネットワークで2023年のコード再構成に起因する脆弱性が8月に悪用され、複数の金庫から約126万ドル相当の資産が流出したと明らかにした。取引の実行と資産所有権の検証を担う「Radix Engine」に欠陥があったため、検証者はネットワークのコンセンサスを一時停止し、ブロックチェーン上の取引は10日超にわたり止まった。
今回の問題は、流出額だけにとどまらない。調査では、この脆弱性がネットワーク上のあらゆる金庫への攻撃に利用される可能性が理論上あったことが判明した。対象にはユーザー口座、アプリケーション、流動性プール内のトークンが含まれる。取引プラットフォームや流動性提供者にとっては、資産へのアクセス権限を管理するはずの基盤レイヤーで、所有権の境界が正しく機能しなかった点が重要になる。
26件の取引で複数の資産を移転
コミュニティによる台帳の再構成によると、攻撃者は8月31日16時02分から16時57分(UTC)までの間に、脆弱性を利用した26件の取引を実行した。流出したのは、USDC約458,915枚、USDT約72,420枚、ETH61.08枚、Wrapped Bitcoin6.35枚、SOL536.16枚、BNB32.91枚。8月31日の市場価格で換算した総額は約126万ドルで、2種類のステーブルコインだけで約53万1,300ドルに相当した。
攻撃者は取引手数料を支払うため、ある金庫からXRD13,000枚も引き出した。その後、流出資産はHyperlaneを通じてEthereum、BNB Chain、Solanaへ移され、ETHに交換された。
Radix Foundationによると、Hyperlaneのブリッジ自体は設計どおりに動作していた。攻撃者はまずRadix Engine上で資産を取得し、その後に同ブリッジを使って資金を移転したという。現時点で、秘密鍵が流出した形跡は確認されていない。
ただし、確認された流出額が被害の全体像を示しているとは限らない。調査担当者は、この脆弱性が攻撃者が直接引き出したクロスチェーン資産だけでなく、ネットワーク内の他の金庫に保管されたトークンや資産にも同様のリスクを及ぼし得たとみている。
2023年のコード整理で欠陥が混入
Radix Foundationは、RDX Worksの開発チームが2023年6月にRadix Engineのコードを整理した際に、この欠陥が入り込んだと説明している。脆弱性はネットワーク内に3年以上存在し、2026年8月31日に初めて悪用された。
問題となったのは、エンジンが金庫への参照を処理する方法だった。取引では、内部アドレスを使って別のユーザーの金庫を指し、その参照を特定のスマートコントラクトに渡すことができた。その後、Radix Engineは通常の出金関数の呼び出しを許可したものの、所有権の確認を正しく実行せず、権限のないリクエストを拒否できなかった。
本来の設計では、金庫の所有者、または所有者から権限を付与された取引だけが資産を引き出せる。今回の欠陥により、攻撃者は資産所有者の署名を取得しなくても、ユーザー口座、アプリケーション、流動性プールの資金にアクセスできる可能性があった。
このコード上の問題は、独立したセキュリティ監査も通過していた。Zellicは2024年にRadixプロトコルを監査し、欠陥を含むエンジンの中核部分も対象にしていたが、この権限管理の脆弱性は見つからなかった。欠陥が前年のコード再構成に起因していたことから、定期的な保守作業によって従来のセキュリティ上の前提が変わり、通常の監査ではその変化を捉えられない場合があることも浮き彫りになった。
検証者がコンセンサスを停止
調査担当者が、問題の発生源は特定のアプリケーションではなく取引実行レイヤーだと確認すると、Radixの検証者は連携して対応した。ネットワークがコンセンサスを形成し、追加の取引を処理し続けるのを防ぐため、十分な量のステークを意図的にオフラインにした。
停止は10日超に及んだ。プロトコルの修正では、制限された金庫への参照を通常の出金処理に利用できないよう、新たなチェックを追加した。コミュニティによる台帳の再構成によると、ユーザー取引は9月11日に再開された。
この事件では、流動性プールにも後続の損失が生じた。攻撃者が一部の取引ペアからクロスチェーン資産を一方的に移したことで、プール内の価格比率が歪んだ。その後、別のアカウントがこの価格異常を利用し、影響を受けた流動性プールから数百万枚のXRDを引き出した。
初期の流出資産がネットワーク外へ移された後も、取引実行レイヤーの脆弱性が価格の歪みや流動性の変化を通じて経済的な損失を拡大させる可能性が示された形だ。
回帰テストと緊急対応を強化
Radix Foundationは今後の対応として、回帰テストの拡充、安全性審査のプロセス強化、ネットワークの安全回復に向けて検証者が取る緊急措置の制度化を挙げている。修正の対象は、すでに悪用されたコード経路を塞ぐことだけではない。権限管理ロジックに関わるすべてのコード変更を改めて検証する方針だ。
Foundationはまた、今後のセキュリティ対策では、性能が高まるAI支援型のコード分析ツールも考慮する必要があると述べた。こうしたツールが、長期間残っていた今回の欠陥を攻撃者が見つける助けになった可能性を指摘しているが、攻撃者が具体的にどのツールを使ったのかは確認されていない。
開発者と検証者にとっては、通常の保守作業が十分なテストと再確認なしに権限モデルを変えてしまう事態を防げるかが課題になる。ユーザーや流動性提供者にとっては、Radixが今後も金庫の所有権を正しく検証できるか、同様の事態で新たな緊急対応手順を速やかに発動できるかが、資産の安全性とネットワークの安定性を判断する材料となる。