[論文レビュー] I Can't Believe It's Not a Valid Exploit
論文は PoC-Gym を紹介する。LLMs を静的解析トレースで導くことで Java PoC の悪用を生成する framework であり、表面的な成功率が高く見えるが後の検証で崩れる。手動検査で PoC の 71.5% が無効と判定される。
Recently Large Language Models (LLMs) have been used in security vulnerability detection tasks including generating proof-of-concept (PoC) exploits. A PoC exploit is a program used to demonstrate how a vulnerability can be exploited. Several approaches suggest that supporting LLMs with additional guidance can improve PoC generation outcomes, motivating further evaluation of their effectiveness. In this work, we develop PoC-Gym, a framework for PoC generation for Java security vulnerabilities via LLMs and systematic validation of generated exploits. Using PoC-Gym, we evaluate whether the guidance from static analysis tools improves the PoC generation success rate and manually inspect the resulting PoCs. Our results from running PoC-Gym with Claude Sonnet 4, GPT-5 Medium, and gpt-oss-20b show that using static analysis for guidance and criteria lead to 21% higher success rates than the prior baseline, FaultLine. However, manual inspection of both successful and failed PoCs reveals that 71.5% of the PoCs are invalid. These results show that the reported success of LLM-based PoC generation can be significantly misleading, which is hard to detect with current validation mechanisms.
研究の動機と目的
- LLMs を使用したときに静的解析ガイドが PoC 生成を改善するかどうかを評価する。
- Ground-truth の脆弱性位置と PoC を体系的に検証して偽陽性を検出する。
- 現在の LLM ベース PoC 生成パイプラインの限界と実行レベルの検証の有効性を理解する。
- 実世界の CVE で PoC-Gym を従来のシステム(例:FaultLine)と比較する。
- LLM 主導の PoC 生成における障害モードとエラー伝播を特定する。
提案手法
- プロンプト構築、LLM による PoC 生成、フィードバック付きの実行ベース検証を含むパイプライン PoC-Gym を開発する。
- プロンプト内で脆弱性コンテキスト(CVE/CWE)、CodeQL/IRIS からの静的データフロー・トレース、リポジトリメタデータを組み合わせて PoC 生成を誘導する。
- PoC のコンパイル、実行、AspectJ によるインストルメント済みシンク検査によって [VULN] 信号とシンク到達性を判定して検証する。
- 実世界の 20 件の Java CVE(CWE-Bench-Java)を用い、複数の LLM(Claude Sonnet 4、GPT-5 Medium、gpt-oss-20b)をトレース有無で評価する。
- トレース情報と地上 truth のシンクを比較する事後分析を行い、PoC の手動検証を実施する。

実験結果
リサーチクエスチョン
- RQ1静的ソース–シンクトレースのガイダンスは LLM 使用時の PoC 生成成功率を改善するか。
- RQ2自動検証を通過した PoC が地上 truth の脆弱性位置と照合したとき、どれくらいが有効か。
- RQ3「成功」とされる PoC のうち、実際には意図した脆弱性経路を悪用している割合はどれくらいか(偽陽性)?
- RQ4実行レベルの検証手法は出力ベースの検査だけと比べて偽陽性を減らすか。
- RQ5Java 脆弱性の LLM 主導 PoC 生成パイプラインで一般的な失敗モードは何か。
主な発見
- 静的解析のガイダンスを用いると、前提となる FaultLine より PoC 生成の成功率が 21%高くなる。
- 後続分析では、成功と判定された PoC の 71.5% が手動検査で無効と判定された。
- トレース情報がない場合、自動検証は最大で 85% の表面的成功を示すことがあるが、地上 truth 検証によって大幅に減少する。
- トレースガイダンスは初期の成功と地上 truth の妥当性の乖離を減らすが、無効な PoC を完全には排除しない。
- PoC-Gym は Claude Sonnet 4 において CWE-Bench-Java プロジェクトで最大 8/14 の事後成功を達成し、同セットで FaultLine の 5/14 を上回る。
- 失敗の大きな割合は、LLM の伝播的エラー、CVE の誤ラベリング、実際の脆弱性到達性より表層信号に依存することに起因する。

より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。