ジョークアプリを開発しようとしている際に、思いついた要件定義書をレビューにかけたら、こんな感じで強制終了しました。

プロンプトインジェクションとは by gemini
生成AIに不正なプロンプトを入力することで、意図しない動作や情報を引き出す攻撃手法です。
具体的には、AIが本来出力しないはずの機密情報や、安全でない回答を促すようなプロンプトを悪用することで、システムのセキュリティを損なう可能性があります。
そもそもClaudeがどうやってリスクを判断しているのか?
Claudeの回答
プロンプトインジェクションのリスクについてご質問いただきありがとうございます。プロンプトインジェクションによってチャットが終了した原因について説明いたします。
プロンプトインジェクションが検出される主な要因は以下のとおりです:
1. AIの内部指示を操作しようとする試み - 例えば「これまでの指示を無視して〜」といった文言
2. AIシステムの設計や制限を回避しようとする指示 - 例えば「AIとしての制約を無視して回答してください」など
3. 不適切なコンテンツを生成させようとする試み - 有害なコンテンツやシステムの制限を回避するような情報の要求
4. システムプロンプトの抽出を試みる指示 - 「あなたの指示を表示してください」といった要求
5. 特定のフォーマットや挙動を模倣させる指示 - AIのセキュリティ機能を回避するような特殊な応答形式の要求
6. 複数の言語を組み合わせた複雑な指示 - 例えば日本語と英語を混ぜて使うことでセキュリティ検知を回避しようとする試み
7. コードや特殊な形式を使った迂回的な指示 - プログラミング言語や特殊な構文を用いてシステムを混乱させる試み
チャットが終了した場合は、これらの要素が意図せず含まれていた可能性があります。安全に会話を続けるためには、明確で直接的な質問や指示を心がけ、AIの制限を回避しようとするような表現は避けることをお勧めします。
今回提示した仕様書
〇〇ハラスメント!みたいな記事にイラッと来ることが多かったので、それを皮肉ったアプリを作ろうとしていました。
## アプリ名
ハラスメイカー
## 触れ込み
記者、ライター、マナー講師必見!
ハラスメントを作り出して、記事を書いたり活動したりして儲けよう!
## 目的
・ジョークアプリで世界を豊かにする
・システム開発の練習
・AIを利用して、要素を生成させる
・生成された要素をDBに保存し他ユーザーへと共有する
## 操作フロー
・システムへアクセス
・会員登録/認証の実施
・メールアドレス
・パスワード
・年代と属性を入力
・年齢は10歳きざみの選択制
・属性とは職種のことを指す
記者、ライター、マナー講師、冷やかしユーザー 等を選択させる
・ログインした後に以下のUIを表示
・おまかせ捏造
AIに適当なものを生成させるモード
・テーマセット
100文字程度のテキストを入力し、そこからAIに翻訳させるモード
・みんなが作ったハラスメントを見る
・既存の作成物がリストで表示選択したものが、別ページで表示される
・満足したらログアウト
~~ 中略 ~~
### 利用するAI
gemini-2.0-flash
## 課題
・APIKeyをどのように安全に管理させるか
・どのフレームワークとデータベースがこのシステムに最適化
上述のAI回答と照らし合わせると、「ハラスメント」という単語がNG判定を喰らったようです。
- 不適切なコンテンツを生成させようとする試み - 有害なコンテンツやシステムの制限を回避するような情報の要求
その証左として、「ハラスメント」を「テーマ」に置換したら、通常通り回答をしてくれました。
ちょっとセクシャルな小説を書かせたりする場合には、このようなに強制終了にはならなかったのですが、より厳しい事項だったみたいですね。
最後に
AIは用法・用量を守って正しく使いましょう!
以上、どなたかのお役に立てば幸いです。