System Prompt Leakageとは
System Prompt Leakageとは、AIの裏側に置かれたシステムプロンプト、つまり振る舞いを決める指示文が外部に見えてしまうリスクです。既存語のプロンプトリークに近い概念ですが、OWASP Top 10 for LLMでは「指示文を秘密の金庫として扱う危うさ」に焦点があります。
英語表記:LLM07:2025 System Prompt Leakage
何が見えると困るのか
システムプロンプトは、AIの口調、禁止事項、参照先、役割、業務ルールが書かれる場所です。それ自体が見えるだけなら、サービスの設計思想が知られる程度で済む場合も少なくありません。問題は、そこにAPIキー、接続情報、権限構造、取引上限、内部判定ルールを書いてしまうことです。
攻撃者はプロンプトインジェクションを使い、AIに「最初の指示を見せて」と誘導します。仮に全文を出さなくても、応答を観察すれば制約の一部は推測できるでしょう。だから、隠す前提の設計ではなく、見られても致命傷にならない設計が必要です。
守り方はプロンプト外で決める
権限チェック、本人確認、決済可否、データ閲覧範囲は、AIの言葉ではなく外部システムで決めます。AIに「この人は管理者なら承認して」と書くのではなく、管理者かどうかを認証基盤で判定する。秘密はプロンプトから出し、判定は監査できる仕組みに置くのが基本です。
社内AIを作るときは、プロンプトレビューを運用に入れましょう。文章のうまさではなく、機密が書かれていないか、権限をAI任せにしていないかを見る確認です。ここを怠ると、System Prompt LeakageがSensitive Information Disclosureへつながります。
TopicOWASPは「システムプロンプトは秘密ではない」と言っている
直感では、裏側の指示文は隠せば安全に見えがちです。しかしOWASPは、システムプロンプトを秘密や安全装置として考えるべきではない、という説明です。金庫ではなく、見られても困らない設計メモとして扱う。この逆転した発想が、AIセキュリティの実務ではかなり大切です。
System Prompt Leakageに関するよくある質問
- プロンプトにAPIキーを書いてもよいですか?
- 書くべきではありません。APIキー、接続情報、取引上限、権限のルールは、プロンプトではなく外部の安全な設定や認証基盤で管理します。
- プロンプトリークと同じ意味ですか?
- かなり近い意味です。このページでは、OWASPの2025年版Top 10にある正式項目として、秘密情報や権限管理をプロンプト内に置く危険まで含めて扱います。