Исследователь из Air Force Research Lab и Metalware выпустил Kuna — экспериментальный декомпилятор, почти полностью написанный силами LLM. Несмотря на это, по качеству структурирования потока управления на программах на C он уже вплотную приблизился к индустриальному стандарту IDA Pro. На свежих бенчмарках Kuna идеально восстанавливает структуру 44.4% функций, тогда как IDA 9.2 справляется с 45.7%.
Такого результата удалось добиться за счёт автономного уточнения. LLM изучал примеры, в которых Kuna проигрывал IDA Pro по недавно открытым фундаментальным метрикам, и методом проб и ошибок выяснял, как конкурирующие продукты решают сложные задачи. Объектами для подражания стали не только IDA Pro, но и Ghidra, и angr decompiler — автор провёл всю свою PhD в качестве ключевого разработчика последнего. В процессе такого обучения LLM самостоятельно перереализовал в Kuna больше двадцати базовых фич angr, на проработку которых у людей ушли годы научных изысканий.
Технически Kuna представляет собой Rust-порт Ghidra от NSA, пересобранный так, чтобы пайплайн больше напоминал устройство angr. Автор подчёркивает: это не замена angr, а эксперимент по выяснению того, чего можно достичь, замыкая цикл разработки на высокоуровневую научную обратную связь. Прямо сейчас написать что-то руками в Kuna было бы значительно сложнее, чем позволить агенту улучшать код самому. Kuna по-прежнему зависит от идей и алгоритмов, рождённых в angr и других открытых проектах, а в случае успеха эксперимента, возможно, уже angr начнёт получать выгоду от находок Kuna.
Полностью автоматическим исследование не назвать. Для запуска осмысленного автоуточнения потребовались годы накопления научных инсайтов, поиск метрик, которые коррелируют с ценностями человека при обратной разработке, и понимание того, какие данные нужны для информативного бенчмарка. Пока весь прогресс сфокусирован на структурировании, тогда как настоящая декомпиляция включает ещё типы, оптимизации, перекомпилируемость, идентификацию переменных и многое другое. Автор рассчитывает на помощь сообщества и планирует технический разбор в отдельной статье, а в числе вдохновителей называет своих PhD-руководителей Фиша и Яна.