論文の概要: NAVRepair: Node-type Aware C/C++ Code Vulnerability Repair
- arxiv url: http://arxiv.org/abs/2405.04994v1
- Date: Wed, 8 May 2024 11:58:55 GMT
- ステータス: 処理完了
- システム内更新日: 2024-05-09 14:35:00.682712
- Title: NAVRepair: Node-type Aware C/C++ Code Vulnerability Repair
- Title(参考訳): NAVRepair:ノードタイプのC/C++コードの脆弱性修復
- Authors: Ruoke Wang, Zongjie Li, Chaozheng Wang, Yang Xiao, Cuiyun Gao,
- Abstract要約: NAVRepairは、ASTから抽出されたノードタイプ情報とエラータイプを組み合わせた、新しいフレームワークである。
既存のLLMベースのC/C++脆弱性修復法と比較して26%高い精度を実現している。
- 参考スコア(独自算出の注目度): 14.152755184229374
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: The rapid advancement of deep learning has led to the development of Large Language Models (LLMs). In the field of vulnerability repair, previous research has leveraged rule-based fixing, pre-trained models, and LLM's prompt engineering. However, existing approaches have limitations in terms of the integration of code structure with error types. Besides, due to certain features of C/C++ language, vulnerability repair in C/C++ proves to be exceptionally challenging. To address these challenges, we propose NAVRepair, a novel framework that combines the node-type information extracted from Abstract Syntax Trees (ASTs) with error types, specifically targeting C/C++ vulnerabilities. Specifically, our approach employs type analysis to localize the minimum edit node (MEN) and customizes context information collection based on different error types. In the offline stage, NAVRepair parses code patches to locate MENs and designs rules to extract relevant contextual information for each MEN type. In the online repairing stage, it analyzes the suspicious code, combines it with vulnerability type templates derived from the Common Weakness Enumeration (CWE), and generates targeted repair prompts. We evaluate NAVRepair on multiple popular LLMs and demonstrate its effectiveness in improving the performance of code vulnerability repair. Notably, our framework is independent of any specific LLMs and can quickly adapt to new vulnerability types. Extensive experiments validate that NAVRepair achieves excellent results in assisting LLMs to accurately detect and fix C/C++ vulnerabilities. We achieve a 26% higher accuracy compared to an existing LLM-based C/C++ vulnerability repair method. We believe our node type-aware approach has promising application prospects for enhancing real-world C/C++ code security.
- Abstract(参考訳): ディープラーニングの急速な進歩は、大規模言語モデル(LLM)の開発につながった。
脆弱性修復の分野では、以前の研究はルールベースの修正、事前訓練されたモデル、LLMの迅速なエンジニアリングを活用している。
しかし、既存のアプローチでは、コード構造とエラータイプの統合に関して制限がある。
さらに、C/C++言語の特定の機能のため、C/C++の脆弱性の修復は非常に難しい。
これらの課題に対処するために,抽象構文木(AST)から抽出したノード型情報とエラー型を組み合わせた,特にC/C++脆弱性を対象とする新しいフレームワークであるNAVRepairを提案する。
具体的には、最小編集ノード(MEN)をローカライズし、異なるエラータイプに基づいてコンテキスト情報収集をカスタマイズする。
オフラインの段階では、NAVRepairはMENを見つけるためにコードパッチを解析し、MENタイプごとに関連するコンテキスト情報を抽出するルールを設計する。
オンライン修復の段階では、疑わしいコードを解析し、CWE(Common Weakness Enumeration)から派生した脆弱性タイプのテンプレートと組み合わせ、対象とする修復プロンプトを生成する。
NAVRepair を複数の LLM 上で評価し,コード脆弱性修復の性能向上に有効であることを示す。
特に、我々のフレームワークは特定のLLMとは独立しており、新しい脆弱性タイプに迅速に適応できます。
大規模な実験により、NAVRepairはLLMがC/C++の脆弱性を正確に検出し、修正するのを補助する優れた結果が得られることが検証された。
既存のLLMベースのC/C++脆弱性修復法と比較して26%高い精度を実現している。
当社のノード型認識アプローチは,現実世界のC/C++コードのセキュリティ向上に期待できるアプリケーションであると考えています。
関連論文リスト
- Learning Graph-based Patch Representations for Identifying and Assessing Silent Vulnerability Fixes [5.983725940750908]
ソフトウェアプロジェクトは多くのサードパーティのライブラリに依存しているため、リスクの高い脆弱性は依存関係チェーンを通じて下流のプロジェクトへと伝播する可能性がある。
無力な脆弱性修正は、ダウンストリームソフトウェアが緊急のセキュリティ問題にタイムリーに気付いておらず、ソフトウェアにセキュリティリスクを生じさせる。
本稿ではGRAphベースのパッチrEpresentationであるGRAPEを提案する。
論文 参考訳(メタデータ) (2024-09-13T03:23:11Z) - Towards Effectively Detecting and Explaining Vulnerabilities Using Large Language Models [17.96542494363619]
大規模言語モデル(LLM)は、複雑なコンテキストを解釈する際、顕著な能力を示した。
本稿では,脆弱性の検出と説明の両面において,LSMの能力について検討する。
脆弱性説明のための特別な微調整の下で、LLMVulExpはコードの脆弱性の種類を検出するだけでなく、コードコンテキストを分析して原因、場所、修正提案を生成する。
論文 参考訳(メタデータ) (2024-06-14T04:01:25Z) - 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) - 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) - AdaShield: Safeguarding Multimodal Large Language Models from Structure-based Attack via Adaptive Shield Prompting [54.931241667414184]
textbfAdaptive textbfShield Promptingを提案する。これは、MLLMを構造ベースのジェイルブレイク攻撃から守るための防御プロンプトで入力をプリペイドする。
我々の手法は、構造に基づくジェイルブレイク攻撃に対するMLLMの堅牢性を一貫して改善することができる。
論文 参考訳(メタデータ) (2024-03-14T15:57:13Z) - CodeAttack: Revealing Safety Generalization Challenges of Large Language Models via Code Completion [117.178835165855]
本稿では,自然言語入力をコード入力に変換するフレームワークであるCodeAttackを紹介する。
我々の研究は、コード入力に対するこれらのモデルの新たな、普遍的な安全性の脆弱性を明らかにした。
CodeAttackと自然言語の分布ギャップが大きくなると、安全性の一般化が弱くなる。
論文 参考訳(メタデータ) (2024-03-12T17:55:38Z) - DrAttack: Prompt Decomposition and Reconstruction Makes Powerful LLM Jailbreakers [74.7446827091938]
我々はjailbreak textbfAttack (DrAttack) のための自動プロンプト textbfDecomposition と textbfReconstruction フレームワークを導入する。
DrAttack には3つの重要な要素が含まれている: (a) プロンプトをサブプロンプトに分解する; (b) セマンティックに類似しているが無害な再組み立てデモで暗黙的にこれらのサブプロンプトを再構築する; (c) サブプロンプトのシンノニム検索する; サブプロンプトのシノニムを見つけることを目的としたサブプロンプトのシノニムを見つけること。
論文 参考訳(メタデータ) (2024-02-25T17:43:29Z) - ZeroLeak: Using LLMs for Scalable and Cost Effective Side-Channel
Patching [6.556868623811133]
セキュリティクリティカルなソフトウェア、例えばOpenSSLには、リソースや専門家が不足しているため、パッチが残っていないサイドチャネルのリークが多数含まれている。
マイクロアーキテクチャのサイドチャネルリークを伴う脆弱性コードに対するパッチ生成において,LLM(Large Language Models)の使用について検討する。
論文 参考訳(メタデータ) (2023-08-24T20:04: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) - Multi-context Attention Fusion Neural Network for Software Vulnerability
Identification [4.05739885420409]
ソースコードのセキュリティ脆弱性の共通カテゴリのいくつかを効率的に検出することを学ぶディープラーニングモデルを提案する。
モデルは、学習可能なパラメータの少ないコードセマンティクスの正確な理解を構築します。
提案したAIは、ベンチマークされたNIST SARDデータセットから特定のCWEに対して98.40%のF1スコアを達成する。
論文 参考訳(メタデータ) (2021-04-19T11:50:36Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。