Vulnerability Detection with Code Language Models: How Far Are We?

要約

コード言語モデル (コード LM) と脆弱性検出への関心が高まっていることを背景に、脆弱性を検出するためのコード LM の有効性を研究します。
私たちの分析により、既存の脆弱性データセットには、データ品質の低さ、ラベルの精度の低さ、重複率の高さなどの重大な欠点が明らかになり、現実的な脆弱性検出シナリオではモデルのパフォーマンスが信頼できなくなります。
さらに、これらのデータセットで使用される評価方法は、現実世界の脆弱性検出を表すものではありません。
これらの課題に対処するために、脆弱性検出のためのコード LM をトレーニングおよび評価するための新しいデータセットである PrimeVul を導入します。
PrimeVul には、データセットを大幅に拡張しながら、人間が検証したベンチマークと同等のラベル精度を達成する、新しいデータ ラベル付け手法のセットが組み込まれています。
また、より現実的な評価指標と設定を導入するとともに、データ漏洩の問題を軽減するために、厳格なデータ重複除外と時系列データ分割戦略も実装します。
この包括的なアプローチは、現実の状況におけるコード LM のパフォーマンスをより正確に評価することを目的としています。
PrimeVul でコード LM を評価すると、既存のベンチマークがこれらのモデルのパフォーマンスを大幅に過大評価していることがわかります。
たとえば、最先端の 7B モデルの F1 スコアは BigVul では 68.26% でしたが、PrimeVul では F1 のスコアはわずか 3.09% でした。
高度なトレーニング技術や GPT-3.5 や GPT-4 などの大規模なモデルを通じてパフォーマンスを向上させる試みは失敗し、最も厳格な設定ではランダムな推測に似た結果が得られました。
これらの調査結果は、現在の機能と、セキュリティの役割にコード LM を展開するための実際的な要件との間にかなりのギャップがあることを強調しており、この分野でのより革新的な研究の必要性を浮き彫りにしています。

要約(オリジナル)

In the context of the rising interest in code language models (code LMs) and vulnerability detection, we study the effectiveness of code LMs for detecting vulnerabilities. Our analysis reveals significant shortcomings in existing vulnerability datasets, including poor data quality, low label accuracy, and high duplication rates, leading to unreliable model performance in realistic vulnerability detection scenarios. Additionally, the evaluation methods used with these datasets are not representative of real-world vulnerability detection. To address these challenges, we introduce PrimeVul, a new dataset for training and evaluating code LMs for vulnerability detection. PrimeVul incorporates a novel set of data labeling techniques that achieve comparable label accuracy to human-verified benchmarks while significantly expanding the dataset. It also implements a rigorous data de-duplication and chronological data splitting strategy to mitigate data leakage issues, alongside introducing more realistic evaluation metrics and settings. This comprehensive approach aims to provide a more accurate assessment of code LMs’ performance in real-world conditions. Evaluating code LMs on PrimeVul reveals that existing benchmarks significantly overestimate the performance of these models. For instance, a state-of-the-art 7B model scored 68.26% F1 on BigVul but only 3.09% F1 on PrimeVul. Attempts to improve performance through advanced training techniques and larger models like GPT-3.5 and GPT-4 were unsuccessful, with results akin to random guessing in the most stringent settings. These findings underscore the considerable gap between current capabilities and the practical requirements for deploying code LMs in security roles, highlighting the need for more innovative research in this domain.

arxiv情報

著者 Yangruibo Ding,Yanjun Fu,Omniyyah Ibrahim,Chawin Sitawarin,Xinyun Chen,Basel Alomair,David Wagner,Baishakhi Ray,Yizheng Chen
発行日 2024-03-27 14:34:29+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.CL, cs.SE パーマリンク