論文の概要: A Repository-Level Dataset For Detecting, Classifying and Repairing
Software Vulnerabilities
- arxiv url: http://arxiv.org/abs/2401.13169v1
- Date: Wed, 24 Jan 2024 01:27:48 GMT
- ステータス: 処理完了
- システム内更新日: 2024-01-25 15:56:41.673272
- Title: A Repository-Level Dataset For Detecting, Classifying and Repairing
Software Vulnerabilities
- Title(参考訳): ソフトウェア脆弱性の検出・分類・修復のためのレポジトリレベルデータセット
- Authors: Xinchen Wang, Ruida Hu, Cuiyun Gao, Xin-Cheng Wen, Yujia Chen and Qing
Liao
- Abstract要約: 我々は、自動データ収集フレームワークを提案し、textbfReposVulという最初のリポジトリレベルの高品質な脆弱性データセットを構築した。
提案するフレームワークは,主に3つのモジュールを含む。(1)脆弱性解消モジュールは,脆弱性修正に関連するコード変更を,大規模言語モデル(LLM)と静的解析ツールを併用した,絡み合ったパッチから識別することを目的としたもので,(2)脆弱性の相互呼び出し関係の取得を目的とした多言語依存性抽出モジュールで,リポジトリレベル,ファイルを含む各脆弱性パッチに対して,複数の粒度情報を構築する。
- 参考スコア(独自算出の注目度): 13.90550557801464
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Open-Source Software (OSS) vulnerabilities bring great challenges to the
software security and pose potential risks to our society. Enormous efforts
have been devoted into automated vulnerability detection, among which deep
learning (DL)-based approaches have proven to be the most effective. However,
the current labeled data present the following limitations: (1) \textbf{Tangled
Patches}: Developers may submit code changes unrelated to vulnerability fixes
within patches, leading to tangled patches. (2) \textbf{Lacking
Inter-procedural Vulnerabilities}: The existing vulnerability datasets
typically contain function-level and file-level vulnerabilities, ignoring the
relations between functions, thus rendering the approaches unable to detect the
inter-procedural vulnerabilities. (3) \textbf{Outdated Patches}: The existing
datasets usually contain outdated patches, which may bias the model during
training.
To address the above limitations, in this paper, we propose an automated data
collection framework and construct the first repository-level high-quality
vulnerability dataset named \textbf{ReposVul}. The proposed framework mainly
contains three modules: (1) A vulnerability untangling module, aiming at
distinguishing vulnerability-fixing related code changes from tangled patches,
in which the Large Language Models (LLMs) and static analysis tools are jointly
employed. (2) A multi-granularity dependency extraction module, aiming at
capturing the inter-procedural call relationships of vulnerabilities, in which
we construct multiple-granularity information for each vulnerability patch,
including repository-level, file-level, function-level, and line-level. (3) A
trace-based filtering module, aiming at filtering the outdated patches, which
leverages the file path trace-based filter and commit time trace-based filter
to construct an up-to-date dataset.
- Abstract(参考訳): オープンソースソフトウェア(oss)の脆弱性は、ソフトウェアセキュリティに大きな課題をもたらし、社会に潜在的なリスクをもたらします。
ディープラーニング(DL)ベースのアプローチが最も効果的であることが証明された。
しかし、現在のラベル付きデータは以下の制限を示している: (1) \textbf{tangled patch}: 開発者はパッチ内の脆弱性修正とは無関係なコード変更を提出でき、絡み合ったパッチにつながる。
(2) \textbf{lacking inter-procedural vulnerabilities}: 既存の脆弱性データセットには一般的に関数レベルの脆弱性とファイルレベルの脆弱性が含まれ、関数間の関係を無視する。
(3) \textbf{outdated patch}: 既存のデータセットには一般的に時代遅れのパッチが含まれており、トレーニング中にモデルをバイアスする可能性がある。
上記の制約に対処するため,本稿では,自動データ収集フレームワークを提案し,最初のリポジトリレベルの高品質な脆弱性データセットである \textbf{ReposVul} を構築した。
提案するフレームワークは,主に3つのモジュールを含む。(1)脆弱性修正関連コード変更と,大規模言語モデル(LLM)と静的解析ツールを併用した,絡み合ったパッチの区別を目的とした脆弱性回避モジュール。
2)リポジトリレベル,ファイルレベル,関数レベル,行レベルなど,脆弱性パッチごとに複数の粒度情報を構築する脆弱性のプロセス間コール関係を捉えることを目的とした,マルチ粒度依存性抽出モジュール。
3) 古いパッチのフィルタリングを目的としたトレースベースのフィルタリングモジュールは,ファイルパストレースベースのフィルタとコミットタイムトレースベースのフィルタを活用して,最新のデータセットを構築する。
関連論文リスト
- VulEval: Towards Repository-Level Evaluation of Software Vulnerability Detection [14.312197590230994]
textbfVulEvalという名前のリポジトリレベルの評価システムは、プロセス間およびプロセス内脆弱性の検出性能を同時に評価することを目的としている。
VulEvalは大規模データセットで構成され、合計で4,196のCVEエントリ、232,239の関数、および対応する4,699のリポジトリレベルのソースコードがC/C++プログラミング言語に含まれる。
論文 参考訳(メタデータ) (2024-04-24T02:16:11Z) - Have Seen Me Before? Automating Dataset Updates Towards Reliable and
Timely Evaluation [59.91488389687633]
大きな言語モデル(LLM)は、ますます深刻な評価課題に直面しています。
本稿では,信頼性とタイムリーな評価のために,データセットの更新を自動化することを提案する。
論文 参考訳(メタデータ) (2024-02-19T07:15:59Z) - Just-in-Time Security Patch Detection -- LLM At the Rescue for Data
Augmentation [8.308196041232128]
本稿では,LLM(Large Language Models)とコードテキストアライメントを利用した新しいセキュリティパッチ検出システム LLMDA を提案する。
LLMDA内では、ラベル付き命令を使用してLLMDAを指示し、セキュリティ関連性に基づいたパッチの識別を行う。
次に、PTFormerを使ってパッチをコードとマージし、パッチとコード間の相互接続と固有の詳細の両方を含むハイブリッド属性を定式化します。
論文 参考訳(メタデータ) (2023-12-02T22:53:26Z) - Identifying Vulnerability Patches by Comprehending Code Commits with Comprehensive Change Contexts [15.95646104591207]
CompVPDは、コードコミットを包括的なコンテキストで理解するために、大きな言語モデル(LLM)であるStarCoderを微調整することで、脆弱性のパッチを特定するための最初のアプローチである。
CompVPDと、脆弱性のパッチを特定する4つのSOTA(State-of-the-art/practice)アプローチを実証的に比較する。
CompVPDはAUCのスコアを11%改善し、SOTAのベストスコアと比較するとF1のスコアを30%改善する。
論文 参考訳(メタデータ) (2023-10-04T02:08:18Z) - REEF: A Framework for Collecting Real-World Vulnerabilities and Fixes [40.401211102969356]
本稿では,REal-world vulnErabilities and Fixesをオープンソースリポジトリから収集するための自動収集フレームワークREEFを提案する。
脆弱性とその修正を収集する多言語クローラを開発し、高品質な脆弱性修正ペアをフィルタするためのメトリクスを設計する。
大規模な実験を通じて,我々の手法が高品質な脆弱性修正ペアを収集し,強力な説明を得られることを示す。
論文 参考訳(メタデータ) (2023-09-15T02:50:08Z) - DeepfakeBench: A Comprehensive Benchmark of Deepfake Detection [55.70982767084996]
ディープフェイク検出の分野で見落とされがちな課題は、標準化され、統一され、包括的なベンチマークがないことである。
DeepfakeBenchと呼ばれる,3つの重要なコントリビューションを提供するディープフェイク検出のための,最初の包括的なベンチマークを提示する。
DeepfakeBenchには15の最先端検出方法、9CLデータセット、一連のDeepfake検出評価プロトコルと分析ツール、包括的な評価ツールが含まれている。
論文 参考訳(メタデータ) (2023-07-04T01:34:41Z) - CodeLMSec Benchmark: Systematically Evaluating and Finding Security
Vulnerabilities in Black-Box Code Language Models [58.27254444280376]
自動コード生成のための大規模言語モデル(LLM)は、いくつかのプログラミングタスクにおいてブレークスルーを達成した。
これらのモデルのトレーニングデータは、通常、インターネット(例えばオープンソースのリポジトリから)から収集され、障害やセキュリティ上の脆弱性を含む可能性がある。
この不衛生なトレーニングデータは、言語モデルにこれらの脆弱性を学習させ、コード生成手順中にそれを伝播させる可能性がある。
論文 参考訳(メタデータ) (2023-02-08T11:54:07Z) - Defensive Patches for Robust Recognition in the Physical World [111.46724655123813]
データエンドディフェンスは、モデルを変更する代わりに入力データの操作によって堅牢性を改善する。
従来のデータエンドディフェンスは、様々なノイズに対する低一般化と、複数のモデル間での弱い転送可能性を示している。
モデルがこれらの機能をよりよく活用することを支援することにより、これらの問題に対処するための防御パッチ生成フレームワークを提案する。
論文 参考訳(メタデータ) (2022-04-13T07:34:51Z) - 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) - Detecting Security Fixes in Open-Source Repositories using Static Code
Analyzers [8.716427214870459]
機械学習(ML)アプリケーションにおけるコミットを表現する機能として,既製の静的コードアナライザの出力がどの程度使用されるかを検討する。
埋め込みの構築やMLモデルをトレーニングして、脆弱性修正を含むソースコードコミットを自動的に識別する方法について検討する。
当社のメソッドとcommit2vecの組み合わせは,脆弱性を修正するコミットの自動識別において,最先端技術よりも明確な改善であることがわかった。
論文 参考訳(メタデータ) (2021-05-07T15:57:17Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。