REA, le projet GitHub qui affole les compteurs en octobre 2026, branche des outils de rétro-ingénierie sur un agent IA. On explique simplement comment ça marche, ce que dit la loi française et ce que ça change pour votre site.
REA (pour « Reverse Engineer Anything ») est un outil open source qui donne à un agent IA comme Claude Code, Codex ou Cursor les moyens de démonter un logiciel dont il n’a pas le code source. Vous lui montrez une application, un site ou un fichier, vous posez une question (« comment marche cette fonction ? »), et l’agent pilote des outils de rétro-ingénierie pour répondre, preuves à l’appui. Publié sous licence MIT, il dépasse les 180 000 étoiles sur GitHub à la mi-octobre 2026.
On a épluché sa documentation et ses études de cas. Cet article explique ce que fait REA en deux niveaux de lecture : une version simple, avec des schémas, pour comprendre l’idée sans être développeur, et les détails techniques pour ceux qui veulent l’utiliser. On termine par ce que dit la loi française et par ce que ça change concrètement pour un site ou une application d’entreprise.
Sommaire
- REA, c’est quoi exactement ?
- La rétro-ingénierie expliquée simplement
- Comment REA fonctionne, côté technique
- Ce que REA sait analyser
- Un exemple concret : le « Copier » de Notion
- Pourquoi tout le monde en parle en octobre 2026
- Est-ce légal en France ?
- Ce que ça change pour votre site ou votre application
- À qui ça ne sert pas
- Questions fréquentes
REA, c’est quoi exactement ?
REA est un projet publié sur GitHub par le développeur « morluto », créé le 14 avril 2026 et écrit en TypeScript. Son slogan résume l’idée : « See a feature you like. Understand how it works, down to the binary level. » Autrement dit : vous voyez une fonctionnalité qui vous plaît dans une application, vous voulez comprendre comment elle marche, jusqu’au niveau du programme compilé.
REA n’est pas une IA en lui-même. C’est une boîte à outils que l’on branche sur une IA. L’agent (Claude Code, Codex, Cursor, Gemini CLI, Grok Build et d’autres) reste celui qui réfléchit, pose les questions et rédige les explications. REA lui fournit les instruments qu’il n’a pas de base : ouvrir un exécutable, désassembler un programme, suivre un appel à travers une application Electron, observer un site dans Chrome, lire une application Android.
Le projet insiste sur un point : chaque conclusion est rendue avec ses preuves et ses limites (l’endroit exact du code où elle a été trouvée, et ce qui reste incertain). C’est ce qui le distingue d’une IA à qui l’on demanderait simplement « à ton avis, comment fonctionne cette appli ? ».
La rétro-ingénierie expliquée simplement
Un logiciel commence sa vie sous forme de code source : un texte écrit par des développeurs, avec des noms parlants comme total ou livraison, et des commentaires. Avant de vous être livré, ce texte est compilé, c’est-à-dire traduit en une suite d’instructions pour le processeur. Le fichier que vous installez (un .exe, une appli Mac, un .apk Android) ne contient plus que cette traduction : des octets illisibles pour un humain, mais parfaitement exécutables.
La rétro-ingénierie fait le chemin inverse. On part du programme livré et on remonte vers une forme compréhensible. C’est un peu comme retrouver une recette en analysant le gâteau : les noms et les commentaires d’origine sont perdus, mais la logique, elle, se lit encore.
Ce travail se fait en trois étages, et c’est là que REA automatise ce qui prenait des journées :
- Le désassemblage transforme les octets en instructions du processeur (« compare ce registre à 100, saute plus loin si c’est inférieur »). C’est exact, mais très bas niveau.
- La décompilation regroupe ces instructions en pseudo-code qui ressemble à un langage de programmation (
if (v3 > 100)). Les variables ont perdu leur nom, mais on reconnaît les conditions, les boucles, les appels. - L’interprétation consiste à comprendre ce que tout cela veut dire en langage humain (« la livraison est offerte au-delà de 100 € »). C’était le travail d’un spécialiste. Avec REA, c’est l’agent IA qui le fait, en citant l’adresse du code qui justifie sa conclusion.
Pour les sites et les applications web, c’est encore plus simple : le code JavaScript est envoyé tel quel au navigateur. Il est souvent « minifié » (compressé, avec des noms raccourcis), mais il n’a pas besoin d’être désassemblé. Il faut surtout retrouver son chemin dans des milliers de lignes, ce qu’une IA outillée fait bien.
Comment REA fonctionne, côté technique
REA se présente sous deux formes : un serveur MCP que votre agent appelle, et une ligne de commande (rea) qui donne accès aux mêmes analyses depuis un terminal.
MCP : la prise qui relie l’IA aux outils
Le Model Context Protocol (MCP) est un standard ouvert, lancé par Anthropic fin 2024, qui permet à un assistant IA d’utiliser des outils externes. On peut le comparer à une prise universelle : tout outil qui parle MCP peut être branché sur n’importe quel agent compatible. Si la notion d’interface entre logiciels vous est peu familière, notre article qu’est-ce qu’une API pose les bases.
Concrètement, REA expose à l’agent une liste d’outils spécialisés (analyser une application JavaScript, ouvrir un binaire, lister ses fonctions, lire une fonction décompilée, chercher qui l’appelle, observer un site, etc.). L’agent choisit lui-même lesquels appeler et dans quel ordre, en fonction de la question posée.
Les moteurs d’analyse sous le capot
REA ne réinvente pas le désassemblage. Pour les programmes compilés, il pilote des logiciels reconnus : Ghidra (gratuit et open source, publié par la NSA américaine), Hopper ou IDA (commerciaux). Pour Android, il s’appuie sur JADX, pour les sites sur un navigateur de la famille Chrome. L’analyse statique de JavaScript et de .NET fonctionne sans aucun de ces moteurs.
L’installation
Il faut Node.js (version 22.19 ou plus récente) et npm. Une seule commande enregistre REA auprès des agents choisis et installe ses consignes de travail :
npx rea-agents setup
L’assistant d’installation montre les modifications prévues, sauvegarde votre configuration existante et attend votre accord. On redémarre ensuite l’agent, et on peut lui écrire en langage naturel, par exemple : « Comprends comment fonctionne la recherche dans cette application, montre-moi les preuves et construis une fonction similaire pour mon projet. » En ligne de commande, l’analyse d’une application Electron extraite ressemble à ceci :
npx -y rea-agents@latest analyze-javascript-application /chemin/vers/app --json
Point d’attention : l’installation modifie la configuration de vos agents IA. Comme pour tout outil qui reçoit ce niveau d’accès, prenez le temps de regarder ce qu’il propose de changer avant de valider.
Ce que REA sait analyser
La liste est longue. Voici les cibles principales, d’après la documentation du projet :
| Cible | Ce que REA en tire | Ce qu’il faut |
|---|---|---|
| Programmes compilés (Windows, Mac, Linux) | Pseudo-code, assembleur, textes, symboles, appels | Ghidra, Hopper ou IDA |
| Applications JavaScript et Electron | Modules, dépendances, cartes de sources, échanges internes (IPC) | Node.js seulement |
| Sites web | Structure, scripts, requêtes réseau, captures d’écran | Un navigateur type Chrome |
| Applications Android | Manifeste, classes, méthodes décompilées | JADX et un JDK |
| Assemblages .NET | Métadonnées, instructions, dépendances | Rien (lecture seule) |
| Binaires Go, WebAssembly, contrats Ethereum | Version de compilation, modules, imports et exports, fonctions | Selon la cible |
| Captures réseau, bases SQLite, firmwares | Requêtes, tables, régions extraites | Outils dédiés (tshark, binwalk…) |
Les analyses dites statiques lisent les fichiers sans lancer l’application. Les analyses « en direct » (observation d’un site, capture d’un processus) lancent ou pilotent réellement la cible, avec vos droits d’utilisateur. La documentation le précise pour chaque mode, et c’est important pour la suite.
Un exemple concret : le « Copier » de Notion
Le site du projet publie plusieurs études de cas. La plus parlante pour un public non spécialiste porte sur Notion Desktop. La question : que se passe-t-il exactement quand on copie un bloc dans Notion, pour qu’il garde sa mise en forme quand on le recolle ?
Notion Desktop est une application Electron : une page web embarquée dans une fenêtre, plus un « cœur » en Node.js qui, lui, a accès au système (fichiers, presse-papiers). Par sécurité, la page n’a pas le droit de toucher au système directement. Elle doit passer par un pont, l’IPC (communication entre processus).
En analysant le code de l’application, l’agent a retrouvé la chaîne complète : l’API __electronApi.clipboard.write exposée à la page, le script de « preload » qui envoie le message sur le canal notion:clipboard:write, puis le gestionnaire du processus principal qui vérifie que l’appel vient bien d’une page Notion avant d’écrire dans le presse-papiers. On y apprend aussi le secret du collage : en plus du texte et du HTML, Notion range la structure des blocs dans un format qui lui est propre, et la relit au moment du collage.
L’étude reste honnête sur ses limites : le code est minifié, les extraits sont simplifiés, et une partie du lien a été établie en lisant le code à la main. C’est un bon résumé de ce que l’outil est : un accélérateur d’enquête, pas une baguette magique.
Les autres études vont plus loin dans la technique. Sur le jeu DX-Ball, la fonction qui calcule la position d’un son entre les haut-parleurs gauche et droit a été reconstruite en C : elle donne les mêmes résultats que le programme x86 d’origine sur 3 205 cas de test, et une fois recompilée, elle reproduit à l’identique ses 63 octets d’origine.
Pourquoi tout le monde en parle en octobre 2026
REA est apparu dans les tendances GitHub autour du 8 octobre 2026, et les chiffres ont suivi :
- Plus de 181 000 étoiles et 43 000 copies (forks) sur GitHub au 13 octobre 2026, pour un dépôt créé six mois plus tôt.
- 132 518 téléchargements npm du paquet
rea-agentssur la semaine du 5 au 11 octobre, contre 134 114 sur les trente derniers jours : presque tout l’usage s’est concentré sur cette seule semaine. - Trois versions en deux jours (6.2.0 et 6.3.0 le 9 octobre, 6.4.0 le 11 octobre), signe d’un projet en développement très rapide.
Ces chiffres sont à lire avec un peu de recul : une étoile mesure l’attention, pas l’usage réel. Mais le sujet touche une corde sensible. Jusqu’ici, la rétro-ingénierie était réservée à des spécialistes de la sécurité. En la confiant à un agent IA, REA la rend accessible à n’importe quel développeur, et c’est exactement ce qui fait débat.
Est-ce légal en France ?
C’est la première question à se poser, et la réponse dépend de ce que l’on fait. En France, le cadre est l’article L122-6-1 du Code de la propriété intellectuelle. Deux de ses paragraphes autorisent, sans demander la permission de l’éditeur, une partie de ce que fait REA :
| Ce que vous faites | Ce que dit la loi |
|---|---|
| Observer, étudier ou tester le fonctionnement d’un logiciel que vous avez le droit d’utiliser, pour en comprendre les idées et les principes | Autorisé (article L122-6-1, III), dans le cadre de l’utilisation normale du logiciel |
| Décompiler une partie d’un logiciel pour le faire communiquer avec un autre logiciel (interopérabilité) | Autorisé sous conditions (article L122-6-1, IV) : utilisateur légitime, information pas déjà disponible, limité aux parties nécessaires |
| Réutiliser les informations obtenues pour créer un logiciel substantiellement similaire | Interdit (même article, IV) |
| Copier le code, les images ou les textes d’un logiciel | Contrefaçon, quel que soit l’outil utilisé |
| Contourner une protection (licence, DRM, anti-triche, authentification) | Interdit, et exclu explicitement par le projet REA |
Le projet lui-même publie un avertissement détaillé. Il réserve REA à l’analyse légale : recherche en sécurité, analyse de logiciels malveillants, compétitions de type CTF, enseignement, interopérabilité, préservation de vieux logiciels, et audit de logiciels que vous possédez ou que vous êtes autorisé à examiner. Il précise aussi qu’obtenir un pseudo-code ne donne aucun droit sur le programme d’origine.
En pratique : comprendre l’idée d’une fonctionnalité et la recoder à votre façon relève de l’étude. Reproduire le même produit, avec le même code ou la même interface, relève de la copie. Ajoutez à cela les conditions d’utilisation de chaque logiciel, qui interdisent souvent la décompilation en dehors des cas prévus par la loi. Dans le doute, un avis juridique coûte moins cher qu’un litige.
Ce que ça change pour votre site ou votre application
Même si vous n’utiliserez jamais REA, son arrivée vous concerne. Ce qu’il fait n’est pas nouveau : n’importe quel spécialiste pouvait déjà lire le code de votre site. Ce qui change, c’est que cela ne demande plus de compétence particulière. Il suffit de savoir poser une question à une IA.
Trois réflexes en découlent :
- Aucun secret côté navigateur. Une clé d’API, un mot de passe ou un jeton placés dans le JavaScript sont publics, minifiés ou non. Ils doivent rester sur le serveur, derrière votre propre API.
- Les règles métier se vérifient sur le serveur. Un prix, une remise ou un droit d’accès calculés uniquement dans le navigateur peuvent être lus, compris et contournés. Le navigateur affiche, le serveur décide.
- Pas de cartes de sources en production. Les fichiers
.mapservent à déboguer. Laissés en ligne, ils redonnent votre code presque tel que vous l’avez écrit, commentaires compris.
Ces points font partie des bases que l’on détaille dans notre guide sur la sécurité des applications web, et dans les 10 mesures de cybersécurité qu’une TPE peut appliquer cette semaine. Si vous faites développer une application web sur mesure, c’est une question à poser dès le cahier des charges : qu’est-ce qui tourne dans le navigateur, et qu’est-ce qui reste sur le serveur ?
Il y a aussi un usage positif, et très concret pour les PME : l’interopérabilité avec un vieux logiciel métier. Beaucoup d’entreprises utilisent un outil dont l’éditeur a disparu, sans documentation ni export. Comprendre son format de fichiers ou ses échanges pour en extraire vos propres données, et les brancher sur un outil moderne, entre précisément dans le cas prévu par la loi. C’est le genre de chantier que l’on traite en intégration et automatisation.
À qui ça ne sert pas
- À ceux qui veulent récupérer le code source d’origine. REA reconstruit une logique à partir d’indices. Les noms, la structure et les commentaires d’origine ne reviennent pas, et le projet le dit lui-même.
- À ceux qui veulent cloner un concurrent. Techniquement, l’outil aide à comprendre une idée. Juridiquement, en refaire un produit similaire vous expose.
- À ceux qui débutent avec la ligne de commande. L’installation reste simple, mais l’analyse de programmes compilés demande un moteur comme Ghidra et un minimum de recul pour vérifier ce que l’IA affirme.
- À ceux qui veulent une réponse garantie. La décompilation et l’interprétation par IA peuvent être incomplètes ou fausses. Le mérite de REA est de montrer les preuves : encore faut-il les relire.
Questions fréquentes
REA est-il gratuit ?
Oui, REA est open source sous licence MIT. En revanche, certains moteurs qu’il pilote sont payants (IDA, Hopper au-delà du mode démo), et l’agent IA que vous utilisez a son propre abonnement. Ghidra, lui, est gratuit.
REA envoie-t-il mon application sur internet ?
Non, l’analyse se fait sur votre ordinateur. Mais les résultats sont transmis à votre agent IA, donc au fournisseur du modèle (Anthropic, OpenAI, Google…), selon sa propre politique de données. Pour un logiciel confidentiel, c’est à prendre en compte.
Avec quels agents IA fonctionne-t-il ?
L’installateur configure Claude Code, Codex, Cursor, Gemini CLI et Grok Build, entre autres. Tout agent capable d’utiliser un serveur MCP local peut s’en servir avec une configuration manuelle.
Est-ce qu’on peut analyser un site web avec REA ?
Oui : structure de la page, scripts chargés, requêtes réseau et captures d’écran, à l’aide d’un navigateur de la famille Chrome. Cela ne donne accès qu’à ce que le site envoie déjà à tout visiteur, jamais au code du serveur.
Mon site peut-il être « démonté » par REA ?
Sa partie visible, oui, comme elle l’était déjà avec les outils de développement de n’importe quel navigateur. Si vos secrets et vos règles métier restent côté serveur, il n’y a rien de sensible à y trouver.
Sources
- Dépôt GitHub du projet REA (README, documentation)
- Avertissement et usages autorisés de REA (DISCLAIMER.md)
- Étude de cas Notion, rea.tools
- Étude de cas DX-Ball, rea.tools
- Paquet npm rea-agents et statistiques de téléchargement npm
- Article L122-6-1 du Code de la propriété intellectuelle, Légifrance
- Model Context Protocol, documentation officielle
- Ghidra, site officiel





