論文の概要: Controlling Large Language Models to Generate Secure and Vulnerable Code
- arxiv url: http://arxiv.org/abs/2302.05319v1
- Date: Fri, 10 Feb 2023 15:28:55 GMT
- ステータス: 処理完了
- システム内更新日: 2023-02-13 15:35:10.922554
- Title: Controlling Large Language Models to Generate Secure and Vulnerable Code
- Title(参考訳): セキュアで脆弱なコードを生成するための大規模言語モデル制御
- Authors: Jingxuan He and Martin Vechev
- Abstract要約: 大規模言語モデル(LM)は、オープンソースプログラムの膨大なコーパスに事前訓練され、プログラムタスクの解決に応用されている。
しかし、LMの基本的な制限は、事前訓練や推論中にセキュリティや脆弱性を認識できないことである。
この作業はコード生成と呼ばれる新しい問題を定式化し、LMがセキュアまたは脆弱なコードを生成するかどうかをユーザが制御できるようにする。
- 参考スコア(独自算出の注目度): 5.33024001730262
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Large language models (LMs) are increasingly pretrained on massive corpora of
open-source programs and applied to solve program synthesis tasks. However, a
fundamental limitation of LMs is their unawareness of security and
vulnerability during pretraining and inference. As a result, LMs produce secure
or vulnerable programs with high uncertainty (e.g., around 60%/40% chances for
GitHub Copilot according to a recent study). This greatly impairs LMs'
usability, especially in security-sensitive scenarios.
To address this limitation, this work formulates a new problem called
controlled code generation, which allows users to input a boolean property into
an LM to control if the LM generates secure or vulnerable code. We propose
svGen, an effective and lightweight learning approach for solving controlled
code generation. svGen leverages property-specific continuous vectors to steer
program generation toward the given property, without altering the weights of
the LM. svGen's training optimizes those continuous vectors by carefully
applying specialized loss terms on different regions of code.
Our extensive evaluation shows that svGen achieves strong control capability
across various software vulnerabilities and LMs of different parameter sizes.
For example, on 9 dangerous vulnerabilities, a state-of-the-art CodeGen LM with
2.7B parameters generates secure programs with a 57% chance. When we use svGen
to control the LM to generate secure (resp., vulnerable) programs, the chance
is significantly increased to 82% (resp., decreased to 35%).
- Abstract(参考訳): 大規模言語モデル(LM)は、オープンソースプログラムの膨大なコーパスに事前訓練され、プログラム合成タスクの解決に応用されている。
しかし、LMの基本的な制限は、事前訓練や推論中にセキュリティや脆弱性を認識できないことである。
その結果、lmsは高い不確実性を持つセキュアまたは脆弱なプログラムを生成する(最近の研究によれば、github copilotの約60%/40%の確率)。
これは特にセキュリティに敏感なシナリオにおいて、lmsのユーザビリティを著しく損なう。
この制限に対処するため、この研究は制御コード生成と呼ばれる新しい問題を定式化し、ユーザはLMにブールプロパティを入力して、LMがセキュアまたは脆弱なコードを生成するかどうかを制御することができる。
制御されたコード生成を解決するための効果的で軽量な学習手法であるsvGenを提案する。
svGenはプロパティ固有の連続ベクトルを利用して、LMの重みを変更することなく、プログラム生成を与えられたプロパティに向けて操る。
svGenのトレーニングは、コードの異なる領域に特別な損失項を慎重に適用することで、これらの連続ベクトルを最適化する。
我々の広範な評価は、svGenが様々なソフトウェア脆弱性や異なるパラメータサイズのLMに対して強力な制御能力を発揮することを示している。
例えば、9つの危険な脆弱性では、2.7Bパラメータを持つ最先端のCodeGen LMが57%の確率でセキュアなプログラムを生成する。
セキュアな(脆弱性のある)プログラムを生成するためにsvGenを使用すると、その確率は82%に向上する(resp., 35%に低下する)。
関連論文リスト
- CoCA: Regaining Safety-awareness of Multimodal Large Language Models with Constitutional Calibration [90.36429361299807]
マルチモーダルな大言語モデル (MLLM) は、視覚的な入力を含む会話への関与において顕著な成功を収めている。
視覚的モダリティの統合は、MLLMが悪意のある視覚的入力に影響を受けやすいという、ユニークな脆弱性を導入している。
本稿では,出力分布を校正することでMLLMの安全性を向上するCoCA技術を紹介する。
論文 参考訳(メタデータ) (2024-09-17T17:14:41Z) - HexaCoder: Secure Code Generation via Oracle-Guided Synthetic Training Data [60.75578581719921]
大規模言語モデル(LLM)は、自動コード生成に大きな可能性を示している。
最近の研究は、多くのLLM生成コードが深刻なセキュリティ脆弱性を含んでいることを強調している。
我々は,LLMがセキュアなコードを生成する能力を高めるための新しいアプローチであるHexaCoderを紹介する。
論文 参考訳(メタデータ) (2024-09-10T12:01:43Z) - What Makes and Breaks Safety Fine-tuning? A Mechanistic Study [64.9691741899956]
安全性の微調整は、大規模な言語モデル(LLM)を、安全なデプロイメントのための人間の好みに合わせるのに役立つ。
安全でない入力の健全な側面をキャプチャする合成データ生成フレームワークを設計する。
これを用いて,3つのよく知られた安全微調整手法について検討する。
論文 参考訳(メタデータ) (2024-07-14T16:12:57Z) - 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) - ROSE Doesn't Do That: Boosting the Safety of Instruction-Tuned Large Language Models with Reverse Prompt Contrastive Decoding [89.0074567748505]
本稿では,既存の命令調整LDMの安全性を高めるための簡易な手法であるROSE(Reverse prompt contrastive decoding)を提案する。
6つの安全性と2つの汎用タスクの実験から、ROSEは5種類の命令調整LDMに対して、一貫した、重要な安全性向上(+13.8%の安全性スコア)をもたらすだけでなく、LLMの汎用能力にも恩恵をもたらすことが示されている。
論文 参考訳(メタデータ) (2024-02-19T06:58:42Z) - Instruction Tuning for Secure Code Generation [6.043526197249358]
既存の命令チューニングスキームは、生成されたコードのセキュリティという重要な側面を見落としている。
SafeCoderは、多種多様な高品質データセットを使用して、セキュリティ中心の微調整を実行する。
ユーティリティを保ちながら、セキュリティを大幅に改善できます(約30%)。
論文 参考訳(メタデータ) (2024-02-14T15:47:46Z) - 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) - Identifying the Risks of LM Agents with an LM-Emulated Sandbox [68.26587052548287]
言語モデル(LM)エージェントとツールは、豊富な機能セットを可能にすると同時に、潜在的なリスクを増幅する。
これらのエージェントを高いコストでテストすることは、高いリスクと長い尾のリスクを見つけるのをますます困難にします。
ツール実行をエミュレートするためにLMを使用し、さまざまなツールやシナリオに対してLMエージェントのテストを可能にするフレームワークであるToolEmuを紹介します。
論文 参考訳(メタデータ) (2023-09-25T17:08:02Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。