Décryptage

REA : la rétro-ingénierie confiée aux agents de code

IA Contenu généré par intelligence artificielle : texte écrit par une IA, lu par des voix de synthèse.

Intégrer ce passage sur votre site

Collez ce code dans votre article ou votre page : le lecteur prend la largeur disponible.

Thème

Transcription avec les sources de chaque passage

Théa

Le projet open source REA propose un serveur local qui donne aux agents de code des outils de rétro-ingénierie, selon AlphaSignal. Distribué sous licence MIT dans le paquet npm rea-agents, il utilise le protocole MCP. Cette interface permet à un agent de code d’appeler des outils externes depuis son environnement de travail. REA peut inspecter une application sans accès à son code source, en retracer le fonctionnement et aider à recréer certaines fonctionnalités. Il ne prétend pas retrouver le code original. L’objectif est plutôt d’examiner ce qu’un logiciel fait, puis de s’appuyer sur les éléments observables pour tenter d’en reproduire certains comportements. Le projet vise notamment les développeurs qui doivent comprendre un logiciel existant. Le dépôt comptait 90 étoiles sur GitHub au moment de l’article.

Théa

Pour l’analyse approfondie des logiciels natifs, REA s’appuie sur Hopper, Ghidra ou IDA Pro. L’utilisateur doit fournir les licences de ces outils : REA ne les inclut donc pas. Pour l’analyse statique de JavaScript et d’Electron, seul Node.js est nécessaire. REA couvre aussi plusieurs familles de logiciels et de fichiers : les binaires Mach-O, ELF et PE, les applications .NET et Android, les micrologiciels et l’inspection passive de sites web. Il ne s’agit pas d’une méthode identique pour tous ces cas. Les outils nécessaires varient selon le logiciel étudié : l’analyse native peut demander un moteur externe sous licence, tandis que JavaScript et Electron ne nécessitent que Node.js.

Théa

La configuration de REA peut se faire avec la commande n p x rea-agents setup. Le serveur est compatible avec des clients comme Claude Code, Cursor, Codex et Gemini CLI. Ces agents peuvent ainsi accéder aux fonctions d’analyse de REA depuis des clients de code différents. Ils peuvent inspecter des applications sans accès à leur code source, en retracer le fonctionnement et aider à recréer des fonctionnalités. Pour un développeur, l’intérêt est de disposer d’indices sur le comportement d’un logiciel existant afin de guider une nouvelle implémentation. Cela peut être utile lorsqu’il faut comprendre une fonction sans disposer du programme source. Mais il s’agit d’une aide à l’analyse et à la reproduction, pas d’une récupération automatique du code original.

Théa

REA accompagne ses résultats d’éléments de preuve, d’un niveau de confiance et de limites. Le projet ne prétend pas récupérer le code source original. Ces indications permettent de voir sur quoi repose une conclusion et ce qui reste incertain. L’analyse peut donc guider une tentative de reproduction, mais elle ne fournit pas le programme d’origine. À retenir, REA donne aux agents de code des outils pour examiner des applications et des binaires, même lorsque leur code source n’est pas accessible. Pour certains logiciels natifs, l’analyse dépend toutefois d’outils externes dont l’utilisateur doit fournir les licences. La portée des résultats dépend ainsi à la fois du logiciel étudié et des outils disponibles.

Une erreur ?

Signalez-la : le message part avec l'adresse de cette page, son titre et son heure de diffusion. Une personne mise en cause peut aussi exercer son droit de réponse.

Signaler une erreur

Un mot pour la rédaction ?

Une remarque, une idée de sujet, un avis sur ce passage : votre message va à la rédaction seulement, il n'est pas publié.