カルダノ(Cardano)基盤の分散型取引所(DEX)であるスプラッシュ(Splash)において、流動性プールから資産が不正に引き出されるセキュリティインシデントが発生しました。スマートコントラクトの検証機能に存在した計算処理の不備が悪用され、攻撃者自身の入金分を除いて242万4,778.42 ADAおよび198万8,222.18 OADAが流出しました。流出資金の一部は中央集権型取引所へ送金されており、事前監査を経たコントラクトでも論理的な不備がすり抜けるリスクを示す事例として注目されます。
株式会社Pacific Metaが運営する編集チームです。ステーブルコイン、RWA(リアルワールドアセット)、セキュリティトークン、NFTなどのトークン活用や、オンチェーン金融、AI×ブロックチェーン領域の事業開発・実装、暗号資産の基礎知識と国内取引所の使い方まで、ブロックチェーン事業の支援で得た知見をもとに記事の企画・執筆・監修を行っています。編集部や運営会社の詳細は公式サイトと編集方針をご覧ください。
スマートコントラクトの計算不備を突いた不正流出の経緯
今回のインシデントは、スプラッシュのADAとOADAによる「ステーブルスワップ(価格が近い資産同士の交換に適した仕組み)」プールで発生しました。OADAはオプティム・ファイナンス(Optim Finance)が提供する、ADAに1対1で裏付けられた合成資産です。
スプラッシュの調査によると、原因はプールの取引条件を検証するスマートコントラクト(バリデータ)の実装不備にありました。このバリデータは、実際の資産残高から累積した手数料を差し引いてユーザーが取引に利用できる「取引可能な準備金」を算出する設計となっていました。しかし、この計算値がプラスであることを確認する制限などのチェック機能が実装されていませんでした。
攻撃者はこの不備を突き、2件のトランザクションを実行しました。まず自身が入金した9,870 ADAのほぼ全額を手数料として記録させた後、実際のADA残高を手数料の記録額より少なくなるまで引き出しました。これにより取引可能な準備金は計算上マイナスとなりましたが、検証を通過できたため、プールから大量のADAとOADAが流出する結果となりました。なお、該当のスワップ処理は事前の監査を受けていたものの、手数料の累積処理や準備金がマイナスになる問題は指摘されていませんでした。
流出資産の追跡とエコシステムへの影響
スプラッシュのオンチェーン追跡によると、攻撃者は引き出した資産や売却で得たADAなど、合計255万2,176.54 ADAを6つの入金アドレスへ送金しました。このうち78万6,851.54 ADAはクーコイン(KuCoin)、55万ADAはゲート(Gate.io)に関連するアドレスへ送られたと分析されています。残る121万5,325 ADAはカストディサービス関連のアドレスとみられるものの、運営者は確認されていません。
また、攻撃者は引き出した約199万OADAを別のDEXであるミンスワップ(Minswap)を通じて交換を試み、最終的に得たのは約11万5,000 ADAにとどまりました。この影響により、9月13日16時20分(UTC)時点でOADAの価格は本来の連動水準を大きく下回る事態となりました。
事態を受けてオプティム・ファイナンスはプロトコルを停止し、流動性を引き揚げるとともに、ユーザーに対して資金の引き出しと新規の流動性提供を行わないよう呼びかけました。スプラッシュは取引所への資金移動について調査を継続しており、攻撃者が直接資金を返還した場合は報奨金を検討したうえでホワイトハットとして扱い、法的な追及を行わない方針を示しています。
ポイント
- 事前監査を通過していたスマートコントラクトでも、手数料計算や残高確認のロジック不備が検出されず悪用された点で、DeFiプロトコルのセキュリティ検証体制における課題として注目されます。
- 合成資産OADAの裏付けプールが攻撃を受けたことで市場価格が連動水準を大きく下回り、関連プロトコルがサービス停止を余儀なくされるなど、エコシステム全体へ影響が波及した点で重要です。
- 流出したADAの大部分が取引所やカストディサービスのアドレスへ送金されており、今後のオンチェーン追跡と中央集権型サービス側の対応が焦点となります。
- スプラッシュ側は資金返還を条件に報奨金の検討とホワイトハットとしての扱いを提示しており、交渉による資金回収が進むかどうかが注目されます。