OpenAI の GPT のようなものなどの大規模言語モデル (Large Language Models, LLM) の人気が高まっており、プロンプトに基づいて人間のようなテキストを生成する能力をアプリケーションに提供します。しかし、これは多くの潜在的な脆弱性が明らかになっています。
このトピックは ASVS のコアコンピテンシーではありませんが、将来、LLM と AI 全般についてより包括的な検証標準が準備されることを期待して、いくつかの基本的なガイドラインを付録として含めたいと考えました。
これらは主要な ASVS 要件と同様の厳格なレビューや議論を経ていないため、使用には注意が必要です。
LLM セキュリティコントロールのより詳しい概要については OWASP Large Language Model Security Verification Standard を参照してください。
インジェクション攻撃やその他の悪意のある入力を防ぐために、LLM へのすべての入力が適切に検証およびサニタイズされていることを確認します。
# | 説明 | L1 | L2 | L3 | CWE |
---|---|---|---|---|---|
W.1.1 | LLM へのすべての入力は、期待したデータ型、長さ、形式であることを検証されている。 | ✓ | ✓ | ✓ | 20 |
W.1.2 | 入力は LLM が処理する前に、潜在的に有害なコンテンツを取り除くためにサニタイズされている。 | ✓ | ✓ | ✓ | 116 |
W.1.3 | 機密データを含まない専用の AI システムを使用して、LLM が処理する前に、自然言語の質問のセキュリティを検証している。 | ✓ | ✓ | ✓ | 924 |
機密情報の漏洩を防ぎ、有害なコンテンツの生成を避けるために、LLM が生成する出力はフィルタされ、サニタイズされていることを確認します。
# | 説明 | L1 | L2 | L3 | CWE |
---|---|---|---|---|---|
W.2.1 | LLM からの出力は、機密データの漏洩を防ぐために、レビューおよびフィルタされている。 | ✓ | ✓ | ✓ | 200 |
W.2.2 | 出力は、有害または不適切なコンテンツを生成しないようにサニタイズされている。 | ✓ | ✓ | ✓ | 89 |
W.2.3 | ソフトウェア開発プロセスで使用される大規模言語モデル (LLM) からのすべての出力 (コードの提案、パッケージの推奨、構成スニペットなど) は、実装前に開発者による検証と妥当性確認が行われている。 | ✓ | ✓ | ✓ | 345 |
不正使用を防ぐために、LLM とその機能へのアクセスが適切に制御および認証されていることを確認します。
# | 説明 | L1 | L2 | L3 | CWE |
---|---|---|---|---|---|
W.3.1 | LLM へのアクセスは、認証および認可されたユーザのみに制限されている。 | ✓ | ✓ | ✓ | 287 |
W.3.2 | LLM にアクセスするための強力な認証メカニズムを導入している。 | ✓ | ✓ | ✓ | 307 |