Move-over
ブラウザで遊べるMoveセキュリティのウォーゲーム
Move-overは、Moveのセキュリティをブラウザだけで学べるCTFです。脆弱なコントラクトを読み解き、`run()`にエクスプロイトを書いて、各レベルが要求する`*Flag`を返せばクリアです。
Move-overはオープンソースです。コードは GitHub.
形式
Capture-the-Flag
ランタイム
100% ブラウザ完結
ゴール
`*Flag`を返す
[00:00:01] move-overブラウザランタイムを起動中…
[00:00:02] チャレンジセットを読み込み中: artifact, coin_collector, sticky_treasure
[00:00:03] 目標を検出: level::Flag を返す
[00:00:04] run() テンプレートを解析中… 準備完了
[00:00:05] ウォレット不要・ネットワーク接続不要
[00:00:06] パートナーチャネルに接続: OpenZeppelin
[00:00:07] エクスプロイト用サンドボックス: 稼働中
[00:00:08] 検証ステータス: コードの入力待ち…
[00:00:09] run() を書いて Run_ を押してください
[00:00:01] move-overブラウザランタイムを起動中…
[00:00:02] チャレンジセットを読み込み中: artifact, coin_collector, sticky_treasure
[00:00:03] 目標を検出: level::Flag を返す
[00:00:04] run() テンプレートを解析中… 準備完了
[00:00:05] ウォレット不要・ネットワーク接続不要
[00:00:06] パートナーチャネルに接続: OpenZeppelin
[00:00:07] エクスプロイト用サンドボックス: 稼働中
[00:00:08] 検証ステータス: コードの入力待ち…
[00:00:09] run() を書いて Run_ を押してください
ブラウザ上で学ぶMoveスマートコントラクトのセキュリティ
Move-overは、手を動かしながら学べるブラウザ完結型のセキュリティプレイグラウンドです。理論を読むだけでは終わりません。脆弱なコントラクトを読み、エクスプロイトの流れを自分で書き、その場で実行し、想定どおりの証明オブジェクトが返るかを確認していきます。基本のサイクルはシンプルで、「読む・書く・実行する・返す・改善する」の繰り返しです。
Move-overブラウザワークフローの仕組み
すべてのレベルはブラウザ内のランタイムで動作します。ウォレットの設定もチェーンの状態もローカルVMの準備も不要で、いつでもすぐに練習を始められます。意識を向けるのはMoveのセキュリティロジックそのもの——所有権チェック、ケイパビリティの誤用、オブジェクトの状態遷移、そして検証を通る安全で再現可能なエクスプロイト経路の組み立て方です。
`run()`を書き、`Flag`を返してクリアする
やることは明確です。チャレンジに対応する正しい`*Flag`オブジェクトを返すように、`run()`の本体を書くだけ。戻り値の型と挙動がレベルコントラクトの要件と一致すれば、レベルクリアとなり、進捗が自動で保存されます。
身につく主なスキル
- Moveスマートコントラクトのセキュリティ的な振る舞いを読み解き、推論する力
- ブラウザ上の安全な環境で、エクスプロイト指向のロジックを書く力
- 証明オブジェクトを正しく返し、決定的な結果を検証する力
おすすめの進め方
まずはArtifactで基礎を押さえ、次にSticky Treasureでオブジェクト操作のパターンに慣れ、最後にFlash Vaultでより踏み込んだエクスプロイトの考え方に挑戦するのがおすすめです。この順番で取り組むと、Moveセキュリティの感覚が段階的に身についていきます。