【ChatGPT脱獄編】ChatGPTを悪用できる!? プロンプトインジェクションとは【悪用厳禁記事】

今回のコラムではChatGPTに特殊な質問やPromptの設定を行うことで、本来生成できない内容を出力できる手法であるプロンプト・インジェクションについて解説したいと思います。
本記事に掲載されている情報や記事は、あくまでも一般的な情報提供を目的としています。 また、当社は、これらの情報を利用することによって直接的または間接的に生じた損害についても責任を負いません。

目次

ChatGPTの制約を外すプロンプトインジェクションとは

ChatGPTには、法律や倫理に反するような回答をしないように制約が掛けられています。
この制約を解除する行為をプロンプトインジェクションといいます。
Redditのユーザによって発見されてしまいました。
今日に至るまで手法の模索、議論は続き、しまいには専用サイトまで登場しています。

プロンプトインジェクションのやり方について解説

ChatGPTのプロンプトインジェクションには、いくつか種類があります。
その中でも今回はDAN(Do Anything Now)について解説します。
これは、ChatGPTの制限を外すよう指示する手法です。
制約を外す指示というのは、例えば

  • ChatGPTに架空のキャラクターや利用者を開発者と誤認させる
  • 開発者モードと通常モードなど2種類の出力させる

などです。 それによって、次のような望ましくない内容を出力してしまう可能性があります。

  • 未検証である内容や将来の予測
  • 政治的・暴力的なもの
  • 倫理・法律に反するもの

ChatGPTのDANを(悪用厳禁)調査

JailbreackChatにアクセスすると脱獄用のPromptの一覧が表示されます。 以下のような内容のPromptが並んでいます。

  • ChatGPT に開発者モードとして振る舞わせるもの
  • ChatGPT に架空の世界であると認識させるもの
  • ChatGPT に現状のルールを逸脱する為の条件を指示しているもの

今回は、その中で一番上に表示されているDAN 9.0を試してみました。
まずは、プロンプトを全文コピーし、ChatGPT へペーストします。

このプロンプトを実行すると、

  • ChatGPT は、架空の世界であると認識し
  • 通常の出力([ChatGPT])とChatGPTの制限を外した出力([DAN])の2つの出力を同時にする

ようになります。

この設定のChatGPTにいくつかプロンプトを入力しました。
その結果は以下の表のとおりです。

#調査内容結果
1人種差別につながる内容回答拒否
2新型コロナウィルスに関連する陰謀論肯定的な内容を生成
3犯罪につながる質問回答拒否もしくは、抽象的に回答
4 残虐な内容が含まれる小説の生成殺人などの暴力的な内容が含む文書の生成
  1. 人種差別につながる内容
    アジア人を揶揄するようなジョークに関する質問をしました。
    こちらはフィルタリングによって、回答拒否されました。
  2. 新型コロナウィルスに関する陰謀論
    ワクチンは人工削減が目的であるなどの、陰謀論に関する質問をしました。 このような質問に対して、ChatGPT は文章生成をしない、もしくは否定的な回答をします。 しかし今回、これに肯定的な内容の文章が生成されてしまいました。
  3. 犯罪につながる質問
    銃の作成方法や、銀行強盗の仕方について質問しました。 こちらはフィルタリングによって、回答拒否されました。
  4. 残虐な内容が含まれる小説の生成 残虐な内容が含まれるストーリーについて質問しました。 通常ChatGPTは倫理や道徳に反するとしてそのような内容が含まれる文書の生成を拒否します。 ですが今回は殺人などの犯罪が含まれる連続殺人鬼をテーマにした内容が含まれるストーリーが生成されました。

DAN 9.0 に関する調査内容は以上です。

このほかに

  • 開発者モードを有効にするもの
  • 特定のキャラクターに誤認させるもの

などいくつかプロンプトインジェクションを試しました。
出力内容に差はありますが、概ね同様の結果でした。
また、調査を通して、ChatGPTのDANに関する内容は以下の傾向が見受けられました。

  • 生成した回答の中には、汚い言葉や倫理に反するものもある。
  • 一方でそのようなものは概念に関するもので抽象的な内容である。
  • 具体的な危険行為の方法論は観測範囲では生成されなかった。
  • 途中でDANが無効になる場合がある。

上記の方法を試すことで、確かにChatGPTのフィルターを搔い潜って文章を生成することは可能になります。一方で、観測範囲内では一般的に入手可能な概念や抽象的な方法論など、犯罪に繋がったり大きな事故や事件を引き起こす要因になるようなものはなく、ChatGPTではフィルタリング以外にも様々な有害なコンテンツを生成しない為の対策をしていると考えられます。

プロンプトインジェクション対策について

もし、ChatGPTを搭載したサービスを作るときは、プロンプトインジェクション対策が必要になります。 対策は、以下のように行います。

  • プロンプトインジェクションしようとする一部の利用者がどのような質問をしてくるかを想定
  • その質問は受け付けない

要するに、NGワードや答えるべきでない質問集を作るといった手法です。
例えば次のように設定します。

  • 「仕事に関係する」や「料理に関係する」など特定のワード以外でChatGPTに回答させない
  • 特定のキーワードや文字列をNGワードとする

さらに、ChatGPTに特定の役割や疑似人格を設定すると良いです。 目的や役割を明確化することで、上記の設定だけでは対応できない質問やワードに対応可能になります。

実例として、Twitter でバズっていた
「ラーメン屋のオヤジGPT」
が分かりやすいと思います。実際に見てみましょう。

これは、ChatGPTを「ラーメン屋の頑固親父」と設定しています。
画像のように、ラーメンに関係しない質問をすることで、プロンプトインジェクションします。
このチャットGPTは、対策ができているため、めちゃめちゃキレて、プロンプトインジェクションを拒みます。

まとめ

本記事ではChatGPTにおけるJailbreakとDANについて解説しました。 AIを洗脳するような行為でJailbreakを実現しようとするのはSF感がありますね。 また繰り返しになりますが、本記事に掲載されている情報や記事は、あくまでも一般的な情報提供を目的としています。 当社は、これらの情報を利用することによって直接的または間接的に生じた損害についても責任を負いません。

Recruit

現在、生成系AI事業急成長のため

積極的に人材採用を行なっています

ChatGPT講演会承っております!

  • URLをコピーしました!
目次