LLMでバイナリを読み解く
Model-Agnostic Staged Pipeline for LLM Decompilation with Quality Inspection
ソースコードが残っていないIoTファームウェアや実行ファイルを対象に、LLMを使ってCコードを復元し、その結果がどこまで信頼できるかを段階的に検査する研究です。
詳しく見る 閉じる
課題
従来のLLM逆コンパイルは、生成されたコードを一回の出力として受け取ることが多く、コンパイルできることと元の挙動に近いことの差が見えにくい課題がありました。
方法
Ghidraの疑似C、関数シグネチャ、ルールベースの品質検査、コンパイラ診断、実行結果を組み合わせ、生成と修復を繰り返すパイプラインを構築しています。
主な結果
HumanEval、MBPP、ExeBench、OpenWrtで評価し、再コンパイル率を各データセットで改善しました。一方で、再コンパイルできても挙動一致までは保証できないことも示しています。