ScallopがターゲットにされたExploitを確認:sSUI報酬プールから150,000 SUIトークンが流出。
Suiベースの分散型金融プロトコルScallopは、非推奨アドレスのスマートコントラクト内に潜んでいたバグを明らかにしながら、sSUI報酬プールから約150,000 SUIを流出させるExploitの標的となったことを確認しました。
プロトコルの公式声明によると、攻撃者はアクティブなコードベースや標準SDKインターフェースを一切使用しませんでした。代わりに、2023年11月までさかのぼる非推奨のV2パッケージバージョンを呼び出しました。これはオンチェーン上にまだ存在していたものの、数ヶ月間使用されていませんでした。
このような精度の高い攻撃は、エコシステム全体から大きな注目を集めています。このExploitは、深いリバースエンジニアリングを行ったか、コントラクトアーキテクチャに精通した人物による攻撃であることを示唆しています。
特筆すべきは、エコシステムが新しいコントラクトバージョンに移行したため、この脆弱性は約17ヶ月間検出されなかったことです。Scallopはこの事件を確認するためにTwitterに投稿し、即時の封じ込め措置が実施されたため、現時点ではユーザーは安全であると述べました。
このExploitは、非推奨コントラクトの報酬計算ロジックに重大な欠陥があることを示しています。「スプールインデックス」と呼ばれる仕組みを使用しており、これはプール内で時間の経過とともに累積された総報酬を表す増加し続ける値です。
通常の操作では、すべてのユーザーアカウントはステーキング時にlast_indexを保持します。報酬は現在のインデックスと保存された値との差に基づいて計算されるため、ステーキング開始前に報酬を得ることはできません。
しかし、旧V2パッケージでは、新しく作成されたスプールアカウントは初期化されず、last_indexは常にゼロでした。このエラーが重大な抜け穴を生み出しました。
このバグの結果は即座かつ深刻なものでした。スプールインデックスは約20ヶ月間で約11.9億まで上昇していました。攻撃者は136,000 sSUIをステーキングした状態で、162兆という膨大な報酬ポイントを獲得しました。
さらに悪化させたのは、報酬プールが1:1の変換比率を持ち、すべての報酬ポイントがSUIトークンに直接変換されることでした。これにより、攻撃者は人工的なインフレによって得たポイントを実際の資産へとシームレスに換金することができました。
このExploitにより報酬プールが枯渇し、当時約150,000 SUIが含まれていました。攻撃者の計算上の報酬がプール残高を大幅に上回っていたにもかかわらず、手元にある流動性のみが引き出されました。
この事件は、Suiエコシステムにデプロイされたパッケージに存在するシステム的な課題の一つを示しています:デプロイされたパッケージは不変性を持ちます。スマートコントラクトがオンチェーンになると、削除や変更ができません。過去・現在を問わず、すべてのバージョンは永久に呼び出し可能な状態で残り続けます。
ScallopがSDKを通じてユーザーを新しい安全なパッケージに誘導していた一方で、旧V2コントラクトは依然として参照可能な状態でした。SpooledオブジェクトとRewardsPoolオブジェクトは共有されているため、バージョン制限がなく、攻撃者は更新されたロジックを完全に回避することができました。
「ステールパッケージ」リスクとして再分類されたこのタイプの脆弱性は、多くの分散型金融システムにとって重要な盲点を明らかにしています。共有オブジェクトに明示的なバージョンチェックが組み込まれていないため、レガシーコントラクトが永続的な攻撃ベクターになり得ます。
ScallopのExploitは、4月を通じて続いている大きなトレンドの一部であり、単発のイベントではありません。最近の複数の攻撃は、コアプロトコルのロジックではなく、周辺部や見落とされがちな側面に起因しています。KelpDAOのRPCインフラの脆弱性、LitecoinのプライバシーレイヤーMWEBの問題、Aethirのアダプターシステムのアクセスコントロールバグなどがいくつかの例として挙げられます。
いずれの場合も、問題の発生源はメインコントラクト外の二次的またはレガシーモジュールでした。このようなパターンの使用は、攻撃者が戦術を変えたことを示しています。ハッカーたちは、監査が頻繁に行われるコアコントラクトへの攻撃に費やす時間を減らし、周辺監視が非常に弱いエコシステムのエッジへの攻撃により多くの時間を費やしています。これは開発者や監査者にとってパラダイムシフトを必要とします。新しいデプロイメントのセキュリティだけでは不十分であり、すべての過去のコントラクト、統合ポイント、インフラコンポーネントをアクティブな脅威面として扱う必要があります。
Scallopはこのエクスプロイトへの対応において、迅速かつ断固たるアプローチを取りました。攻撃を受けたコントラクトはその後すぐに凍結され、この攻撃によって侵害されたのは1つの報酬プールのみでした。
グループはコアコントラクトは依然として安全であり、ユーザーの預金は侵害されていないことを確認しました。他のプールは手つかずのまま残っており、影響を受けなかった部分が凍結解除されると同時に、プロトコルの主要機能が稼働しました。
特筆すべきことに、Scallopはこのエクスプロイトによって発生した損失の100%を補償することを誓約しました。この誓約は、予期せぬセキュリティホールの修正における責任感を示しており、ユーザーの信頼を取り戻すことを目指しています。
入出金が再開されており、システムの安定性が回復したことを示しています。
Scallopの事件は、分散型金融エコシステム全体にとって重要な教訓を体現しています。不変なスマートコントラクト環境で運用する場合、セキュリティは一度設定すれば忘れられるものではありません。
デプロイされたコントラクトのどのバージョンも、稼働中のシステムの一部です。適切なセーフガードを回避しやすい場合、非アクティブなコードでさえ、数ヶ月または数年後に単一障害点となり得ます。
今後、エコシステムはより厳格なバージョン管理の実践、レガシーコントラクトの継続的な監視、およびすべての過去のデプロイメントをカバーするよう監査範囲を拡大することを採用する必要があります。このエクスプロイトが示すように、攻撃者はプロトコルの歴史を深く掘り下げて悪用できる弱点を見つける準備ができています。
最終的に、分散型金融はこの変化する脅威の状況に適応できるプロトコルと同程度にのみ耐久性を持つことになります。
免責事項:これはトレーディングや投資のアドバイスではありません。暗号資産を購入したり、サービスに投資したりする前に、必ずご自身で調査を行ってください。
最新の暗号資産、NFT、AI、サイバーセキュリティ、メタバースのニュースを入手するために、Twitter @themerklehash をフォローしてください!
この記事「Scallop Exploit Drains 150K SUI Through Deprecated Contract As Hidden Vulnerability Lurks For 17 Months」は The Merkle News に最初に掲載されました。

