論文の概要: Automated Software Vulnerability Static Code Analysis Using Generative Pre-Trained Transformer Models
- arxiv url: http://arxiv.org/abs/2408.00197v1
- Date: Wed, 31 Jul 2024 23:33:26 GMT
- ステータス: 処理完了
- システム内更新日: 2024-08-04 22:04:56.523392
- Title: Automated Software Vulnerability Static Code Analysis Using Generative Pre-Trained Transformer Models
- Title(参考訳): 生成事前学習型変圧器モデルを用いた自動ソフトウェア脆弱性静的コード解析
- Authors: Elijah Pelofske, Vincent Urias, Lorie M. Liebrock,
- Abstract要約: 生成事前学習トランスフォーマーモデルは、様々な自然言語処理タスクにおいて驚くほど効果的であることが示されている。
我々は,脆弱なコード構文の存在を自動的に識別するタスクにおいて,オープンソースのGPTモデルの有効性を評価する。
- 参考スコア(独自算出の注目度): 0.8192907805418583
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Generative Pre-Trained Transformer models have been shown to be surprisingly effective at a variety of natural language processing tasks -- including generating computer code. We evaluate the effectiveness of open source GPT models for the task of automatic identification of the presence of vulnerable code syntax (specifically targeting C and C++ source code). This task is evaluated on a selection of 36 source code examples from the NIST SARD dataset, which are specifically curated to not contain natural English that indicates the presence, or lack thereof, of a particular vulnerability. The NIST SARD source code dataset contains identified vulnerable lines of source code that are examples of one out of the 839 distinct Common Weakness Enumerations (CWE), allowing for exact quantification of the GPT output classification error rate. A total of 5 GPT models are evaluated, using 10 different inference temperatures and 100 repetitions at each setting, resulting in 5,000 GPT queries per vulnerable source code analyzed. Ultimately, we find that the GPT models that we evaluated are not suitable for fully automated vulnerability scanning because the false positive and false negative rates are too high to likely be useful in practice. However, we do find that the GPT models perform surprisingly well at automated vulnerability detection for some of the test cases, in particular surpassing random sampling, and being able to identify the exact lines of code that are vulnerable albeit at a low success rate. The best performing GPT model result found was Llama-2-70b-chat-hf with inference temperature of 0.1 applied to NIST SARD test case 149165 (which is an example of a buffer overflow vulnerability), which had a binary classification recall score of 1.0 and a precision of 1.0 for correctly and uniquely identifying the vulnerable line of code and the correct CWE number.
- Abstract(参考訳): Generative Pre-Trained Transformerモデルは、コンピュータコードの生成を含む、さまざまな自然言語処理タスクにおいて驚くほど効果的であることが示されている。
脆弱なコード構文(特にCとC++のソースコードを対象とする)の存在を自動的に識別するタスクにおいて,オープンソースのGPTモデルの有効性を評価する。
このタスクは、NIST SARDデータセットから36のソースコードサンプルを選択して評価される。
NIST SARDソースコードデータセットには、GPT出力分類エラー率の正確な定量化を可能にする、839の異なる共通弱度列挙(CWE)のうちの1つの一例である、脆弱性のあるソースコードの行が含まれている。
合計5つのGPTモデルが評価され、10の異なる推論温度と100の繰り返しを使用して、脆弱性のあるソースコード毎に5,000のGPTクエリが分析される。
最終的に、評価したGPTモデルは、偽陽性と偽陰性率が高すぎるため、完全に自動化された脆弱性スキャンには適さないことが判明した。
しかし、GPTモデルは、いくつかのテストケース、特にランダムサンプリングを超越した自動脆弱性検出において驚くほどよく機能し、低い成功率で脆弱なコード行を識別できることが判明した。
NIST SARDテストケース149165(バッファオーバーフロー脆弱性の例)に0.1の推論温度を持つLlama-2-70b-chat-hfは、バイナリ分類のリコールスコア1.0と、脆弱性のあるコード行と正しいCWE番号を正確かつ一意に識別するための1.0の精度を持つ。
関連論文リスト
- Do Neutral Prompts Produce Insecure Code? FormAI-v2 Dataset: Labelling Vulnerabilities in Code Generated by Large Language Models [3.4887856546295333]
この研究は、最先端の大規模言語モデル(LLM)の比較分析を提供する。
中立なゼロショットプロンプトを使って単純なCプログラムを書く際に、脆弱性が発生する可能性を分析する。
論文 参考訳(メタデータ) (2024-04-29T01:24:14Z) - Shifting the Lens: Detecting Malicious npm Packages using Large Language Models [4.479741014073169]
既存の悪意のあるコード検出技術は、しばしば高い誤分類率に悩まされる。
悪意のあるコードレビューワークフローであるSecurityAIを紹介し、ChatGPTを使って悪意のあるコードを検出する。
ベースライン比較では, 静的解析の精度とF1スコアよりも16%, 9%向上した。
論文 参考訳(メタデータ) (2024-03-18T19:10:12Z) - VGX: Large-Scale Sample Generation for Boosting Learning-Based Software
Vulnerability Analyses [30.65722096096949]
本稿では,高品質な脆弱性データセットを大規模に生成するための新しい手法であるVGXを提案する。
VGXは、そのような編集のパターンを使用して、特定コンテキストにおける脆弱性注入コード編集を実現する。
現場でのサンプル生産では、VGXは150,392個の脆弱なサンプルを生成し、ランダムに10%を選択して、これらのサンプルが脆弱性の検出、ローカライゼーション、修復にどの程度役立つかを評価しました。
論文 参考訳(メタデータ) (2023-10-24T01:05:00Z) - Zero-Shot Detection of Machine-Generated Codes [83.0342513054389]
本研究は,LLMの生成したコードを検出するためのトレーニング不要な手法を提案する。
既存のトレーニングベースまたはゼロショットテキスト検出装置は、コード検出に効果がないことがわかった。
本手法は,リビジョン攻撃に対する堅牢性を示し,Javaコードによく適応する。
論文 参考訳(メタデータ) (2023-10-08T10:08:21Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - Paraphrasing evades detectors of AI-generated text, but retrieval is an
effective defense [56.077252790310176]
本稿では,パラフレーズ生成モデル(DIPPER)を提案する。
DIPPERを使って3つの大きな言語モデル(GPT3.5-davinci-003)で生成されたテキストを言い換えると、透かしを含むいくつかの検出器を回避できた。
我々は,言語モデルAPIプロバイダによって維持されなければならない,意味論的に類似した世代を検索するシンプルなディフェンスを導入する。
論文 参考訳(メタデータ) (2023-03-23T16:29:27Z) - VMCDL: Vulnerability Mining Based on Cascaded Deep Learning Under Source
Control Flow [2.561778620560749]
本稿では,主にSARDデータセットのc/c++ソースコードデータを用いて,CWE476,CWE469,CWE516,CWE570の脆弱性型のソースコードを処理する。
本稿では,ソースコード制御フローに基づく新しいカスケード深層学習モデルVMCDLを提案し,脆弱性を効果的に検出する。
論文 参考訳(メタデータ) (2023-03-13T13:58:39Z) - DetectGPT: Zero-Shot Machine-Generated Text Detection using Probability
Curvature [143.5381108333212]
大規模な言語モデルからサンプリングされたテキストは、モデルのログ確率関数の負の曲率領域を占有する傾向にあることを示す。
次に、与えられたLLMから通路が生成されるかどうかを判断するための新しい曲率ベースの基準を定義する。
我々は、モデルサンプル検出のための既存のゼロショット法よりもディテクターGPTの方が識別性が高いことを発見した。
論文 参考訳(メタデータ) (2023-01-26T18:44:06Z) - Fault-Aware Neural Code Rankers [64.41888054066861]
サンプルプログラムの正しさを予測できる故障認識型ニューラルネットワークローダを提案する。
我々のフォールト・アウェア・ローダは、様々なコード生成モデルのpass@1精度を大幅に向上させることができる。
論文 参考訳(メタデータ) (2022-06-04T22:01:05Z) - VELVET: a noVel Ensemble Learning approach to automatically locate
VulnErable sTatements [62.93814803258067]
本稿では,ソースコード中の脆弱な文を見つけるための新しいアンサンブル学習手法であるVELVETを提案する。
我々のモデルは、グラフベースとシーケンスベースニューラルネットワークを組み合わせて、プログラムグラフの局所的およびグローバル的コンテキストを捕捉する。
VELVETは、合成データと実世界のデータに対して、それぞれ99.6%と43.6%の精度を達成している。
論文 参考訳(メタデータ) (2021-12-20T22:45:27Z) - Security Vulnerability Detection Using Deep Learning Natural Language
Processing [1.4591078795663772]
ソースコードをテキストとして扱う自然言語処理(NLP)問題としてソフトウェア脆弱性検出をモデル化する。
トレーニングとテストのために、123タイプの脆弱性を持つ$C$プログラミング言語で10000以上のファイルのデータセットを構築しました。
実験は、セキュリティ脆弱性の検出において93%以上の精度で最高のパフォーマンスを生み出します。
論文 参考訳(メタデータ) (2021-05-06T01:28:21Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。