【プロンプトリーク】
プロンプトリーク とは?
最終更新:
💡 内部の指示が、AIの返答から見えてしまう
AIサービスの内部プロンプトや指示が、意図せず利用者などへ露出すること。含まれる機密情報が漏れる危険があり、プロンプトを秘密やアクセス制御の唯一の根拠にしない設計が必要。
📌 このページのポイント
- 内部プロンプトの露出と、機密情報の被害を分けて考える
- プロンプトインジェクションは、露出を起こす手段の一つ
- 認証情報などの秘密をプロンプトへ埋め込まない
- 権限の確認をモデル外で行い、出力の検査も組み合わせる
AIの裏の命令が、利用者に見えることがあるの?
サービスが内部で与えた指示が、返答などへ露出することがあるよ。ここではシステムプロンプトなどの露出を扱う。ただし内部の指示を、絶対に秘密が保たれる場所だと思って設計してはいけないんだ。
プロンプトインジェクションと同じ?
関係はあるけれど、意味は違うよ。プロンプトインジェクションは入力で意図しない動作を起こすこと、リークは内部の指示が露出することだね。直接の入力だけでなく、モデルが読む外部の文章が動作に影響する場合もある。質問すれば必ず漏れるという意味ではないよ。
命令が見えただけでも、必ず大きな被害になる?
被害は中身と設計によるよ。認証情報や非公開の業務情報が入っていれば、それが漏れる危険がある。権限の判断を指示だけに任せた設計も問題だね。文面を隠せていても、安全な権限管理の代わりにはならないんだ。
どうすれば守れるの?
秘密を内部プロンプトに埋め込まず、必要な処理の権限をモデルの外で確認する。モデルへ与えるアクセスも必要な範囲に絞るんだ。出力の検査は補助になるけれど、指示を隠すことだけで秘密や権限を守ろうとしないことが大切だよ。
漏らさないように学習させれば解決?
学習や指示で改善できる場合はあっても、必ず守るという保証にはならないよ。独立した出力検査とアクセス制御を組み合わせる。モデルの返答を安全の判断そのものにせず、漏れた場合にも機密や権限の被害を抑えられる設計にするんだ。
まとめ:ざっくりこれだけ覚えればOK!
「プロンプトリーク」って出てきたら「AIの内部指示が意図せず外へ露出すること」と思えばだいたいOK!
📖 おまけ:英語の意味
「Prompt Leaking」 = プロンプトの漏出
💬 leakは漏れるという意味。ここでは内部の指示や情報が外へ露出することを指すよ。メモリを解放できなくなるメモリリークとは現象が違うよ