Move-over
Wargame de sécurité Move, directement dans ton navigateur
Move-over est un CTF pensé pour le navigateur, dédié à la sécurité Move. Lis les contrats vulnérables, écris l'exploit dans `run()` et renvoie le bon `*Flag` pour valider chaque niveau.
Move-over est open source. Explore le code sur GitHub.
Format
Capture du drapeau
Environnement d'exécution
100 % dans le navigateur
Objectif
Renvoyer le `*Flag`
[00:00:01] démarrage du runtime move-over dans le navigateur...
[00:00:02] chargement du lot de défis : artifact, coin_collector, sticky_treasure
[00:00:03] objectif détecté : renvoyer level::Flag
[00:00:04] analyse du modèle run()... prêt
[00:00:05] aucun wallet requis, aucun réseau requis
[00:00:06] canal partenaire connecté : OpenZeppelin
[00:00:07] bac à sable de simulation d'exploit : actif
[00:00:08] statut du vérificateur : en attente de ton code...
[00:00:09] écris run() et appuie sur Run_
[00:00:01] démarrage du runtime move-over dans le navigateur...
[00:00:02] chargement du lot de défis : artifact, coin_collector, sticky_treasure
[00:00:03] objectif détecté : renvoyer level::Flag
[00:00:04] analyse du modèle run()... prêt
[00:00:05] aucun wallet requis, aucun réseau requis
[00:00:06] canal partenaire connecté : OpenZeppelin
[00:00:07] bac à sable de simulation d'exploit : actif
[00:00:08] statut du vérificateur : en attente de ton code...
[00:00:09] écris run() et appuie sur Run_
La sécurité des smart contracts Move, dans un runtime navigateur
Move-over est un terrain d'entraînement à la sécurité, dans le navigateur, où l'on apprend en faisant. Plutôt que de t'en tenir à la théorie, tu inspectes du code de contrats vulnérables, tu écris un scénario d'exploit, tu l'exécutes immédiatement et tu vérifies que ta solution renvoie bien l'objet de preuve attendu. La boucle est simple et concrète : lire, écrire, exécuter, renvoyer, améliorer.
Comment fonctionne Move-over dans le navigateur
Chaque niveau tourne dans un runtime intégré au navigateur : aucune configuration de portefeuille, aucune dépendance à l'état de la chaîne, aucune VM locale à installer pour commencer. Tu te concentres sur la logique de sécurité Move : contrôles de propriété, mauvais usage des capabilities, transitions d'état d'objets et construction d'un chemin d'exploit sûr et reproductible qui passe la vérification.
Écris `run()`, renvoie le `Flag` et valide le niveau
L'objectif est clair : écrire le corps de `run()` pour qu'il renvoie le bon objet `*Flag` du défi. Si le type de retour et le comportement collent aux exigences du contrat du niveau, le niveau est validé et ta progression est enregistrée.
Les compétences que tu travailles
- Lire et analyser le comportement de sécurité des smart contracts Move.
- Écrire une logique orientée exploit dans un environnement navigateur contrôlé.
- Renvoyer correctement les objets de preuve et valider des résultats déterministes.
Parcours de départ recommandé
Commence par Artifact pour les bases, enchaîne avec Sticky Treasure pour les patterns de manipulation d'objets, puis attaque Flash Vault pour un raisonnement d'exploit plus poussé. Cette progression construit pas à pas une vraie intuition de la sécurité Move.