スマートコントラクトのリスクと脆弱性|過去の流出事件7選から学ぶ注意点

L1・L2

スマートコントラクトを語るとき、「自動で動く」「中央運営者がいない」というメリットばかりが強調されがちだ。だが、これらは裏返せば**「コードがすべて。バグがあれば誰も助けてくれない」**という意味でもある。

過去10年で、スマートコントラクトに関連した盗難・流出事件で失われた資産は累計でおそらく100億ドルを超える。これは投資家から流出した、ほぼ100%が二度と戻らなかったお金だ。

この記事では代表的な7つの事件を、何が起きて、何が原因で、ユーザー側はどう防げたかという視点で並べる。「コードがすべて」が現実にどういう意味を持つかが見えてくるはずだ。

1. The DAO ハック(2016年6月) — 60M USD

スマートコントラクトの世界に「コードがすべて」というフレーズを刻み込んだ事件。

The DAOは2016年、Ethereum上で初めて大規模調達に成功した投資ファンド型DAOだった。総額1.5億ドルが集まったが、コードにリエントランシー(再入可能)脆弱性が残っていた。攻撃者はこれを利用し、「資金を引き出す」関数を引き出し処理が完了する前に何度も再呼び出しすることで、60M USD相当のETHを抜き取った。

結果として、Ethereumコミュニティはチェーン分岐(ハードフォーク)で事件をなかったことにするという前代未聞の判断を下し、現在のEthereumと、分岐を拒否した派が運営するEthereum Classicに分かれた。

学べる教訓: 「コードがすべて」を貫けば、本来コミュニティ全体に分岐を強いるしかなかった。それほど厄介な事件だった。

2. Parity Wallet 凍結事件(2017年11月) — 280M USD

これは盗難ではなく**「凍結」**事件だが、被害規模の大きさで歴史に刻まれている。

Parity Wallet(マルチシグウォレット)のスマートコントラクトに、ある利用者が誤って「コントラクトをすべて自分の所有にする → 自分で削除する」という操作を行った結果、280M USD相当のETHが永久にロックされた。誰も触れない、誰も引き出せない状態のまま、今もブロックチェーン上に残っている。

学べる教訓: バグは「悪意のある攻撃」だけが原因ではない。正規ユーザーが普通に触っただけで壊れることがあり得る。

3. Poly Network ハック(2021年8月) — 610M USD

歴史上最大規模の盗難の一つ。クロスチェーンブリッジPoly Networkから、Ethereum・BSC・Polygonにまたがって610M USD相当の暗号資産が抜き取られた。

原因はブリッジコントラクトの権限チェック処理に欠陥があり、攻撃者が「自分自身を新しい管理者」として書き換えることに成功してしまったこと。

この事件のユニークなところは、攻撃者が後日すべての資産を返却した点にある。「セキュリティ研究としてやった」という主張で、現実的には返却して訴追を回避したかったというのが大方の見方だ。

学べる教訓: クロスチェーンブリッジは、複数のチェーンの仕様を同時に正しく扱う必要があり、複雑度が高く、過去5年の大規模被害の半分以上がこのカテゴリで発生している。

4. Wormhole ブリッジ ハック(2022年2月) — 320M USD

Solana ⇄ EthereumをつなぐWormholeブリッジから、wETH(ラップドETH)が320M USD相当抜き取られた。原因は署名検証関数のバグで、攻撃者が偽の署名を「正規」と認識させることに成功した。

Jump Cryptoが運営側の損失を補填する形で、ユーザー資産自体は守られた(これは異例)。

学べる教訓: ブリッジは「信頼を譲渡する」場所であり、ここの設計が甘ければ橋ごと崩れる。

5. Ronin Bridge ハック(2022年3月) — 620M USD

GameFi タイトルAxie Infinity専用のサイドチェーンRoninのブリッジから、620M USD相当の暗号資産が流出した。歴史上最大規模の盗難。

原因はスマートコントラクトのバグというより、マルチシグ運営者のキー管理の問題だった。9人中5人の署名で出金が承認される仕組みだったが、4つの署名鍵が運営から漏洩し、もう1つが「Axie DAOから一時的に委譲されていた古い権限」が無効化されないまま放置されていた。北朝鮮系ハッカー集団Lazarus Groupの犯行とFBIが断定した。

学べる教訓: コードが完璧でも、運用(オペレーション)が弱ければ意味がない。マルチシグの「設定変更を定期的に見直す」運用が決定的に欠けていた。

6. Nomad Bridge ハック(2022年8月) — 190M USD

これはバグというより**「集団略奪」**として記憶されている事件。

Nomadブリッジのコントラクトに、「特定の初期メッセージなら誰でも出金できる」というバグが残っていた。最初の攻撃者が成功したことがSNSで広まると、数百人のアマチュアがコピペで出金を試み、ほぼ全員が成功した。Discordで「俺もできた」という報告が次々と上がる、というシュールな展開だった。

学べる教訓: バグが公になった瞬間、コミュニティが攻撃者になる。発見から数時間で資産は枯渇する。

7. Mango Markets 操作攻撃(2022年10月) — 110M USD

これはコードの「バグ」ではなく、経済設計の隙を突いた攻撃。

Solana上のDEXMango Marketsで、攻撃者は自社トークンMNGOの価格を瞬間的に5倍以上に吊り上げ、その価格を担保にして110M USD相当を借り出した。コントラクトは正常に動作した。ただ、価格オラクル(値段を取ってくる仕組み)が薄いマーケットのスポット価格を信用しすぎていた。

攻撃者は事件後「これは合法的な高利回り取引」と主張し、67M USDだけ返却(これは2024年に虚偽情報詐欺で有罪となっている)。

学べる教訓: コードがバグなしでも、経済設計に隙があれば法的にもグレーな「操作」が可能になる。

ユーザーが取るべき防衛策

過去事例を踏まえて、個人ユーザーが今日からできる5つだけ。

  1. 新規プロトコル、特にローンチから3ヶ月以内は触らない。バグは時間とともに発見される。後発組は最大の被害者になる
  2. 監査(Audit)済みであっても安心しない。監査会社が見逃した重大バグは過去にも何度もある
  3. ブリッジを使う前に「過去にハッキングされていないか」を必ず調べる。Defi Llama, Rekt News などで履歴が見られる
  4. ウォレットを複数に分ける。「触る用」「貯蔵用」「冷蔵保存(ハードウェアウォレット)」の3つくらいに資金を分散しておく
  5. ガス代以上の資金を「触る用ウォレット」に置かない。万一連携先がやられても、被害は手元の小額で止まる

これだけ守れば、ほとんどの個人ユーザーは大規模な事件に巻き込まれずに済む。

まとめ

スマートコントラクトの「コードがすべて」という思想は、自由と引き換えに全ての責任をユーザーに移転する。これを理解した上で触る人と、理解していない人では、5年後の資産残高がほぼ確実に違う。

過去事例を読んで「怖い」と思うのは健全な反応だ。怖いと思ったうえで触るのが、長く続ける唯一の方法でもある。

実機で触れる準備が整っているなら、スマートコントラクトを実際に触ってみる|MetaMask導入から接続までの完全手順で、最小被害で経験を積む手順を解説した。仕組みをもう一度おさらいしたい人はスマートコントラクトとは?に戻ってもいい。


※本記事は情報提供を目的としたものであり、特定の暗号資産や投資商品の購入を推奨するものではありません。投資は自己責任で行ってください。過去の実績は将来の利益を保証するものではありません。

タイトルとURLをコピーしました