arXiv論文メモ
新着一覧
cs.SE · 査読状況未確認

汚染データの伝播モデルが安全側に正しいか検証

Soundness Checking of Taint Flow Models

Samarth Kishor, Victor Nicolet, Joey Dodds

この論文をやさしく読む

ひとことで言うと

LLMが作ったデータ伝播の規則に見落としがないか、静的解析で証明する方法。

何に役立つ?

大規模なGoプログラムの汚染データ解析で、ライブラリの伝播モデルを作成・検証する作業に役立つ。

この研究の面白いところ

伝播しないはずの経路を逆に洗い出して証明し、不足する場合だけ呼び出し先へ再帰的に進む。97モデルで評価した。

どこまで分かった?

評価は6件の大規模Goコードベースと97件のLLM生成モデルに基づく。健全性を証明できたのは対象メソッドの93%で、残りについての保証は要旨からは分からない。

v1のアブストラクトに基づくAI解説。日本語訳とは別に、用途の解釈を含みます。

アブストラクトの日本語訳

命令型プログラミング言語に対する最先端の静的な汚染データ伝播解析は、利用者がライブラリのメソッドについて精密な伝播モデルを与えることで、大規模アプリケーションにも適用できる。しかし、メソッドの伝播を手作業で正確にモデル化するのは面倒で、見落としのために健全性が損なわれるおそれがある。一方、メソッド間をまたぐ汚染解析で自動的にモデル化すると非効率になりうる。そこで、(1)LLMエージェントが精密なメソッドの伝播モデルを生成し、(2)記号的アルゴリズムがその健全性を検査する、推測と検証の手法を提案する。 検査アルゴリズムは、LLMが作ったモデルが健全であるために、そのメソッド内で起こってはならない汚染伝播を導き、型システムやポインタ解析などの軽量な静的解析で、その伝播が起こらないことを証明する。これだけでは不十分な場合は、呼び出し先について最大限一般的なモデルを導き、その健全性を再帰的に検証する。これにより多くの場合、メソッド間の完全な汚染解析を避けられる。精度の高いモデルほど検証すべき「起こってはならない伝播」が少なくて済むため、LLMのモデルの精度が手法の効率を直接左右する。大規模なGoコードベース6件のメソッドに対しLLMが作成した伝播モデル97件で評価し、対象メソッドの93%についてモデルの健全性を証明した。証明できたLLM生成モデルは精密でもあり、汚染伝播の性質を証明する際に新たな偽陽性を生じなかった。

v1の要旨から自動生成。本文の精読・人による確認は未実施。

初稿
2026-09-23(UTC)
最新改訂
2026-09-23 · v1
査読・掲載
査読状況未確認
arXivで読むPDF

更新履歴

取得できた版を表示。版の更新は査読済みを意味しません。過去版の本文差分は未解析です。

原文の要旨

Existing state-of-the-art static taint flow analyses for imperative programming languages can scale to large applications by using precise user-provided taint flow models of library methods. However, manually and precisely modeling a method's taint flows is tedious and potentially unsound. Furthermore, automatically modeling the method via an inter- procedural taint analysis can be inefficient. To solve this problem, we propose a guess-and-check approach: (1) an LLM agent that generates a precise taint flow model of a method and (2) a symbolic algorithm to check the soundness of the model. The algorithm deduces which taint flows must not occur in the method for the LLM's taint flow model to be sound, and uses lightweight static analyses (e.g., type system and pointer analysis) to prove these must-not-flows. When these analyses are insufficient, the algorithm deduces maximally-general callee models and recursively verifies their soundness, avoiding a full inter-procedural taint analysis in most cases. Since a more precise model requires fewer must-not-flows to be verified, the precision of the LLM's model directly determines the efficiency of our approach. We evaluate our approach on 97 LLM-generated taint flow models for methods in 6 large Go codebases and prove the models sound for 93% of the methods they cover. The proven-sound LLM-generated models are also precise, resulting in no new false-positives when proving taint flow properties.

arXiv ID: 2609.28750 / 要約の誤りについて