2025年は、暗号資産(仮想通貨)のセキュリティにとって、再び激動の年となりました。一連の深刻なインシデントがエコシステムを揺るがし、ユーザー、チーム、そしてコミュニティ全体に及ぶ実質的な被害をもたらしました。その結果は往々にして痛みを伴うものでしたが、各出来事は「セキュリティを最優先事項として扱わなければならない」という周知の真実を改めて突きつけるものとなりました。
コミュニティが今回の出来事から教訓を得られるよう、BlockSecは今年最も顕著だった10のインシデントを選定しました。これらの事例は、損失の規模だけでなく、使用された独特の手法、実行時の予期せぬ展開、そしてそれらが明らかにした新規または未開拓の攻撃対象領域(アタックサーフェス)に注目して選ばれています。
本記事では、2025年のセキュリティインシデントのトップ10を紹介し、なぜそれぞれが注目に値するのかを解説します。また、すべての事例について個別の詳細レポートを公開し、根本原因と攻撃経路の全容を詳しく分析します。
Cetus インシデント:2025年最大のDeFiハッキング
概要
2025年5月22日、Sui上で最大の集中流動性DEXであるCetus Protocolが攻撃を受け、複数のプールから流動性が引き出され、推定約2億2300万ドルの被害が発生しました。根本原因は、固定小数点 u256 数学におけるオーバーフロー防止用ヘルパー関数 (checked_shlw()) の不具合でした。誤った閾値設定により、安全ではない << 64 の左シフト計算が実行されてしまい、上位ビットが密かに切り捨てられました。攻撃者は流動性のサイズと狭いティック範囲を慎重に選択することで、Cetus側がトークンの預入額を約1単位と誤認するように仕向け、実際には膨大な流動性を持つLPポジションを付与させました。その後、その膨張したポジションを削除することで実際の準備資産を引き出しました。
選定理由
固定小数点ヘルパー内のわずか1箇所の誤った比較が、2億2300万ドルの流出を招くのに十分でした。攻撃者はオラクルを操作したり権限を悪用したりすることなく、純粋な算術的な境界条件(シフト処理と切り捨て)の悪用だけで、ほぼ無料の流動性を作成し、確実に準備資産を引き出すことに成功しました。集中流動性の計算モデルに基づいたあらゆるプロトコルにとって、この事例は、低レベルな固定小数点演算における些細な境界エラーが、プロトコルレベルの大惨事に直結するという直接的な警告です。
根本原因と攻撃ステップの詳細をご覧ください。
Bybit:2025年最大のハッキング
概要
2025年2月21日、Bybitは約15億ドルの損失を被りました。攻撃者はソーシャルエンジニアリングの手法を用いて、Safe{Wallet}開発者のマシンを侵害しました。そのアクセス権を利用し、攻撃者はSafe{Wallet}のAWS S3バケット内に悪意のあるJavaScriptを注入しました。注入されたコードは特にBybitのSafe{Wallet}トランザクションを標的とし、署名プロセス中にトランザクションの内容を改ざんしました。改ざんされたトランザクションにより、BybitのSafe{Wallet}コントラクトが悪意のある実装にアップグレードされ、攻撃者はコントラクトが保有するすべての資産を流出させることが可能となりました。
選定理由
暗号資産史上最大のセキュリティ侵害は、スマートコントラクトのバグから始まったわけではありません。侵害された開発者のマシンと、S3バケット内の改ざんされたJavaScriptファイルから始まりました。攻撃の経路は完全にWeb2のインフラストラクチャ(ソーシャルエンジニアリング、クラウドストレージ、フロントエンドコードの注入)を通過していました。オンチェーンセキュリティに特化した業界において、Bybitの事例は、運用およびインフラストラクチャのセキュリティがいかに不可欠であるかを直接的に思い知らせるものです。マルチシグ(多重署名)の安全性は、その所有者が信頼する署名インターフェースの安全性に依存します。
根本原因と攻撃ステップの詳細をご覧ください。
Balancer V2
概要
2025年11月3日、Balancer V2のComposable Stable Poolsおよび複数のチェーンにまたがるフォークプロジェクトが標的となり、調整された攻撃によって総額1億2500万ドルを超える損失が発生しました。根本原因は、不変量(インバリアント)計算における精度の低下であり、これがBPT(Balancer Pool Token)の価格設定を歪めました。攻撃者は、作成されたバッチスワップを通じてBPT価格を操作し、別のトランザクションで資産を引き出すことで利益を得ました。
選定理由
典型的なオラクル操作攻撃とは異なり、この攻撃は不変量計算の内部から発生しました。固定小数点数学におけるわずかな精度低下がBPT価格を歪め、単一トランザクションでの利益最大化を可能にしました。攻撃は複数のチェーンにまたがって伝播し、Balancerとそのフォークの両方に影響を与えました。これは、共有されたコードベースがいかにコンポーザブル(構成可能)なDeFiのシステムリスクを増幅させるかを示しています。根本原因に関するコミュニティでの議論は、往々にして仕組みを単純化しすぎていますが、詳細な分析によって、不変量ソルバーにおける精度低下がどのように悪用可能な価格ギャップへと変換されたのかを解明しています。
根本原因と攻撃ステップの詳細をご覧ください。
GMX
概要
2025年7月9日、Arbitrum上のGMX V1が攻撃を受け、約4200万ドルの被害が発生しました。攻撃者はリアントランシー(再帰的呼び出し)の脆弱性を引き起こしてトランザクションの途中でGLP価格を操作し、歪められた価格を使用して預け入れた額を大幅に上回る資産を獲得しました。繰り返しこの手法を用いることで、攻撃者はGMX V1の流動性プールから段階的に基礎資産を枯渇させました。
選定理由
リアントランシーは最も古くから知られているスマートコントラクトの脆弱性の一つですが、それでもなお、確立されたACL(アクセスコントロールリスト)モデルを持つ実績のあるプロトコルを崩壊させました。OrderBookコントラクト上の nonReentrant 修飾子は、同コントラクト内でのリアントランシーを防ぎましたが、フォールバック中に Vault へのクロスコントラクト呼び出しを阻止することはできませんでした。GMX V1は何年も稼働しており、その実績が一種の「誤った安心感」を生んでいた可能性があります。この事例は、プロトコルの成熟度がシステム全体のリスク分析の代わりにはならないこと、そして複数のコントラクトが可変状態を共有する場合、個別のコントラクトのガードだけでは不十分であることを示しています。
根本原因と攻撃ステップの詳細をご覧ください。
Yearn Finance
概要
2025年11月30日、Yearn FinanceのyETH Weighted Stable Poolが攻撃を受け、900万ドル以上が流出しました。主な根本原因は、不変量ソルバー _calc_supply() 内の安全ではない算術演算でした。切り捨てによる丸め処理とアンダーフローの失敗が、それぞれ独立して約810万ドル(損失の90%)の原因となりました。副次的な脆弱性として、add_liquidity() 内の無効化されていないブートストラップパスがあり、メインの攻撃がプールを枯渇させた後、さらに約90万ドルの追加流出を可能にしました。
攻撃者はマルチフェーズの戦略を実行しました。まず、流動性を繰り返し追加・削除することでプールの仮想残高に極端な不均衡を生み出し、次に算術エラーを悪用してプロダクト項を崩壊させ、供給総量をゼロまで引き下げました。最後に、ブートストラップ初期化パスを再実行することで、アンダーフローを悪用して約2.35e56 yETHを生成し、それをyETH-WETH Curveプール内で実際の資産と交換しました。
選定理由
2025年の基準では経済的損失は中規模ですが、攻撃の技術的な複雑さは格別です。この攻撃は、数値の境界条件(除算の崩壊、不変量ソルバー内の符号反転)とステートマシンの再エントリー(デプロイ後のプール初期化を再実行)を連鎖させたもので、オンチェーン状態の精密な多段階操作を必要とします。この攻撃の完全な再現には、低レベルな算術演算と広範な状態遷移の両方を理解する必要があります。この事例の複雑さ、厳格さ、そして教育的深さは、今年最も分析に値するインシデントの一つと言えるでしょう。
根本原因と攻撃ステップの詳細をご覧ください。
Cork Protocol
概要
2025年5月28日、Ethereum上のCork Protocolが攻撃を受け、約1200万ドルの損失が発生しました。根本原因は、満期時刻におけるHIYA価格操作と、Uniswap v4フックコールバック内のアクセスコントロール不足の組み合わせでした。HIYA(新たな市場発行価格を決定するためのリスクプレミアム指標)は満期が近づくにつれて指数関数的に増加するため、満期直前のスワップがHIYAを膨らませ、新しく初期化された市場におけるカバートークンの価格を大幅に過小評価させました。同時に、CorkHook.beforeSwap には msg.sender の認証が欠けており、作成されたパラメータを用いた任意の呼び出しが可能でした。これらの欠陥を悪用することで、攻撃者は大量のCTとDSを引き出し、それらをwstETHに変換してプロトコルの準備金を枯渇させました。
選定理由
満期時の価格曲線も、未認証のフックコールバックも、単体ではそこまで壊滅的な被害を及ぼすものではありませんでした。問題はそれらの相互作用でした。満期付近の指数関数的なHIYAプレミアムが経済的な増幅器として機能し、CorkHook.beforeSwap 内の msg.sender チェックの欠如が、任意のパラメータでそれをトリガーする方法を攻撃者に与えてしまいました。この事例は、単一モジュールの監査では見逃されやすい脆弱性、つまり経済設計とアクセスコントロールが相互作用して攻撃経路を生み出す「クロスモジュール間の前提の不一致」を浮き彫りにしています。
根本原因と攻撃ステップの詳細をご覧ください。
Trust Wallet
概要
2025年12月25日、Trust Walletがサプライチェーン攻撃を受け、2,000以上のユーザーウォレットが侵害され、850万ドルの損失が発生しました。攻撃者はTrust WalletのChromeウェブストアAPIキーを入手し、それを使用して公式チャネルを通じてバックドア付きの拡張機能(v2.68)を公開しました。悪意のある拡張機能は、ユーザーのシードフレーズを攻撃者が制御するサーバーへ送信しました。その後、攻撃者は侵害されたウォレットから資産を流出させました。
選定理由
攻撃者はスマートコントラクトには一切触れませんでした。単一のAPIキーを侵害することで、彼らはTrust Walletの公式配布チャネルを通じて悪意のある拡張機能を発行し、手動レビューと標準的なリリースプロセスの両方を回避しました。ユーザーにはアップデートを疑う理由がありませんでした。これはトップ10の中で唯一の「ウォレットのサプライチェーン攻撃」であり、オンチェーン監査ではカバーできないリスクカテゴリー、つまり開発者からエンドユーザーまでのソフトウェア配信パイプラインの安全性を明らかにしています。
根本原因と攻撃ステップの詳細をご覧ください。
Bunni
概要
2025年9月2日、Bunni V2が攻撃を受け、Ethereum上のUSDC/USDTプールとUnichain上のweETH/ETHプールから840万ドルが流出しました。プロトコルは2025年10月23日に破綻を宣言しました。根本原因は、流動性削除時のアイドルプール残高の更新における丸めエラーであり、これによりコントラクトが自らの流動性総額を過小評価することになりました。
攻撃者は3段階の攻撃を実行しました。まず、プール価格を操作してUSDCの利用可能残高を枯渇させ、丸めエラーを増幅させました。次に、一連の小さな引き出しを実行して流動性の過小評価を蓄積させました。最後に、方向性のあるスワップを実行することで、プロトコルの記録上の流動性と実際の準備金とのギャップをアービトラージ(裁定取引)し、資金を引き出しました。
選定理由
Bunni V2は複数のコード監査を受けていましたが、アイドルバランス管理における小さな丸めエラーは見逃されていました。エラー自体はトランザクションごとに見れば無視できるものでしたが、攻撃者は意図的にプール状態を歪めた後に小さな引き出しを繰り返すことでそれを増幅させました。結果として、微細な精度低下が840万ドルの流出へと繋がりました。この事例は、単独では安全に見える丸めエラーであっても、攻撃者がその累積条件や順序を制御できる場合、悪用可能なものへと変貌することを示しています。
根本原因と攻撃ステップの詳細をご覧ください。
1inch
概要
2025年3月5日、1inch Fusion V1に統合されたサードパーティのリゾルバーが、_settleOrder() における安全ではない calldata(コールデータ)再構築により500万ドル以上の被害を受けました。攻撃者が制御する interactionLength が、リゾルバーのIDと実行コンテキストを伝播させるために使用される動的な接尾辞のインメモリのアセンブリを破損させ、偽造された決済データが注入されることを許しました。リゾルバーコントラクトが msg.sender のみに基づいて決済コントラクトから転送された calldata を暗黙的に信頼していたため、偽造されたコンテキストはすべてのアクセスコントロールチェックを通過し、不正な資産抽出につながりました。
選定理由
この攻撃は、スマートコントラクトの脆弱性と従来のバイナリ攻撃の境界線を曖昧にするものです。経済的な前提や高レベルなビジネスロジックを悪用するのではなく、ポインタ演算、未チェックの長さフィールド、ABIのメモリ配置構造の前提など、バッファオーバーフローや整数アンダーフローといったネイティブソフトウェアの攻撃として一般的に見られるパターンを利用しています。これは、特にコントラクト間の暗黙的な信頼チェーンと組み合わさった場合、低レベルな calldata やメモリ操作がいかにして古典的な攻撃手法をオンチェーンシステムに再導入してしまうかを示しています。
根本原因と攻撃ステップの詳細をご覧ください。
Panoptic
概要
2025年8月25日、PanopticはCantinaおよびSeal911の協力のもと、ホワイトハット救出作戦を実施し、危険にさらされていた約40万ドルの資金を確保しました。根本原因は、コントラクトの s_positionsHash の構築における欠陥でした。具体的には、Keccak256ハッシュの結果を集約するためにXOR演算を使用していたことです。単一のハッシュ関数自体は衝突耐性を維持していますが、XORの数学的な線形性は、全体のフィンガープリント(ハッシュのXOR合計)を安全でなくし、異なるポジションのセットが同一のハッシュを生成することを可能にしました。
選定理由
リスト内のほとんどのインシデントは、算術バグやアクセスコントロールの欠如に遡ることができます。Panopticの脆弱性は異なります。それはデータ構造のレベルにおける「暗号設計上の欠陥」です。プロトコルは、結果が基礎となるKeccak256ハッシュの衝突耐性を継承すると想定して、ポジションのフィンガープリントを構成するためにXORに依存していました。しかし、実際にはそうではありません。XORの線形性により、攻撃者は同一の s_positionsHash を生成する異なるポジションセットを構築し、会計上の不変量を回避することができます。このホワイトハット救出作戦により損失は防がれましたが、この根本的な欠陥は「ハッシュの構成には、ハッシュ関数自体と同じ慎重な設計が必要である」という重要な教訓を与えています。
根本原因と攻撃ステップの詳細をご覧ください。



