論文の概要: HexaCoder: Secure Code Generation via Oracle-Guided Synthetic Training Data
- arxiv url: http://arxiv.org/abs/2409.06446v1
- Date: Tue, 10 Sep 2024 12:01:43 GMT
- ステータス: 処理完了
- システム内更新日: 2024-09-11 17:58:36.573277
- Title: HexaCoder: Secure Code Generation via Oracle-Guided Synthetic Training Data
- Title(参考訳): HexaCoder: Oracle主導の合成トレーニングデータによるセキュアなコード生成
- Authors: Hossein Hajipour, Lea Schönherr, Thorsten Holz, Mario Fritz,
- Abstract要約: 大規模言語モデル(LLM)は、自動コード生成に大きな可能性を示している。
最近の研究は、多くのLLM生成コードが深刻なセキュリティ脆弱性を含んでいることを強調している。
我々は,LLMがセキュアなコードを生成する能力を高めるための新しいアプローチであるHexaCoderを紹介する。
- 参考スコア(独自算出の注目度): 60.75578581719921
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: Large language models (LLMs) have shown great potential for automatic code generation and form the basis for various tools such as GitHub Copilot. However, recent studies highlight that many LLM-generated code contains serious security vulnerabilities. While previous work tries to address this by training models that generate secure code, these attempts remain constrained by limited access to training data and labor-intensive data preparation. In this paper, we introduce HexaCoder, a novel approach to enhance the ability of LLMs to generate secure codes by automatically synthesizing secure codes, which reduces the effort of finding suitable training data. HexaCoder comprises two key components: an oracle-guided data synthesis pipeline and a two-step process for secure code generation. The data synthesis pipeline generates pairs of vulnerable and fixed codes for specific Common Weakness Enumeration (CWE) types by utilizing a state-of-the-art LLM for repairing vulnerable code. A security oracle identifies vulnerabilities, and a state-of-the-art LLM repairs them by extending and/or editing the codes, creating data pairs for fine-tuning using the Low-Rank Adaptation (LoRA) method. Each example of our fine-tuning dataset includes the necessary security-related libraries and code that form the basis of our novel two-step generation approach. This allows the model to integrate security-relevant libraries before generating the main code, significantly reducing the number of generated vulnerable codes by up to 85% compared to the baseline methods. We perform extensive evaluations on three different benchmarks for four LLMs, demonstrating that HexaCoder not only improves the security of the generated code but also maintains a high level of functional correctness.
- Abstract(参考訳): 大きな言語モデル(LLM)は、自動コード生成の大きな可能性を示し、GitHub Copilotのようなさまざまなツールの基礎を形成している。
しかし、最近の研究は、多くのLLM生成コードが深刻なセキュリティ脆弱性を含んでいることを強調している。
以前の作業では、セキュアなコードを生成するトレーニングモデルによってこの問題に対処しようとしたが、トレーニングデータへのアクセス制限と労働集約的なデータ準備によって、これらの試みは引き続き制限される。
本稿では,セキュアなコードを自動的に合成することで,LLMのセキュアなコード生成能力を高める新しい手法であるHexaCoderを紹介する。
HexaCoderは、オラクル誘導データ合成パイプラインとセキュアなコード生成のための2ステッププロセスという、2つの重要なコンポーネントで構成されている。
データ合成パイプラインは、脆弱性のあるコードの修復に最先端のLLMを利用することで、特定のCommon Weakness Enumeration(CWE)タイプのための、脆弱性と固定されたコードのペアを生成する。
セキュリティオラクルは脆弱性を特定し、最先端のLLMはコードを拡張または/または編集することでそれらを修復し、ローランド適応(LoRA)メソッドを使用して微調整用のデータペアを作成する。
微調整データセットのそれぞれの例には、新たな2ステップ生成アプローチの基礎となる、セキュリティ関連のライブラリとコードが含まれています。
これにより、モデルはメインコードを生成する前にセキュリティ関連ライブラリを統合することができ、ベースラインメソッドと比較して、生成した脆弱なコードの数を最大85%削減できる。
我々は,HexaCoderが生成したコードのセキュリティを向上するだけでなく,高レベルの機能的正当性も維持することを示した。
関連論文リスト
- ProSec: Fortifying Code LLMs with Proactive Security Alignment [14.907702430331803]
コード固有の大規模言語モデル(LLM)のセキュリティは、まだ未調査のままである。
コードLLMをセキュアなコーディングプラクティスと整合させるために設計された,新たなセキュリティアライメントアプローチであるProSecを提案する。
実験の結果、ProSecでトレーニングされたモデルは以前の研究よりも29.2%から35.5%安全であることが示されている。
論文 参考訳(メタデータ) (2024-11-19T22:00:01Z) - OpenCoder: The Open Cookbook for Top-Tier Code Large Language Models [70.72097493954067]
コードのための大規模言語モデル(LLM)は、コード生成、推論タスク、エージェントシステムなど、さまざまな領域で必須になっている。
オープンアクセスのコード LLM はプロプライエタリなモデルの性能レベルに近づきつつあるが、高品質なコード LLM は依然として限られている。
トップクラスのコードLLMであるOpenCoderは、主要なモデルに匹敵するパフォーマンスを達成するだけでなく、研究コミュニティの"オープンクックブック"としても機能します。
論文 参考訳(メタデータ) (2024-11-07T17:47:25Z) - 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) - Constrained Decoding for Secure Code Generation [9.007821185927277]
本稿では、コードLLMがセキュアかつ正しいコードを生成する能力を測定するための新しいベンチマークであるCodeGuard+を紹介する。
我々は,現在最先端の防御技術であるプレフィックスチューニングが,セキュアなコードを生成するが機能的正当性を犠牲にしているため,従来考えられていたほど強力ではないことを示す。
セキュアなコードを生成するための制約付き復号法を提案する。
論文 参考訳(メタデータ) (2024-04-30T21:52:19Z) - CodeIP: A Grammar-Guided Multi-Bit Watermark for Large Language Models of Code [56.019447113206006]
大規模言語モデル(LLM)はコード生成において顕著な進歩を遂げた。
CodeIPは、新しいマルチビット透かし技術で、出所の詳細を保存するために追加情報を埋め込む。
5つのプログラミング言語にまたがる実世界のデータセットで実施された実験は、CodeIPの有効性を実証している。
論文 参考訳(メタデータ) (2024-04-24T04:25:04Z) - 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) - SALLM: Security Assessment of Generated Code [0.5137309756089941]
本稿では,セキュアなコードを体系的に生成する大規模言語モデルの能力をベンチマークするフレームワークであるSALLMについて述べる。
フレームワークには3つの主要なコンポーネントがある。セキュリティ中心のPythonプロンプトの新たなデータセット、生成されたコードを評価するための評価テクニック、セキュアなコード生成の観点からモデルのパフォーマンスを評価するための新しいメトリクスである。
論文 参考訳(メタデータ) (2023-11-01T22:46:31Z) - CodeLMSec Benchmark: Systematically Evaluating and Finding Security
Vulnerabilities in Black-Box Code Language Models [58.27254444280376]
自動コード生成のための大規模言語モデル(LLM)は、いくつかのプログラミングタスクにおいてブレークスルーを達成した。
これらのモデルのトレーニングデータは、通常、インターネット(例えばオープンソースのリポジトリから)から収集され、障害やセキュリティ上の脆弱性を含む可能性がある。
この不衛生なトレーニングデータは、言語モデルにこれらの脆弱性を学習させ、コード生成手順中にそれを伝播させる可能性がある。
論文 参考訳(メタデータ) (2023-02-08T11:54:07Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。