Votre logiciel est lisible par n'importe quel agent : guide pour éditeurs
Le 20 octobre 2026, Connor Turland a cartographié le client de bureau de Slack avec REA en 52 secondes : 529 fichiers JavaScript, 1 904 modules, 45 canaux IPC, 8 add-ons natifs. Si vous éditez un logiciel, partez de ce chiffre : tout ce que vous installez sur le poste de vos clients se lit désormais en une minute, par n'importe qui disposant d'un agent de code.
Ce qu'un agent voit de votre application
Le README de REA décrit ce que l'outil renvoie par type de cible1. Pour une application Electron : modules, imports, source maps, routes, canaux IPC et add-ons natifs, sans lancer l'application. Pour une assembly .NET : métadonnées, instructions CIL et dépendances natives. Pour une APK : manifeste, classes, méthodes décompilées. Pour un binaire natif, avec Ghidra, Hopper ou IDA : pseudocode, assembleur, chaînes, symboles, appels.
Le niveau de détail dépasse la cartographie. Turland dit avoir compris la logique d'un contrôle de notifications de Slack en une dizaine de minutes2. Le README de REA assume l'usage : voir une fonctionnalité dans une application, demander à l'agent comment elle marche, puis en construire une version pour son propre projet1. Le détail des tests figure dans ce que REA révèle d'une application Electron.
Ce que vous ne pouvez plus cacher
Trois catégories passent du « difficile à trouver » au « lisible en une session ». Les secrets embarqués : clés d'API, jetons, identifiants de services tiers placés dans le binaire ou l'archive (voir secrets et logique métier dans l'ASAR). La logique métier exécutée côté client : règles de calcul, contrôles de droits, activation de fonctionnalités. La carte de vos appels réseau : points de terminaison, formats, en-têtes.
Minification, empaquetage et compilation native ralentissent un humain. Ils gênent peu les outils d'un agent : dans le test d'Ishank Choudhary sur une application JavaScript minifiée, l'analyseur statique de REA a gardé l'expression réelle d'un libellé de canal plutôt qu'une chaîne inventée5. Notre article sur l'obfuscation face aux agents détaille ce qu'elle protège encore.
Où déplacer la valeur
Traitez le client comme public. Aucun secret durable dans le binaire livré : les clés restent sur vos serveurs, et le client reçoit des jetons courts, émis à l'exécution et révocables. La validation qui compte (droits, quotas, licences, calculs tarifés) se refait côté serveur, même si le client la fait aussi pour l'ergonomie. La logique qui fait votre différence vit derrière une API que vous contrôlez.
Le reste de vos actifs se copie mal : vos données, vos utilisateurs, votre infrastructure, votre distribution, la qualité de votre support et le rythme de vos livraisons. Un concurrent qui copie une fonctionnalité vue dans votre client repart sans votre historique d'incidents, ni les réglages que ces incidents vous ont appris.
Testez vous-même ce qu'un agent voit de votre produit, sur votre propre build, avant vos concurrents. Sur votre propre code, la question d'autorisation se limite aux composants tiers : votre build embarque souvent des dépendances et des SDK sous leur propre licence.
Ce que la licence et le droit protègent encore
Une licence peut restreindre la rétro-ingénierie, mais en France une partie de ces clauses est nulle. L'article L122-6-1 du Code de la propriété intellectuelle déclare nulle et non avenue toute stipulation contraire à la copie de sauvegarde, à l'observation et à l'étude du fonctionnement lors d'une utilisation autorisée, et à la décompilation nécessaire à l'interopérabilité3. Le détail est dans clauses de licence et rétro-ingénierie.
Le code lui-même et vos assets restent protégés. La Cour de justice de l'Union européenne a jugé en 2012 que la fonctionnalité d'un programme, son langage et le format de ses fichiers de données ne sont pas protégés par le droit d'auteur4. Un concurrent qui réimplémente un comportement est sur un terrain différent de celui qui recopie votre code. Le hub clean-room ou reverse engineering pose les distinctions, et décompiler pour interopérer détaille l'exception d'interopérabilité.
Questions fréquentes
Faut-il arrêter d'obfusquer ?
Non. Gardez l'obfuscation comme ralentisseur, sans en faire votre défense principale.
Un secret présent dans mon application est-il exposé ?
Considérez que oui. Révoquez-le, déplacez-le côté serveur et remplacez-le par un jeton court.
Une clause anti-rétro-ingénierie me protège-t-elle ?
Partiellement. En France, elle ne peut pas interdire l'observation du fonctionnement ni la décompilation pour l'interopérabilité dans les conditions de la loi. Faites relire vos licences par votre juriste.
Faire l'audit avant les autres
L'offre AI Cyber passe votre propre code et vos builds aux mêmes outils qu'un agent extérieur, puis livre la liste de ce qu'il faut retirer du client, avec les correctifs. Le hub rétro-ingénierie par agents et sécurité donne la vue d'ensemble.
Sources
- morluto/rea, README, github.com/morluto/rea, consulté le 21 octobre 2026.
- Connor Turland, What is REA (Reverse Engineer Anything)? I ran it on Slack to find out, atcyrus.com, 20 octobre 2026.
- Code de la propriété intellectuelle, article L122-6-1, legifrance.gouv.fr.
- CJUE, 2 mai 2012, SAS Institute Inc. c. World Programming Ltd, C-406/10, curia.europa.eu.
- Ishank Choudhary, I Tested REA, GitHub's Viral Reverse Engineering Tool, on a Real Electron App, hackernoon.com, 14 octobre 2026.
Mesurer ce qu'un agent lit de votre produit, puis corriger
Découvrir AI CyberArticles similaires
Applications Electron : secrets et logique métier exposés dans l'ASAR
L'archive app.asar d'une application Electron se lit sans la lancer : un agent équipé de REA y cartographie modules, canaux IPC et add-ons natifs en une minute. Ce qu'un éditeur doit retirer de son client, et ce que l'intégrité de l'archive protège ou non.
Obfuscation et protection du code à l'ère des agents
Minification, bundling, compilation native : ces protections ralentissaient un analyste humain. Face à un agent qui pilote un décompilateur et des outils de désobfuscation, que valent-elles encore ? Ce que l'obfuscation protège toujours, et où placer la vraie défense. Approche défensive.
Clauses de licence et rétro-ingénierie : ce qui est nul en France
Beaucoup de licences interdisent toute rétro-ingénierie. En France, le dernier alinéa de l'article L122-6-1 du Code de la propriété intellectuelle rend nulles certaines de ces clauses. Lesquelles, et ce qu'un contrat peut encore interdire.
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.