move-over://landing

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, чтобы начать практиковаться. Ты сосредотачиваешься на сути: проверки владения, злоупотребление capability, переходы состояний объектов и то, как собрать безопасный воспроизводимый эксплойт, который пройдёт верификацию.

Напиши `run()`, верни `Flag` — уровень пройден

Задача предельно конкретная: написать тело `run()` так, чтобы оно возвращало нужный объект `*Flag`. Если тип возврата и поведение совпадают с тем, что ждёт контракт уровня, уровень засчитывается и прогресс сохраняется.

Что ты прокачаешь
  • Читать код смарт-контрактов на Move и понимать его с точки зрения безопасности.
  • Писать эксплойты в управляемом браузерном окружении.
  • Корректно возвращать объекты-доказательства и проверять детерминированный результат.
Рекомендуемый порядок

Начни с Artifact — там основы. Дальше Sticky Treasure: паттерны работы с объектами. Потом Flash Vault — уже более глубокие рассуждения об эксплойтах. Такая последовательность шаг за шагом выстраивает практическую интуицию по безопасности Move.