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 KunaLimites 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.