Personnes travaillant dans un bureau moderne, éclairage chaud, concentrées sur des écrans d'ordinateur.

L’IA peut reconstruire des logiciels à partir de leurs binaires

Intezer a réussi à faire reconstruire des logiciels entiers — Finder de Mac, le client Slack et un échantillon de malware TinyTurla — en partant uniquement de leurs fichiers binaires et de la documentation fournie par les éditeurs. Ces agents d’intelligence artificielle ont prouvé qu’il est possible de transformer des exécutables opaques en code source lisible et entièrement fonctionnel.

Ce travail, mené en collaboration avec Eran Segal, pose une question fondamentale sur la nature de la propriété intellectuelle logicielle : si le code est compilé et distribué sous forme binaire, sa source reste-t-elle réellement inaccessible ? Les chercheurs ont utilisé des agents IA, dont Codex fonctionnant sous GPT-5.6-sol-high, pour diriger l’intégralité du processus d’ingénierie.

Le résultat est frappant. Pour l’application Slack, le client, écrit en TypeScript et basé sur Electron, a été reconstruit jusqu’à permettre à l’équipe de déployer une nouvelle fonctionnalité : une complétion de texte assistée par IA locale. Les chercheurs ont atteint cinq critères de succès stricts pour la reconstruction, incluant la lisibilité du code, son caractère idiomatique, et une identité comportementale parfaite avec l’application originale.

Vue aérienne d'un environnement de laboratoire technique, mettant en évidence des postes de travail spécialisés.

La faisabilité technique au-delà de l’assemblage

La promesse ancienne selon laquelle la lecture de langage assembleur suffisait pour déverrouiller un logiciel est remise en question. Avec les modèles IA actuels, le besoin de maîtriser l’assemblage s’estompe, du moins pour l’instant. Intezer a testé trois cibles réelles et complexes. Finder, utilitaire Mac courant, présentait déjà une certaine complexité dans sa structure de fichiers. Le client Slack, quant à lui, contient plus de 500 000 fonctions, dont la majorité provient de bibliothèques tierces. Pour déchiffrer ce gâchis de code minimisé, Claude a été sollicité pour identifier ces dépendances.

Concernant le malware TinyTurla, considéré comme la cible la plus difficile, les métriques de comparaison sont très parlantes. En comparant le binaire reconstruit avec l’original à l’aide de BinDiff, les chercheurs ont obtenu une similarité de 92,8 %, avec un taux de confiance de 98,7 %. En termes simples, la copie est bâtie de manière presque identique à l’original.

Les limites actuelles et les pistes de défense

Malgré ces réussites, la reconstruction n’est pas toujours totale. Pour Finder, certains aspects liés aux services macOS, comme le statut de synchronisation ou les actions hors ligne, restent incomplets. De même, bien que l’équipe ait construit une version de serveur Slack compatible utilisant SQLite en se basant sur l’inspection réseau et la documentation, elle présente des lacunes. L’entreprise Intezer insiste sur le fait que cette recherche s’est déroulée dans un environnement isolé, à des fins purement éducatives et de sécurité.

Face à cette avancée, les chercheurs ne restent pas les bras croisés. Ils suggèrent aux industriels d’adopter des outils d’obfuscation et de chiffrement. Selon Intezer, ces mécanismes « augmentent la barre » pour les agents IA, obligeant l’industrie logicielle à s’adapter à cette nouvelle réalité de la déconstruction automatisée.

Sources