論文の概要: VERCATION: Precise Vulnerable Open-source Software Version Identification based on Static Analysis and LLM
- arxiv url: http://arxiv.org/abs/2408.07321v2
- Date: Thu, 14 Aug 2025 09:00:40 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-08-15 22:24:47.976065
- Title: VERCATION: Precise Vulnerable Open-source Software Version Identification based on Static Analysis and LLM
- Title(参考訳): VERCATION:静的解析とLLMに基づく高精度で脆弱性のあるオープンソースソフトウェアバージョン同定
- Authors: Yiran Cheng, Ting Zhang, Lwin Khin Shar, Shouguo Yang, Chaopeng Dong, David Lo, Shichao Lv, Zhiqiang Shi, Limin Sun,
- Abstract要約: オープンソースソフトウェア(OSS)は、そのコラボレーティブな開発モデルとコスト効果の性質から、人気が高まっている。
開発プロジェクトにおける特定のソフトウェアバージョンの採用は、これらのバージョンが脆弱性をもたらす場合にセキュリティリスクをもたらす可能性がある。
本稿では,C/C++で記述されたOSSの脆弱性を識別するVERCATIONを提案する。
- 参考スコア(独自算出の注目度): 12.706661324384319
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Open-source software (OSS) has experienced a surge in popularity, attributed to its collaborative development model and cost-effective nature. However, the adoption of specific software versions in development projects may introduce security risks when these versions bring along vulnerabilities. Current methods of identifying vulnerable versions typically analyze and extract the code features involved in vulnerability patches using static analysis with pre-defined rules. They then use code clone detection to identify the vulnerable versions. These methods are hindered by imprecision due to (1) the exclusion of vulnerability-irrelevant code in the analysis and (2) the inadequacy of code clone detection. This paper presents VERCATION, an approach designed to identify vulnerable versions of OSS written in C/C++. VERCATION combines program slicing with a Large Language Model (LLM) to identify vulnerability-relevant code from vulnerability patches. It then backtracks historical commits to gather previous modifications of identified vulnerability-relevant code. We propose code clone detection based on expanded and normalized ASTs to compare the differences between pre-modification and post-modification code, thereby locating the vulnerability-introducing commit (vic) and enabling the identification of the vulnerable versions between the vulnerability-fixing commit and the vic. We curate a dataset linking 122 OSS vulnerabilities and 1,211 versions to evaluate VERCATION. On this dataset, our approach achieves an F1 score of 93.1%, outperforming current state-of-the-art methods. More importantly, VERCATION detected 202 incorrect vulnerable OSS versions in NVD reports.
- Abstract(参考訳): オープンソースソフトウェア(OSS)は、そのコラボレーティブな開発モデルとコスト効果の性質から、人気が高まっている。
しかしながら、開発プロジェクトにおける特定のソフトウェアバージョンの採用は、これらのバージョンが脆弱性をもたらす場合にセキュリティリスクをもたらす可能性がある。
脆弱性のあるバージョンを識別する現在の方法は、通常、事前定義されたルールによる静的分析を使用して、脆弱性パッチに関連するコード機能を分析し、抽出する。
次に、脆弱性のあるバージョンを特定するためにコードクローン検出を使用する。
これらの手法は,(1)解析における脆弱性非関連コードの排除,(2)コードクローン検出の不十分さにより,不正確さによって妨げられる。
本稿では,C/C++で記述されたOSSの脆弱性を識別するVERCATIONを提案する。
VERCATIONはプログラムスライシングとLarge Language Model (LLM)を組み合わせて脆弱性のパッチから脆弱性関連コードを識別する。
その後、過去のコミットをバックトラックして、特定された脆弱性関連コードの以前の修正を収集する。
拡張および正規化ASTに基づくコードクローン検出を提案し,修正前コードと修正後コードの違いを比較し,脆弱性導入コミット(vic)を特定し,脆弱性修正コミットとビック間の脆弱性バージョン識別を可能にする。
VERCATIONを評価するために、122のOSS脆弱性と1,211バージョンをリンクするデータセットをキュレートする。
このデータセットでは、F1スコアが93.1%に達し、現在の最先端手法よりも優れています。
さらに重要なことに、VERCATIONはNVDレポートで202の誤ったOSSバージョンを検出した。
関連論文リスト
- Decompiling Smart Contracts with a Large Language Model [51.49197239479266]
Etherscanの78,047,845のスマートコントラクトがデプロイされているにも関わらず(2025年5月26日現在)、わずか767,520 (1%)がオープンソースである。
この不透明さは、オンチェーンスマートコントラクトバイトコードの自動意味解析を必要とする。
バイトコードを可読でセマンティックに忠実なSolidityコードに変換する,先駆的な逆コンパイルパイプラインを導入する。
論文 参考訳(メタデータ) (2025-06-24T13:42:59Z) - CyberGym: Evaluating AI Agents' Cybersecurity Capabilities with Real-World Vulnerabilities at Scale [46.76144797837242]
大規模言語モデル(LLM)エージェントは、自律的なサイバーセキュリティタスクの処理において、ますます熟練している。
既存のベンチマークは不足していて、現実のシナリオをキャプチャできなかったり、スコープが限られていたりします。
我々はCyberGymを紹介した。CyberGymは1,507の現実世界の脆弱性を特徴とする大規模かつ高品質なサイバーセキュリティ評価フレームワークである。
論文 参考訳(メタデータ) (2025-06-03T07:35:14Z) - A Slicing-Based Approach for Detecting and Patching Vulnerable Code Clones [0.16727186769396274]
srcVulは、プログラムスライシングとLocality-Sensitive Hashingを組み合わせて、脆弱なコードクローンを特定する、スケーラブルで正確な検出方法である。
srcVulは、既知の脆弱性プログラムとその対応するパッチを分析して、脆弱性関連スライスデータベースを構築する。
クローン検出中、srcVulはターゲットプログラムからのスライシングベクターとデータベース内のベクターを効率的にマッチングし、類似性を識別するパッチを推奨する。
論文 参考訳(メタデータ) (2025-05-05T04:15:55Z) - Lie Detector: Unified Backdoor Detection via Cross-Examination Framework [68.45399098884364]
半正直な設定で一貫したバックドア検出フレームワークを提案する。
本手法は,SoTAベースラインよりも5.4%,1.6%,11.9%の精度で検出性能が向上する。
特に、マルチモーダルな大規模言語モデルにおいて、バックドアを効果的に検出するのは、これが初めてである。
論文 参考訳(メタデータ) (2025-03-21T06:12:06Z) - CommitShield: Tracking Vulnerability Introduction and Fix in Version Control Systems [15.037460085046806]
CommitShieldは、コードコミットの脆弱性を検出するツールである。
静的解析ツールのコード解析機能と、大きな言語モデルの自然言語とコード理解機能を組み合わせる。
脆弱性修正検出タスクの最先端メソッドに対して,CommitShieldはリコールを76%~87%改善することを示す。
論文 参考訳(メタデータ) (2025-01-07T08:52:55Z) - Improving Discovery of Known Software Vulnerability For Enhanced Cybersecurity [0.0]
脆弱性検出はCommon Platformion (CPE)文字列のような標準化された識別子に依存する。
ソフトウェアベンダが発行する標準化されていないCPE文字列は、大きな課題を生み出します。
一貫性のない命名規則、バージョニングプラクティスは、データベースをクエリする際のミスマッチを引き起こす。
論文 参考訳(メタデータ) (2024-12-21T12:43:52Z) - CryptoFormalEval: Integrating LLMs and Formal Verification for Automated Cryptographic Protocol Vulnerability Detection [41.94295877935867]
我々は,新たな暗号プロトコルの脆弱性を自律的に識別する大規模言語モデルの能力を評価するためのベンチマークを導入する。
私たちは、新しい、欠陥のある通信プロトコルのデータセットを作成し、AIエージェントが発見した脆弱性を自動的に検証する方法を設計しました。
論文 参考訳(メタデータ) (2024-11-20T14:16:55Z) - SecCodePLT: A Unified Platform for Evaluating the Security of Code GenAI [47.11178028457252]
我々はGenAIのリスクをコードする統合的かつ包括的な評価プラットフォームSecCodePLTを開発した。
安全でないコードには、専門家と自動生成を組み合わせたデータ生成のための新しい方法論を導入する。
サイバー攻撃支援のために、我々はモデルに実際の攻撃を引き起こすよう促すサンプルと、我々の環境における動的な指標を構築した。
論文 参考訳(メタデータ) (2024-10-14T21:17:22Z) - M2CVD: Enhancing Vulnerability Semantic through Multi-Model Collaboration for Code Vulnerability Detection [52.4455893010468]
大規模言語モデル(LLM)は、コード理解において強力な能力を持つが、微調整コストとセマンティックアライメントの問題により、プロジェクト固有の最適化が制限される。
CodeBERTのようなコードモデルは微調整が容易であるが、複雑なコード言語から脆弱性のセマンティクスを学ぶことはしばしば困難である。
本稿では,M2CVD(Multi-Model Collaborative Vulnerability Detection)手法を提案する。
論文 参考訳(メタデータ) (2024-06-10T00:05:49Z) - Predicting Likely-Vulnerable Code Changes: Machine Learning-based Vulnerability Protections for Android Open Source Project [0.0]
本稿では,ソースコードの変更に対するセキュリティレビューを選択的にトリガするフレームワークを提案する。
このフレームワークは、コード変更がソースコードリポジトリに送信される前に、コミット前に追加のセキュリティレビューを自動的に要求することができる。
論文 参考訳(メタデータ) (2024-05-26T18:17:46Z) - Vulnerability Detection with Code Language Models: How Far Are We? [40.455600722638906]
PrimeVulは、脆弱性検出のためのコードLMのトレーニングと評価のための新しいデータセットである。
これは、人間の検証されたベンチマークに匹敵するラベルの精度を達成する、新しいデータラベリング技術を含んでいる。
また、厳密なデータ重複解消戦略と時系列データ分割戦略を実装して、データの漏洩問題を軽減している。
論文 参考訳(メタデータ) (2024-03-27T14:34:29Z) - Patch2QL: Discover Cognate Defects in Open Source Software Supply Chain
With Auto-generated Static Analysis Rules [1.9591497166224197]
本稿では,SASTルールの自動生成によるOSSのコグネート欠陥の検出手法を提案する。
具体的には、プリパッチバージョンとポストパッチバージョンから重要な構文と意味情報を抽出する。
我々はPatch2QLというプロトタイプツールを実装し、それをC/C++の基本OSSに適用した。
論文 参考訳(メタデータ) (2024-01-23T02:23:11Z) - 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) - Zero-Shot Detection of Machine-Generated Codes [83.0342513054389]
本研究は,LLMの生成したコードを検出するためのトレーニング不要な手法を提案する。
既存のトレーニングベースまたはゼロショットテキスト検出装置は、コード検出に効果がないことがわかった。
本手法は,リビジョン攻撃に対する堅牢性を示し,Javaコードによく適応する。
論文 参考訳(メタデータ) (2023-10-08T10:08:21Z) - On the Security Blind Spots of Software Composition Analysis [46.1389163921338]
Mavenリポジトリで脆弱性のあるクローンを検出するための新しいアプローチを提案する。
Maven Centralから53万以上の潜在的な脆弱性のあるクローンを検索します。
検出された727個の脆弱なクローンを検出し、それぞれに検証可能な脆弱性証明プロジェクトを合成する。
論文 参考訳(メタデータ) (2023-06-08T20:14:46Z) - Transformer-based Vulnerability Detection in Code at EditTime:
Zero-shot, Few-shot, or Fine-tuning? [5.603751223376071]
脆弱性のあるコードパターンの大規模データセットにディープラーニングを活用する実用的なシステムを提案する。
美術品の脆弱性検出モデルと比較すると,我々の手法は工芸品の状態を10%改善する。
論文 参考訳(メタデータ) (2023-05-23T01:21:55Z) - 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) - Multi-context Attention Fusion Neural Network for Software Vulnerability
Identification [4.05739885420409]
ソースコードのセキュリティ脆弱性の共通カテゴリのいくつかを効率的に検出することを学ぶディープラーニングモデルを提案する。
モデルは、学習可能なパラメータの少ないコードセマンティクスの正確な理解を構築します。
提案したAIは、ベンチマークされたNIST SARDデータセットから特定のCWEに対して98.40%のF1スコアを達成する。
論文 参考訳(メタデータ) (2021-04-19T11:50:36Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。