論文の概要: 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-11-07 13:45:42.622315
- 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: http://creativecommons.org/licenses/by/4.0/
- 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の安全性と機能的コード生成に対する信頼性を高め,実世界のソフトウェア開発への統合を支援するためのステップである。
関連論文リスト
- ProSec: Fortifying Code LLMs with Proactive Security Alignment [14.907702430331803]
コード固有の大規模言語モデル(LLM)のセキュリティは、まだ未調査のままである。
コードLLMをセキュアなコーディングプラクティスと整合させるために設計された,新たなセキュリティアライメントアプローチであるProSecを提案する。
実験の結果、ProSecでトレーニングされたモデルは以前の研究よりも29.2%から35.5%安全であることが示されている。
論文 参考訳(メタデータ) (2024-11-19T22:00:01Z) - Multi-Programming Language Sandbox for LLMs [78.99934332554963]
大規模言語モデル(LLM)用のコンパイラと分析ツールから統一的で包括的なフィードバックを提供するように設計された、アウト・オブ・ザ・ボックスのマルチプログラミング言語サンドボックス
コードのプログラミング言語を自動的に識別し、独立したサブサンドボックス内でコンパイルして実行することで、安全性と安定性を確保することができる。
論文 参考訳(メタデータ) (2024-10-30T14:46:43Z) - HexaCoder: Secure Code Generation via Oracle-Guided Synthetic Training Data [60.75578581719921]
大規模言語モデル(LLM)は、自動コード生成に大きな可能性を示している。
最近の研究は、多くのLLM生成コードが深刻なセキュリティ脆弱性を含んでいることを強調している。
我々は,LLMがセキュアなコードを生成する能力を高めるための新しいアプローチであるHexaCoderを紹介する。
論文 参考訳(メタデータ) (2024-09-10T12:01:43Z) - An Exploratory Study on Fine-Tuning Large Language Models for Secure Code Generation [17.69409515806874]
脆弱性修正コミットのデータセット上での微調整済みのLLMがセキュアなコード生成を促進するかどうかを探索研究する。
オープンソースのリポジトリから、確認済みの脆弱性のコード修正を収集することで、セキュアなコード生成のための微調整データセットをクロールしました。
我々の調査によると、微調整のLLMは、C言語で6.4%、C++言語で5.4%、セキュアなコード生成を改善することができる。
論文 参考訳(メタデータ) (2024-08-17T02:51:27Z) - 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) - CodeAttack: Revealing Safety Generalization Challenges of Large Language Models via Code Completion [117.178835165855]
本稿では,自然言語入力をコード入力に変換するフレームワークであるCodeAttackを紹介する。
我々の研究は、コード入力に対するこれらのモデルの新たな、普遍的な安全性の脆弱性を明らかにした。
CodeAttackと自然言語の分布ギャップが大きくなると、安全性の一般化が弱くなる。
論文 参考訳(メタデータ) (2024-03-12T17:55:38Z) - 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) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。