ニュース暗号資産MANTRAの事故検証報告、360万ドルの攻撃原因はcosmos/evmモジュールの整数型バグと断定

MANTRAの事故検証報告、360万ドルの攻撃原因はcosmos/evmモジュールの整数型バグと断定

著者: Cryptopolitan·

重要ポイント

  • 攻撃者は8月20日から21日の事件で、約360万ドル相当の約7億2,090万MANTRAトークンを流出させた。
  • エクスプロイトは、残高からの減算前に口座残高を検証しなかった共有cosmos/evmモジュールの整数アンダーフロー欠陥に起因する。
  • 攻撃者は無許可でデプロイされたコントラクトと自己資金によるウォレットを使用し、特権アクセスを必要とせず、バリデーターキーやガバナンス管理権限は侵害されなかった。
  • MANTRAチームは、バーンアドレスが24時間体制で監視されていなかったため、侵害後最初の4時間、不正な取引を見逃した。
  • 法執行機関が関与しており、ネットワークは30時間13分停止した後、修正済みv8.4.0リリースで再起動され、攻撃者のウォレットには停止時に3,796万トークンが残っていた。
MANTRAの事故検証報告、360万ドルの攻撃原因はcosmos/evmモジュールの整数型バグと断定

MANTRA Chainは8月28日に公開した完全な事故検証報告書において、資金回収計画へのコミットは行いませんでした。同報告書は代わりに、8月20日から21日の事件について、攻撃者が約7億2,090万MANTRA(約360万ドル相当)を流出させた経緯を正式にまとめたものです。

この開示により、発生から1週間が経過した攻撃に正式な金銭的価値が示されました。プロジェクトは、この攻撃が自社のコードに直接起因しないコーディング上の欠陥によるものだと主張しています。MANTRAは法執行機関が現在関与しており、資金回収の取り組みに関する最新情報を待っていることを確認しました。また、ハッカーのウォレットに滞留しているトークンと回収の可能性についてより明確な状況が把握でき次第、流通量の数値を更新すると述べています。

MANTRAエクスプロイトの原因は何か

MANTRA Chainの事故検証報告書によると、このエクスプロイトは、Cosmos SDK上でEthereum形式のコントラクトを実行するために使用している共有cosmos/evmモジュールを起点として発生しました。

影響を受けたバージョンは、口座残高からの減算を承認する前に、その口座が呼び出しをカバーできるかどうかを検証していませんでした。コードが符号なし整数を使用していたため減算はそのまま実行され、符号なし整数はゼロを下回ることができず、値は極めて大きな数に折り返されていました。

整数アンダーフロー(またはラップアラウンド)として知られるこの故障モードは、ブロックチェーンコードにおいて古くから知られるバグの分類です。Ethereumエコシステムでは、2018年にBeauty Chain(BEC)トークンのERC-20コントラクトで同様の算術オーバーフローが発生し、攻撃者が巨額のトークン残高を生成できた事例があり、こうした事件がSolidity 0.8以降でデフォルトで有効になるチェック付き演算の重要な動機となりました。MANTRAの事例は、同じ種類の欠陥がCosmos SDKベースのチェーンがEthereum形式のコントラクトとの相互運用に使用するブリッジ的なモジュールでも発生しうることを示しています。

MANTRAは、バリデーターキー、ガバナンス管理権限、マルチシグの署名者のいずれも侵害されなかったことを明確にし、攻撃者が悪用したコードの欠陥は自社側のものではないと主張しました。MANTRAは「攻撃者は特権アクセスを必要としなかった」と記しており、無許可でデプロイされたコントラクトと自己資金によるウォレットだけで攻撃を実行できたとしています。

MANTRAの損失額はいくらか

MANTRAによると、攻撃者はバーンアドレスから約6億MANTRAを、古いインセンティブキャンペーンに関連付けられた休眠中のジェネシス期マルチシグからさらに1億2,090万トークンをそれぞれ抽出しました。

MANTRAは攻撃の影響に関する技術的な詳細を強調し、新しいトークンは鋳造されなかったと主張しました。実際に起きたのは、流通量外に保管され経済的に不活性とみなされていた約7億2,090万トークンが、このエクスプロイトによって流通へと放出されたことです。

報告書はまた、トークン移動のプログラム的な周期についても示唆しており、取引が手動で処理されたのではなく、短い間隔で固定サイズで実行されていたように見えると述べています。

MANTRAは取引をリアルタイムで見逃した

MANTRAチーム自身の認めるところによれば、侵害発生後最初の4時間、不正な取引を一切検知できていませんでした。プロジェクトはこの失態の原因を、動かないはずのトークンを保管するバーンアドレスに対する24時間体制の監視が欠けていたためだと説明しました。このギャップは業界全体の事故検証報告書でよく見られるもので、バーンアドレスやトレジャリーウォレットはしばしば不活性なものとして扱われ、アクティブなホットウォレットほど綿密には監視されませんが、それらはプロトコル最大級の残高を保持していることが少なくありません。

チームが異変に気づく前の数時間のうちに、攻撃者は2件の取引を実行し、その大部分をオフチェーンに移しました。その後、バリデーターが2回目の流出から14分後の23:13 UTCにネットワークを停止させました。チェーン停止時点で攻撃者のウォレットには依然として3,796万トークンが残っていました。

ネットワークは30時間13分にわたってオフラインのままとなり、バリデーターが修正済みのv8.4.0リリースでの再起動を調整した8月22日05:26 UTCまで続きました。

今回の出来事は、信頼の再構築を図るプロジェクトにとって波乱に満ちた18か月の締めくくりとなりました。MANTRAの旧OMトークンは2025年4月の単一セッションで90%超暴落し、当時Cryptopolitanが報じたように50億ドル超の価値を抹消しました。2025年にMANTRAへ2,000万ドルを投資したInveniam Capital Partnersでさえ、6月に同プロジェクトの買収に合意した際、過去の問題を認めていました。

停止が最初に発生した際、トークンはCoinGeckoのデータによると18.5%下落し、0.004126ドル付近の過去最安値を付けた後、回復しました。法執行機関が関与し回収の見通しが未解決の中、MANTRAの注目者にとっての未解決の疑問は、チェーン停止時に攻撃者のウォレットに残っていた3,796万トークンの行方、Inveniam支援の経営陣が供給量の開示を調整するかどうか、そしてプロジェクトの次回予定されているモジュール更新がどれだけ迅速にリリースされるかです。