論文の概要: Identifying Vulnerability Patches by Comprehending Code Commits with Comprehensive Change Contexts
- arxiv url: http://arxiv.org/abs/2310.02530v1
- Date: Wed, 4 Oct 2023 02:08:18 GMT
- ステータス: 処理完了
- システム内更新日: 2024-03-19 03:21:56.700269
- Title: Identifying Vulnerability Patches by Comprehending Code Commits with Comprehensive Change Contexts
- Title(参考訳): コードコミッタの包括的変更コンテキストによる脆弱性パッチの特定
- Authors: Tianyu Chen, Lin Li, Taotao Qian, Zeyu Wang, Guangtai Liang, Ding Li, Qianxiang Wang, Tao Xie,
- Abstract要約: CompVPDは、コードコミットを包括的なコンテキストで理解するために、大きな言語モデル(LLM)であるStarCoderを微調整することで、脆弱性のパッチを特定するための最初のアプローチである。
CompVPDと、脆弱性のパッチを特定する4つのSOTA(State-of-the-art/practice)アプローチを実証的に比較する。
CompVPDはAUCのスコアを11%改善し、SOTAのベストスコアと比較するとF1のスコアを30%改善する。
- 参考スコア(独自算出の注目度): 15.95646104591207
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: To help application developers apply vulnerability patches timely, security researchers maintain vulnerability databases such as National Vulnerability Database (NVD). By directly monitoring NVD with the name of each used library, application developers can be aware of vulnerabilities and their patches. Given that the monitoring results of vulnerability patches are unreliable due to patch incompleteness of NVD, existing approaches employ deep-learning (DL) models to identify additional vulnerability patches by determining whether a code commit fixes a vulnerability. However, these approaches suffer from low accuracy due to not considering code commits' comprehensive contexts such as control/data-flow contexts or method-invocation contexts. To improve accuracy, we design CompVPD, the first approach to identify vulnerability patches by fine-tuning a large language model (LLM) named StarCoder to comprehend code commits with comprehensive contexts. Considering that including comprehensive contexts needs to balance the context size and the training costs of LLM, CompVPD includes our two novel algorithms to generate comprehensive contexts within the given window size by removing irrelevant components (i.e., files, methods, and statements) and adaptively expanding each context. We empirically compare CompVPD with four state-of-the-art/practice (SOTA) approaches that identify vulnerability patches. The results show that CompVPD improves the AUC score by 11% and the F1 score by 30% when compared with the best scores of the SOTA approaches. Additionally, CompVPD provides high value to security practice by helping identify 20 vulnerability patches and 18 fixes of high-risk bugs from 2,500 recent code commits of five highly popular open-source projects.
- Abstract(参考訳): アプリケーション開発者がタイムリーに脆弱性パッチを適用するのを助けるため、セキュリティ研究者はNational Vulnerability Database (NVD)のような脆弱性データベースを維持している。
NVDを使用済みライブラリの名前で直接監視することで、アプリケーション開発者は脆弱性とそのパッチを認識することができる。
NVDのパッチ不完全性のため、脆弱性パッチの監視結果は信頼性が低いため、既存のアプローチでは、コードコミットが脆弱性を修正するかどうかを判断することで、追加の脆弱性パッチを特定するためにディープラーニング(DL)モデルを採用している。
しかしながら、これらのアプローチは、制御/データフローコンテキストやメソッド呼び出しコンテキストといったコードコミットの包括的なコンテキストを考慮していないため、低い精度で悩まされる。
そこで我々は,大言語モデル(LLM)であるStarCoderを微調整し,包括的なコンテキストでコードコミットを理解することで,脆弱性の特定を行うCompVPDを設計した。
包括的コンテキストを含むと、LLMのコンテキストサイズとトレーニングコストのバランスをとる必要があることを考慮し、CompVPDは、関係のないコンポーネント(ファイル、メソッド、ステートメント)を削除し、各コンテキストを適応的に拡張することで、与えられたウィンドウサイズ内で包括的なコンテキストを生成する2つの新しいアルゴリズムを含む。
CompVPDと、脆弱性のパッチを特定する4つのSOTA(State-of-the-art/practice)アプローチを実証的に比較する。
その結果,CompVPDはAUCスコアを11%改善し,F1スコアを30%改善した。
さらに、CompVPDは、人気の高い5つのオープンソースプロジェクトの2500のコードコミットから、20の脆弱性パッチと18のリスクの高いバグの修正を見つけることを支援することで、セキュリティプラクティスに高い価値を提供する。
関連論文リスト
- DLAP: A Deep Learning Augmented Large Language Model Prompting Framework for Software Vulnerability Detection [12.686480870065827]
本稿では,ディープラーニング(DL)モデルとLLM(Large Language Models)モデルの両方を最大限に組み合わせて,例外的な脆弱性検出性能を実現するフレームワークである textbfDLAP について述べる。
実験の結果、DLAPは、ロールベースのプロンプト、補助情報プロンプト、チェーン・オブ・シントプロンプト、コンテキスト内学習プロンプトなど、最先端のプロンプトフレームワークより優れていることが確認された。
論文 参考訳(メタデータ) (2024-05-02T11:44:52Z) - DeVAIC: A Tool for Security Assessment of AI-generated Code [5.383910843560784]
DeVAIC (Detection of Vulnerabilities in AI Generated Code)は、AI生成のPythonコードのセキュリティを評価するツールである。
論文 参考訳(メタデータ) (2024-04-11T08:27:23Z) - Exploring Safety Generalization Challenges of Large Language Models via Code [126.80573601180411]
本稿では,自然言語入力をコード入力に変換するフレームワークであるCodeAttackを紹介する。
我々の研究は、コード入力に対するこれらのモデルの共通の安全性の脆弱性を明らかにした。
CodeAttackと自然言語の分布ギャップが大きくなると、安全性の一般化が弱くなる。
論文 参考訳(メタデータ) (2024-03-12T17:55:38Z) - Game Rewards Vulnerabilities: Software Vulnerability Detection with
Zero-Sum Game and Prototype Learning [17.787508315322906]
本稿では,ソフトのvulneRability dEteCtion フレームワークと zerO-sum ゲーム,プロトタイプの LearNing,RECON を提案する。
我々はRECONが6.29%のF1スコアで最先端のベースラインを上回っていることを示す。
論文 参考訳(メタデータ) (2024-01-16T05:50:42Z) - The Vulnerability Is in the Details: Locating Fine-grained Information
of Vulnerable Code Identified by Graph-based Detectors [39.01486277170386]
VULEXPLAINERは、粗いレベルの脆弱なコードスニペットから脆弱性クリティカルなコード行を見つけるためのツールである。
C/C++の一般的な8つの脆弱性に対して、90%の精度で脆弱性をトリガするコードステートメントにフラグを付けることができる。
論文 参考訳(メタデータ) (2024-01-05T10:15:04Z) - ASSERT: Automated Safety Scenario Red Teaming for Evaluating the
Robustness of Large Language Models [65.79770974145983]
ASSERT、Automated Safety Scenario Red Teamingは、セマンティックなアグリゲーション、ターゲットブートストラップ、敵の知識注入という3つの方法で構成されている。
このプロンプトを4つの安全領域に分割し、ドメインがモデルの性能にどのように影響するかを詳細に分析する。
統計的に有意な性能差は, 意味的関連シナリオにおける絶対分類精度が最大11%, ゼロショット逆数設定では最大19%の絶対誤差率であることがわかった。
論文 参考訳(メタデータ) (2023-10-14T17:10:28Z) - Silent Vulnerability-fixing Commit Identification Based on Graph Neural
Networks [4.837912059099674]
VFFINDERは、サイレント脆弱性の自動検出のためのグラフベースのアプローチである。
VFFINDERは、アテンションベースのグラフニューラルネットワークモデルを使用して、脆弱性修正コミットと非修正コミットを区別する。
以上の結果から,VFFINDERは精度272-420%,リコール22-70%,F13.2X-8.2Xに改善した。
論文 参考訳(メタデータ) (2023-09-15T07:51:39Z) - Online Safety Property Collection and Refinement for Safe Deep
Reinforcement Learning in Mapless Navigation [79.89605349842569]
オンラインプロパティのコレクション・リファインメント(CROP)フレームワークをトレーニング時にプロパティを設計するために導入する。
CROPは、安全でない相互作用を識別し、安全特性を形成するためにコストシグナルを使用する。
本手法をいくつかのロボットマップレスナビゲーションタスクで評価し,CROPで計算した違反量によって,従来のSafe DRL手法よりも高いリターンと低いリターンが得られることを示す。
論文 参考訳(メタデータ) (2023-02-13T21:19:36Z) - CodeLMSec Benchmark: Systematically Evaluating and Finding Security
Vulnerabilities in Black-Box Code Language Models [58.27254444280376]
自動コード生成のための大規模言語モデル(LLM)は、いくつかのプログラミングタスクにおいてブレークスルーを達成した。
これらのモデルのトレーニングデータは、通常、インターネット(例えばオープンソースのリポジトリから)から収集され、障害やセキュリティ上の脆弱性を含む可能性がある。
この不衛生なトレーニングデータは、言語モデルにこれらの脆弱性を学習させ、コード生成手順中にそれを伝播させる可能性がある。
論文 参考訳(メタデータ) (2023-02-08T11:54:07Z) - VELVET: a noVel Ensemble Learning approach to automatically locate
VulnErable sTatements [62.93814803258067]
本稿では,ソースコード中の脆弱な文を見つけるための新しいアンサンブル学習手法であるVELVETを提案する。
我々のモデルは、グラフベースとシーケンスベースニューラルネットワークを組み合わせて、プログラムグラフの局所的およびグローバル的コンテキストを捕捉する。
VELVETは、合成データと実世界のデータに対して、それぞれ99.6%と43.6%の精度を達成している。
論文 参考訳(メタデータ) (2021-12-20T22:45:27Z) - Software Vulnerability Detection via Deep Learning over Disaggregated
Code Graph Representation [57.92972327649165]
この研究は、コードコーパスから安全でないパターンを自動的に学習するためのディープラーニングアプローチを探求する。
コードには解析を伴うグラフ構造が自然に認められるため,プログラムの意味的文脈と構造的規則性の両方を利用する新しいグラフニューラルネットワーク(GNN)を開発する。
論文 参考訳(メタデータ) (2021-09-07T21:24:36Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。