論文の概要: PromSec: Prompt Optimization for Secure Generation of Functional Source Code with Large Language Models (LLMs)
- arxiv url: http://arxiv.org/abs/2409.12699v1
- Date: Thu, 19 Sep 2024 12:14:10 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-09-26 03:04:01.179041
- Title: PromSec: Prompt Optimization for Secure Generation of Functional Source Code with Large Language Models (LLMs)
- Title(参考訳): PromSec: 大規模言語モデル(LLM)を用いた関数型ソースコードのセキュア生成のためのプロンプト最適化
- Authors: Mahmoud Nazzal, Issa Khalil, Abdallah Khreishah, NhatHai Phan,
- Abstract要約: LLM(Large Language Model)は、高品質なソースコードを生成するために使われる。
LLMは、安全でないオープンソースデータのトレーニングのために、セキュリティ上の脆弱性をしばしば導入する。
本稿では,セキュアかつ機能的なコード生成のためのプロム最適化アルゴリズムであるPromSecを紹介する。
- 参考スコア(独自算出の注目度): 4.2913589403278225
- License:
- Abstract: The capability of generating high-quality source code using large language models (LLMs) reduces software development time and costs. However, they often introduce security vulnerabilities due to training on insecure open-source data. This highlights the need for ensuring secure and functional code generation. This paper introduces PromSec, an algorithm for prom optimization for secure and functioning code generation using LLMs. In PromSec, we combine 1) code vulnerability clearing using a generative adversarial graph neural network, dubbed as gGAN, to fix and reduce security vulnerabilities in generated codes and 2) code generation using an LLM into an interactive loop, such that the outcome of the gGAN drives the LLM with enhanced prompts to generate secure codes while preserving their functionality. Introducing a new contrastive learning approach in gGAN, we formulate code-clearing and generation as a dual-objective optimization problem, enabling PromSec to notably reduce the number of LLM inferences. PromSec offers a cost-effective and practical solution for generating secure, functional code. Extensive experiments conducted on Python and Java code datasets confirm that PromSec effectively enhances code security while upholding its intended functionality. Our experiments show that while a state-of-the-art approach fails to address all code vulnerabilities, PromSec effectively resolves them. Moreover, PromSec achieves more than an order-of-magnitude reduction in operation time, number of LLM queries, and security analysis costs. Furthermore, prompts optimized with PromSec for a certain LLM are transferable to other LLMs across programming languages and generalizable to unseen vulnerabilities in training. This study is a step in enhancing the trustworthiness of LLMs for secure and functional code generation, supporting their integration into real-world software development.
- Abstract(参考訳): 大きな言語モデル(LLM)を使って高品質なソースコードを生成する能力は、ソフトウェア開発の時間とコストを削減します。
しかし、安全でないオープンソースデータのトレーニングのために、セキュリティ上の脆弱性がしばしば導入される。
これはセキュアで機能的なコード生成の必要性を強調している。
本稿では,LLMを用いたセキュアかつ機能的なコード生成のためのプロム最適化アルゴリズムであるPromSecを紹介する。
PromSecでは、組み合わせます
1) 生成したコードにおけるセキュリティ脆弱性の修正と低減のために、gGANと呼ばれる生成逆グラフニューラルネットワークを使用したコード脆弱性のクリア。
2) LLM を用いたコード生成では,gGAN の結果が拡張プロンプトで LLM を駆動し,その機能を保ちながらセキュアなコードを生成する。
gGANに新しいコントラスト学習手法を導入し、コードクリーニングと生成を二重目的最適化問題として定式化し、PromSecがLLM推論数を顕著に削減できるようにする。
PromSecは、セキュアで機能的なコードを生成するためのコスト効率が高く実用的なソリューションを提供する。
PythonとJavaのコードデータセットで実施された大規模な実験は、PromSecが意図した機能を保ちながら、コードのセキュリティを効果的に強化することを確認した。
我々の実験によると、最先端のアプローチではすべてのコードの脆弱性に対処できないが、PromSecはそれらを効果的に解決する。
さらに、PromSecは、操作時間、LLMクエリ数、セキュリティ解析コストのオーダー・オブ・マグニチュード削減以上のことを達成している。
さらに、特定のLLM用にPromSecに最適化されたプロンプトは、プログラミング言語間で他のLLMに転送可能であり、トレーニングの未確認脆弱性に対して一般化可能である。
本研究は,LLMの安全性と機能的コード生成に対する信頼性を高め,実世界のソフトウェア開発への統合を支援するためのステップである。
関連論文リスト
- Can We Trust Large Language Models Generated Code? A Framework for In-Context Learning, Security Patterns, and Code Evaluations Across Diverse LLMs [2.7138982369416866]
大規模言語モデル(LLM)は、ソフトウェア工学における自動コード生成に革命をもたらした。
しかし、生成されたコードのセキュリティと品質に関する懸念が持ち上がっている。
本研究は,LLMの行動学習をセキュアにするための枠組みを導入することで,これらの課題に対処することを目的とする。
論文 参考訳(メタデータ) (2024-06-18T11:29:34Z) - Constrained Decoding for Secure Code Generation [9.007821185927277]
本稿では、コードLLMがセキュアかつ正しいコードを生成する能力を測定するための新しいベンチマークであるCodeGuard+を紹介する。
我々は,現在最先端の防御技術であるプレフィックスチューニングが,セキュアなコードを生成するが機能的正当性を犠牲にしているため,従来考えられていたほど強力ではないことを示す。
セキュアなコードを生成するための制約付き復号法を提案する。
論文 参考訳(メタデータ) (2024-04-30T21:52:19Z) - CodeAttack: Revealing Safety Generalization Challenges of Large Language Models via Code Completion [117.178835165855]
本稿では,自然言語入力をコード入力に変換するフレームワークであるCodeAttackを紹介する。
我々の研究は、コード入力に対するこれらのモデルの新たな、普遍的な安全性の脆弱性を明らかにした。
CodeAttackと自然言語の分布ギャップが大きくなると、安全性の一般化が弱くなる。
論文 参考訳(メタデータ) (2024-03-12T17:55:38Z) - Assured LLM-Based Software Engineering [51.003878077888686]
この記事では,2024年4月15日にポルトガルのリスボンで開催された International Workshop on Interpretability, Robustness, and Benchmarking in Neural Software Engineering で,Mark Harman 氏による基調講演の内容の概要を紹介する。
論文 参考訳(メタデータ) (2024-02-06T20:38:46Z) - StepCoder: Improve Code Generation with Reinforcement Learning from
Compiler Feedback [58.20547418182074]
2つの主要コンポーネントからなるコード生成の新しいフレームワークであるStepCoderを紹介します。
CCCSは、長いシーケンスのコード生成タスクをCurriculum of Code Completion Subtaskに分割することで、探索課題に対処する。
FGOは、未実行のコードセグメントをマスクすることでのみモデルを最適化し、Fine-Grained Optimizationを提供する。
提案手法は,出力空間を探索し,対応するベンチマークにおいて最先端の手法より優れた性能を発揮する。
論文 参考訳(メタデータ) (2024-02-02T13:14:31Z) - Code Security Vulnerability Repair Using Reinforcement Learning with
Large Language Models [1.5457286059556397]
大規模言語モデル(LLM)から生成されたコードのセキュリティ強化と強化のための強化学習に基づく手法を提案する。
本研究では,コードにセキュリティと機能的対策を加えることに集中する意味的報酬機構と統語的報酬機構を組み合わせることで,プログラム固有の修復を行うための強化学習手法を提案する。
論文 参考訳(メタデータ) (2024-01-13T10:19:26Z) - If LLM Is the Wizard, Then Code Is the Wand: A Survey on How Code
Empowers Large Language Models to Serve as Intelligent Agents [81.60906807941188]
大型言語モデル(LLM)は、自然言語と形式言語(コード)の組み合わせに基づいて訓練される
コードは、標準構文、論理一貫性、抽象化、モジュール性を備えた高レベルの目標を実行可能なステップに変換する。
論文 参考訳(メタデータ) (2024-01-01T16:51:20Z) - A Wolf in Sheep's Clothing: Generalized Nested Jailbreak Prompts can Fool Large Language Models Easily [51.63085197162279]
大きな言語モデル(LLM)は有用で安全な応答を提供するように設計されている。
ジェイルブレイク」と呼ばれる 敵のプロンプトは 保護を回避できる
有効なジェイルブレイクプロンプトを生成するためにLLM自体を活用する自動フレームワークであるReNeLLMを提案する。
論文 参考訳(メタデータ) (2023-11-14T16:02:16Z) - SALLM: Security Assessment of Generated Code [0.5137309756089941]
本稿では,セキュアなコードを体系的に生成する大規模言語モデルの能力をベンチマークするフレームワークであるSALLMについて述べる。
フレームワークには3つの主要なコンポーネントがある。セキュリティ中心のPythonプロンプトの新たなデータセット、生成されたコードを評価するための評価テクニック、セキュアなコード生成の観点からモデルのパフォーマンスを評価するための新しいメトリクスである。
論文 参考訳(メタデータ) (2023-11-01T22:46:31Z) - ZeroLeak: Using LLMs for Scalable and Cost Effective Side-Channel
Patching [6.556868623811133]
セキュリティクリティカルなソフトウェア、例えばOpenSSLには、リソースや専門家が不足しているため、パッチが残っていないサイドチャネルのリークが多数含まれている。
マイクロアーキテクチャのサイドチャネルリークを伴う脆弱性コードに対するパッチ生成において,LLM(Large Language Models)の使用について検討する。
論文 参考訳(メタデータ) (2023-08-24T20:04:36Z) - Red Teaming Language Model Detectors with Language Models [114.36392560711022]
大規模言語モデル(LLM)は、悪意のあるユーザによって悪用された場合、重大な安全性と倫理的リスクをもたらす。
近年,LLM生成テキストを検出し,LLMを保護するアルゴリズムが提案されている。
1) LLMの出力中の特定の単語を, 文脈が与えられたシノニムに置き換えること, 2) 生成者の書き方を変更するための指示プロンプトを自動で検索すること,である。
論文 参考訳(メタデータ) (2023-05-31T10:08:37Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。