Présentation de Kuna

Kuna est un décompilateur expérimental développé pendant l'été par un chercheur invité au laboratoire de recherche de l'armée de l'air américaine (AFRL) et un chercheur associé à Metalware. Cependant, la particularité de ce projet est que presque toutes les lignes de code ont été écrites par un modèle de langage (LLM).

Fonctionnement de Kuna

Kuna rivalise avec le décompilateur standard de l'industrie, IDA Pro (9.2), en termes de structuration de flux de contrôle sur les programmes C. Dans des résultats de benchmark récents, Kuna atteint une structuration parfaite sur 44,4% des fonctions, contre 45,7% pour IDA Pro. Cela a été réalisé grâce à un affinement autonome : l'LLM étudie les exemples où il performe moins bien que IDA Pro sur des métriques fondamentales, qui n'ont émergé que ces dernières années.

Exemple de code Kuna

Limites et perspectives

Kuna est limité car il nécessite des connaissances scientifiques pour commencer l'affinement automatique. De plus, il nécessite l'utilisation d'autres décompilateurs open-source, tels qu'angr, pour fonctionner. L'auteur du projet souligne que Kuna est un experiment pour voir si il est possible de développer un outil scientifiquement intéressant qui s'améliore automatiquement.

Implications et avenir

Kuna a besoin de l'aide de la communauté pour améliorer les types, les optimisations, la recompilabilité et l'identification des variables. L'auteur invite les intéressés à consulter le code ou à attendre un article technique plus détaillé. Le projet Kuna est un exemple de développement de décompilateurs avec des agents de codage et ouvre de nouvelles perspectives pour la recherche dans ce domaine.