Move-over
Браузерний варгейм з безпеки Move
Move-over — це CTF з безпеки Move, що працює просто в браузері. Читай вразливі контракти, пиши експлойт у `run()` та повертай потрібний `*Flag`, щоб пройти рівень.
Move-over — open source. Дивись код на 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` і пройди рівень
Твоя ціль чітка: написати тіло `run()` так, щоб воно повертало правильний об'єкт `*Flag` для рівня. Якщо тип повернення й поведінка відповідають вимогам контракту рівня, рівень зараховується, а твій прогрес зберігається.
Ключові навички, які ти прокачуєш
- Читати й розуміти, як поводиться код смарт-контрактів Move з погляду безпеки.
- Писати логіку експлойтів у контрольованому браузерному середовищі.
- Коректно повертати об'єкти-докази й перевіряти детерміновані результати.
Рекомендований шлях для старту
Почни з Artifact, щоб засвоїти основи, далі переходь до Sticky Treasure для патернів роботи з об'єктами, а потім до Flash Vault — для глибшого розуміння експлойтів. Така послідовність крок за кроком формує практичну інтуїцію з безпеки Move.