InjectiveがマーケットID衝突によるバイナリーオプション悪用で490万ドルを流失
重要ポイント
- •攻撃者は8月31日、Injectiveのバイナリーオプション決済の欠陥を悪用し、約490万ドルを引き出した。
- •この悪用では、価格を一切提供しないよう設定された自己管理オラクルを持つ299のパーミッションレス生成バイナリーオプション市場が使われ、自己マッチ取引により引き出し額が倍増した。
- •根本原因は、market_id生成時に区切り文字なしでフィールドを連結したことによるマーケット識別子の衝突であり、INJ保険基金がUSDC市場と衝突することを可能にした。
- •バリデーターはInjectiveチェーンを約3時間42分停止させ、Cronosが最近の事件で巻き戻しを行ったのとは異なり、1ブロックのみ進めて実行済みの全取引を維持した。
- •盗難資産はイーサリアムへブリッジされ、アドレス0x5a18…69eaに約1,980 ETHとして集約された一方、Injectiveは停止中にマーケティングコンテンツを投稿し、事件に関する公式声明を発表しなかった。

分散型金融(DeFi)を専門とするレイヤー1ブロックチェーンプロトコル「Injective」は8月31日、バイナリーオプション決済システムの重大な脆弱性を突いた攻撃を受け、約490万ドルが流出した。バイナリーオプション市場は、設定された満期時に価格がイエスかノーかを賭ける取引であり、決済の正確性がオラクルの供給、還付ロジック、保険基金の会計処理の相互作用に依存するため、パーミッションレスな取引所モジュールが提供できる構造的に複雑なデリバティブの一つとされる。
攻撃者はパーミッションレスな市場生成メカニズムを組織的に悪用し、19時間にかけて299の即時バイナリーオプション市場を立ち上げた。各市場は、意図的に価格を一切提供しないよう設定された攻撃者自身が管理するオラクルによって運営された。オラクルシンボルは価格なし還金パスを意図的に誘発するよう構築され、満了タイムスタンプと決済タイムスタンプはわずか数秒差に設定されていた。
A binary-options settlement bug has been exploited on @Injective according to @ErthlingPaddy. Attacker bridged ~$4.9M to Ethereum, the funds are unmoved. pic.twitter.com/fwnx6cQajJ — Defimon Alerts (@DefimonAlerts) September 1, 2026
オンチェーン分析によれば、この悪用は攻撃者自身のサブアカウント間での自己マッチ取引に依存していた。攻撃者は担保を預け入れ、操作された価格でロングとショートの両ポジションを取り、還付メカニズムを悪用して1サイクルあたり預入額の約2倍を引き出した。記録された一連の流れでは、約105,000 USDCの預け入れから204,000 USDCを超える引き出しが発生した。得られた資金はCCTP経由でイーサリアムへブリッジされ、UniswapでETHにスワップされた後、アドレス0x5a18…69eaに集約され、報道時点で約1,980 ETH(約488万ドル)が未移動のまま残っていた。
Injectiveチェーンは、UTC 16:10のブロック181,027,006からUTC 19:52のブロック181,027,007まで、約3時間42分停止した。チェーン停止は、バリデーターが協調してブロック生成を一時停止するもので、進行中の悪用に直面したCosmos SDKベースのネットワークが使える数少ない緊急手段の一つだが、Injectiveの対応とCronosの対応の違いが示すように、それぞれトレードオフを伴う。最近の事件でトランザクションを巻き戻したCronosとは異なり、Injectiveは停止の間に正確に1ブロックだけ進め、実行済みのすべての取引を維持した。最後の悪用の試みは、バリデーターが介入する直前に約38分間隔まで低下していたブロック生成の大幅な遅延の中で決済タイムスタンプが失効したため、失敗した。
Injective halted for ~4 hours today after a binary-options exploit drained multiple assets. In that window, the official @injective account posted twice — both marketing. "ICYMI our AI Agent SDK is live." "Bridge your ETH to Injective." Zero mention of the halt. No "funds are… — Paddy-earthling (@ErthlingPaddy) August 31, 2026
技術的欠陥と透明性への批判
根本原因は、Injectiveのコアロジックにおけるマーケット識別子の衝突にある。プロトコルは、oracleType、ticker、quoteDenom、oracleSymbol、oracleProviderを区切り文字や長さプレフィックスなしで連結してmarket_idを生成する。このハッシュスキームにより、攻撃者はINJ建ての保険基金を生成し、USDC建てバイナリーオプション市場の識別子と衝突させることが可能だった。この種の識別子衝突は、構造化されていないフィールドを連結してキーを構築するシステムにおける既知のバグの類型であり、多くのプロトコルが長さプレフィックス付きや名前空間区切りの識別子を採用する理由となっている。
決済が価格なし還金パスに入ると、システムは付随するINJファンドの生の整数残高を使って、捏造されたUSDCの赤字を補填しようとした。コードが最小限のINJ残高をドル建ての不足額の十分な補填として扱ったため、残りのポジションに課されるべきヘアカット(減額)が回避され、人為的に膨らまされた残高の全額引き出しが可能となった。
この事件により、攻撃対象領域を減らすためとされてきたInjectiveのコアチェーンリポジトリのGitHubからの削除決定が改めて scrutinize(精査)されている。批判者らは、この悪用が「隠蔽によるセキュリティ」の根本的な限界を示していると主張する。攻撃者は、公開SDKドキュメント、バージョン1.17.2までのレガシーなコンパイル済みバイナリ、そして稼働中のFrontrunnerテストネットのみを頼りに、脆弱性を実証的にリバースエンジニアリングした。一方で、独立系監査人やホワイトハット研究者は、この欠陥を事前に特定するために必要なソースレベルのアクセスを拒まれていた。この出来事は、ソースの非公開が攻撃者を実際に抑止するのか、それとも主に独立したレビューを妨げるのかという、クローズドソースのチェーンコードをめぐる業界で繰り返される論争に新たな論点を加えるものとなっている。
Injective made its core chain code private — injective-core and injective-chain are both gone from GitHub (check for yourself: 404). The stated logic: harder for attackers to find bugs. This exploit is the counterargument. You don't need the source to find this. The attack… — Paddy-earthling (@ErthlingPaddy) August 31, 2026
技術的な侵害に加えて、コミュニケーションの失敗が事態を悪化させた。停止の間、Injectiveの公式ソーシャルメディアチャンネルは、事件への言及やユーザーへの安心感の提供なく、新製品を宣伝するマーケティングコンテンツを公開し続けた。この対応は、最近の障害を公表したMANTRAやCronosなどのプロトコルとは対照的だった。
また、未検証のスマートウォレットから攻撃者に対し、報奨金を提示するオンチェーンメッセージが送られたが、Injectiveは公式の関与を確認しておらず、送信者の身元も不明瞭なままである。執筆時点で、プロトコルはこの悪用、ユーザーへの影響、または是正措置の計画に関する公式声明を発表していない。観察者にとっての主要な未解決の疑問としては、0x5a18…69eaに集約されたETHが移動するかどうか、公式の報奨金や交渉が行われるかどうか、そしてInjectiveがパッチを公開するか、この事件を受けて公開ソースアクセスを回復するかどうかが挙げられる。