CTF et crackmes : former ses équipes à la rétro-ingénierie assistée par agents
La FAQ de crackmes.one commence par une évidence utile : « all crackmes available on this website have been made to be cracked »1. Un crackme est un petit programme qui cache un contrôle (mot de passe, numéro de série) écrit pour être analysé. Depuis l'arrivée de REA en octobre 2026, qui donne à un agent de code les outils d'un rétro-ingénieur, c'est aussi le terrain le plus sûr pour apprendre à travailler avec un agent sur du code compilé : l'analyse est autorisée par l'auteur, et le risque technique se maîtrise en confinant l'exécutable.
Pourquoi commencer par les crackmes
Le guide « New to RE with AI? », publié le 12 octobre dans les discussions du dépôt REA par un amateur qui teste l'outil, propose une échelle de six cibles, de la plus simple à la plus risquée : un petit programme C que l'on écrit soi-même, puis des crackmes et des CTF d'entraînement, puis la version sans symboles d'un petit outil open source comme bzip2, des jeux open source et de vieux programmes, sa propre application web ou une application Electron open source, et enfin un malware, en machine virtuelle uniquement2. Le principe pédagogique tient en une phrase : commencer petit, poser des questions courtes sur un seul fichier, vérifier chaque réponse. Un programme dont vous avez le source vous donne le corrigé. Pour un crackme, le writeup publié en tient lieu.
Les crackmes ont trois qualités pour un débutant. Ils sont petits. Leur auteur autorise l'analyse. Beaucoup ont une solution publiée à laquelle comparer le travail de l'agent. La FAQ de crackmes.one recommande aux débutants le niveau 1, conçu pour eux1.
Ce qu'on apprend vraiment avec un agent
Le guide communautaire oppose de mauvaises demandes à de bonnes. Demander à l'agent de reconstruire tout le programme, ou de passer un contrôle de licence, ne mène nulle part. Lui demander où le programme vérifie l'entrée, puis de l'expliquer en termes simples, fait progresser2. L'apprenant découvre comment un programme décide oui ou non, comment une comparaison apparaît dans l'assembleur, comment une constante trahit un algorithme.
La compétence centrale est la revue. REA rend des conclusions avec leurs preuves (fichier, adresse, instructions) et liste ce qu'il n'a pas pu établir. Un apprenant qui prend l'habitude de réclamer l'assembleur qui justifie chaque réponse, puis de le vérifier, apprend à séparer ce que l'agent a observé de ce qu'il a déduit. Nous avons détaillé cette méthode dans lire une sortie REA. Elle sert ensuite sur du code d'entreprise, où personne ne fournit de corrigé.
Écrire un keygen fait partie de l'exercice : la FAQ de crackmes.one le définit comme la réimplémentation de l'algorithme de validation, accompagnée d'un writeup qui l'explique. Patcher le binaire pendant l'étude est admis (« Patching the binary during your analysis process is completely fine »), mais une solution qui se réduit à un patch n'est en général pas acceptée1.
Les règles d'un entraînement sûr
Un crackme reste un exécutable écrit par un inconnu. crackmes.one demande de toujours l'exécuter dans un environnement isolé (VirtualBox, VMware ou Hyper-V), de prendre des instantanés et de couper le réseau ; les archives sont protégées par le mot de passe « crackmes.one »1. REA n'ajoute aucune isolation : sa politique de sécurité précise qu'il n'est pas un bac à sable3, ce que nous détaillons dans REA n'est pas un sandbox.
Deux autres règles du guide communautaire valent pour toute formation. Les outils navigateur de REA ne visent que des pages que l'on possède, jamais un site tiers. Et les CTF en direct ont leurs propres règlements, qui ne disent pas toujours si un agent compte comme un outil autorisé : sans mention explicite de l'organisateur, on s'abstient2.
Enseigner le cadre avec l'outil
La frontière entre l'exercice et l'infraction est nette. crackmes.one interdit la publication de cracks de logiciels commerciaux, de contournements de DRM, de triches de jeu et de vrais malwares1. Le DISCLAIMER de REA cite les CTF et l'enseignement parmi les usages légitimes, et refuse d'aider à contourner « DRM, license checks, anti-cheat systems or other technical protection measures »4. Une équipe formée sur des crackmes doit savoir pourquoi la même technique, appliquée au contrôle de licence d'un logiciel du commerce, change de statut. Les bases du droit européen de la rétro-ingénierie sont exposées dans clean-room ou reverse engineering, et les usages défensifs dans rétro-ingénierie par agents et sécurité.
En fin de parcours, un analyste pilote Ghidra par un agent, exige une preuve pour chaque affirmation, et sait dire quand une demande sort du périmètre autorisé.
Questions fréquentes
Analyser un crackme est-il légal ?
Oui : ces programmes sont publiés pour être analysés, selon les règles du site qui les héberge. Un logiciel du commerce relève d'un autre cadre.
Faut-il confiner un crackme ?
Oui. Machine virtuelle, instantané, réseau coupé, surtout dès qu'il s'agit de l'exécuter.
Faut-il être expert pour commencer ?
Non. Le niveau 1 de crackmes.one vise les débutants, et un programme C écrit soi-même suffit pour les premières séances.
Peut-on utiliser un agent pendant un CTF ?
Seulement si le règlement de l'épreuve l'autorise. À défaut de mention explicite, mieux vaut s'en passer.
Les formations du SFEIR Institute accompagnent les équipes qui veulent intégrer l'analyse assistée par agents à leurs pratiques : technique, revue des preuves et cadre, sans promesse de certification externe.
Sources
- crackmes.one, FAQ — crackmes.one, consulté le 16 octobre 2026.
- Discussion n° 2412, New to RE with AI? What to reverse engineer first, and how to ask, guide communautaire — github.com, 12 octobre 2026.
- morluto/rea, SECURITY.md — github.com, consulté le 16 octobre 2026.
- morluto/rea, DISCLAIMER.md — github.com, consulté le 16 octobre 2026.
Former vos équipes à l'analyse de code assistée par agents, cadre compris
Voir les formations SFEIR InstituteArticles similaires
Lire une sortie REA : preuves, pseudocode et hallucinations
Une sortie REA mêle preuves localisées, déductions et inconnues. Méthode de revue en trois états, illustrée par les tests publics d'octobre 2026 (744 limitations sur une app Electron, 43 004 inconnues sur Slack), et passage au golden master.
REA n'est pas un sandbox : confiner l'analyse d'un binaire inconnu
La politique de sécurité de REA le dit en toutes lettres : l'outil n'est pas un bac à sable. Ouvrir un binaire inconnu le fait analyser par Ghidra ou Hopper avec vos droits. Ce que protège le pont authentifié, ce qu'il ne protège pas, et comment confiner l'analyse.
Rétro-ingénierie par agents : ce que ça change pour les équipes sécurité
REA a fait de la rétro-ingénierie une session d'agent supervisée : 76 998 étoiles GitHub le 11 octobre 2026, 369 860 le 23. Ce que ça change pour une équipe sécurité : la boîte blanche devient l'avantage du défenseur, le confinement devient obligatoire, et le code interne passe en premier.
Clean-room ou reverse engineering : méthode et risque juridique à l'ère des agents
Rétro-ingénierie et clean-room ne se confondent pas en droit. Ce que la directive 2009/24/CE, le Code de la propriété intellectuelle et la CJUE autorisent, et pourquoi un agent qui lit le décompilé puis réécrit fragilise la défense.