共有フレームワークのリスクは、単一プロトコルが攻撃される場合と何が違うのか?
単一プロトコルが攻撃された場合、被害はそのプロトコルのユーザーに限られる。共有フレームワークに欠陥があると、被害はそれを採用した全チェーンに及び、各チェーンは独立して運営され、修正の進み方も異なる。Cosmos EVMでは同じ欠陥が6つのチェーンで別々に悪用され、各チームがチェーンを止めるか、いつアップグレードするかを自分で判断しなければならなかった。リスクは「1チームのコード品質」から、「上流の保守者の開示プロセスと、下流の各チームの対応速度」へと移る。
サイレントパッチはなぜ慣行になったのか?
オープンソースでよく使われる論理は、修正をメインブランチに入れてリリースノートを簡潔にし、ユーザーがアップグレードする前に攻撃者へ脆弱性の存在を知らせないことだ。これは脆弱性の影響範囲が小さい、あるいは資金リスクがない場合には筋が通る。問題は、脆弱性が直接資金を動かせる場合や、上流が下流利用者の確かな一覧を持たない場合だ。そこではサイレントパッチは「運営者より先に攻撃者がdiffを読まない」ことへの賭けになる。Cosmos Labsの37件のサイレントパッチは、長く同じ賭けに頼ってきたことを示す。
整数アンダーフローはどうして残高を天文学的な数字に変えるのか?
コンピューターは整数を固定ビット数で保存する。256ビット符号なし整数の最小値は0で、0から1を引く処理にチェックがなければ、結果は負数ではなく最大値、約2の256乗に回り込む。今回はベスティングアカウントが利用可能残高を超えて委任し、減算にガードがなかったため残高が最大値に回り込み、その後の整合処理とオーバーフローの組み合わせで他者のトークンが移された。修正自体は複雑ではなく、減算前に残高が足りるかを確認することで、Cosmosのパッチ#1176はまさにこのアンダーフロー防止だ。
一般の保有者は、自分の保有するチェーンにこの種のリスクがあるかどうかをどう判断できるか?
確認できる公開シグナルは三つある。チェーンがCosmos EVMなどの大規模な共有フレームワーク上で動いているか(公式ドキュメントに記載があることが多い)。ノードソフトウェアのバージョンが上流のセキュリティ勧告に追随しているか(ブロックエクスプローラーやガバナンス提案でアップグレード履歴が分かることが多い)。そして、事故のあとにチームが事後検証レポートを出しているか。今回、KiiChainは8月23日に事後レポートを公開し、上流より5日早かった。こうした透明性はチームの成熟度を測る手がかりになる。
2026年8月20日から25日にかけて、Cosmosエコシステムの6つのブロックチェーンが同一の脆弱性で相次いで攻撃を受けた。Cosmos Labsは売却された資産を約570万ドルと見積もっている。金額は大きくないが、この事件は見過ごされがちな構造的問題を浮き彫りにした。数十のチェーンが同じオープンソースのフレームワークを共有していれば、脆弱性1つは数十のチェーンの脆弱性となり、修正の適用までの時間差が攻撃者の窓になる。
問題となったのはCosmos EVMで、Cosmosチェーンがイーサリアム型アプリケーションを実行するための共有フレームワークであり、コードはEvmos由来だ。The BlockとThe Hacker Newsの報道によれば、攻撃は2つの欠陥を連鎖させた。整数アンダーフローで、あるアカウントの残高が256ビットの最大値に膨らみ、続くオーバーフローで標的アカウントのトークンが攻撃者に移された。The Hacker Newsの説明では、ロック中のベスティングアカウントが利用可能残高を超えて委任し、その減算が未チェックのため残高が約2の256乗に回り込む。この経路には、チェーンが誰でもベスティングアカウントを作成できる設定であることも必要だ。MANTRAは供給量の変動は基本単位1つ分だったと述べており、トークンが無から生まれたのではなく、他者のトークンが移された。
4月25日、研究者がバウンティプログラム経由で欠陥を報告した。Cosmos Labsは、稼働中のチェーンが使う設定で再現できなかったため、本番資金に危険はないと判断した。5月15日と20日に関連する修正がメインブランチにマージされた。8月13日前後に、小数桁の設定にかかわらず全てのCosmos EVMチェーンが影響を受けると確認した。8月19日にv0.6.2とv0.7.2が公開された。8月20日未明、Push Chainのフォークのプルリクエストが脆弱性と攻撃経路を公開で説明した。同日19:06(UTC)にMANTRAが最初の攻撃を受け、公開PRから約11〜12時間後だった。Cosmos Labsの最初の非公開通知は8月21日03:36で、MANTRAが被害を報告してから約2時間後だった。8月28日に事後検証レポートを公開した。
Cosmos Labs自身のバウンティ方針は、ネットワーク全体に及ぶリスクについて、公開前に緊急の緩和策、非公開での修正配布、または調整されたアップグレードを開始すると定めている。ところが今回、チームはパッチが既に公開されており既知の悪用もないとみなし、サイレントパッチの手順を選んだ。The Hacker Newsによると、Cosmos Labsは過去13か月で37件の脆弱性を黙って修正しており、v0.6.2とv0.7.2のリリースノートにはセキュリティ関連のPRが記載されていない。公開されたパッチは、それ自体が攻撃の地図になる。攻撃者はdiffを読めば脆弱性の場所を逆算できる。さらに悪いことに、11の導入先がCosmos Labsのセキュリティ連絡窓口に一度も登録しておらず、同社には自社ソフトを使うネットワークの完全な一覧もないため、非公開通知をしようにも全員には届かなかった。
被害チェーンの1つTACは、8月22日にバリデーターと調整してチェーン全体のブロック生成を停止すると発表した。記者が確認した最後のブロックは24,671,475だった。TACは、悪用された脆弱性はCosmos EVM側にあり、影響はTACトークンの供給に限られると述べた。脆弱なコンポーネント、攻撃トランザクション、損失額は公表されておらず、再開の見通しも示されていない。これは典型的な行き詰まりだ。欠陥が共有の基盤層にあると、チェーンのチームは影響を受けるモジュールだけを切り離せず、全体を止めるしかないことが多い。
資産をCosmosエコシステムのチェーン、あるいは共有オープンソースフレームワーク上に構築されたチェーンに置いている場合、リスクはそのチェーンのチームだけでなく、フレームワーク保守者の開示プロセスからも生じる。実践的な確認点は三つある。チェーンが最新のフレームワークバージョンに追随しているか、リリースノートがセキュリティ修正の内容を明記しているか。過去に脆弱性を理由にブロック生成を停止した履歴があるか、再開が透明に行われたか。そして、特に脆弱性が発覚したばかりのフレームワークに依存する小規模チェーン1つに、大きな資金を長期間置かないことだ。KiiChainはネットワークが復旧すれば奪われたKIIの約54%をオンチェーンで回収できる可能性があると述べたが、8月28日時点でMANTRAは回収済みトークンはないとしており、事後の救済は当てにできない。