Core Concepts
LLMを活用して、既存の人間が書いたプロパティを転移学習し、未知のコードに対してカスタマイズされたプロパティを自動生成することで、スマートコントラクトの効果的な形式的検証を実現する。
Abstract
本論文は、LLMを活用したスマートコントラクトの形式的検証パイプラインであるPropertyGPTを提案している。
主な特徴は以下の通り:
既存の人間が書いたプロパティを検索データベースに埋め込み、未知のコードに対して検索支援型の生成プロンプトを使ってLLMによるプロパティ生成を行う。
コンパイル時のフィードバックを利用してLLMが生成したプロパティを反復的に修正し、コンパイル可能なプロパティを得る。
複数の類似性指標を組み合わせた重み付けアルゴリズムを用いて、生成されたプロパティを適切に順位付けする。
専用のプルーバを設計し、生成されたプロパティの正しさを形式的に検証する。
実験の結果、PropertyGPTは人間が書いたプロパティの80%を再現でき、既知の37件のCVEのうち26件を検出し、さらに12件の未知の脆弱性を発見した。これにより合計$8,256の賞金を獲得した。
Stats
既知の37件のCVEのうち26件を検出した
12件の未知の脆弱性を発見した
Quotes
"PropertyGPTは、既存の人間が書いたプロパティを転移学習し、未知のコードに対してカスタマイズされたプロパティを自動生成することで、スマートコントラクトの効果的な形式的検証を実現する。"
"PropertyGPTは、コンパイル時のフィードバックを利用してLLMが生成したプロパティを反復的に修正し、コンパイル可能なプロパティを得る。"
"PropertyGPTは、複数の類似性指標を組み合わせた重み付けアルゴリズムを用いて、生成されたプロパティを適切に順位付けする。"