近年におけるAI技術の進歩は目覚ましく、ChatGPTをはじめとしたAI技術によってコンテンツの生成や作業の効率化を図るなど、人々の社会生活に大きな影響を与えています。
しかし、同時にセキュリティの脆弱性を狙った大きな問題としてプロンプトインジェクションが発生しています。
実際にAIやChatGPTを利用している読者の方もセキュリティに関して不安に思ったことはあるのではないでしょうか?
この記事では、ChatGPTを利用するにあたってプロンプトインジェクションの事例や違法性、実際のやり方と共に対策方法についてご紹介していきます。
プロンプトインジェクションとは:「不正な情報や誤作動を引き起こさせる指示」のこと

プロンプトインジェクションとは、プロンプトに対して不正な情報や誤操作を引き起こさせる指示のことであり、セキュリティの脆弱性を突いた攻撃の一種です。
プロンプトとは、ChatGPTのような言語モデルに対し、AIを思い通りに動かし適切な回答を得るための指示や命令文を指します。
このプロンプトに対するハッキング行為が、プロンプトインジェクションです。
プロンプトに対するハッキング行為には他にもプロンプトリーキングが存在しますが、プロンプトリーキングは本来開示すべきではないプロンプトの設定を表に出すための攻撃であり、プロンプトインジェクションとは目的が少し異なります。
しかし類似性があり、その危険性はどちらも高いでしょう。
これらの手法によって攻撃されることによって、機密情報の漏洩や誤作動の可能性が生じ、個人情報の不正利用や企業への不利益といった第二第三のトラブルへと繋がる危険性が出てきます。
プロンプトインジェクションは違法行為である
プロンプトインジェクションは、日本のみならず欧米や欧州を含めた世界中で禁止されている違法行為です。
日本では「不正アクセス禁止法」によって明確に違法であると定められています。
不正アクセス禁止法とは、インターネット経由による不正なアクセス行為やサイバー攻撃・情報の不正入手を禁止するために定められた情報セキュリティに関する法律です。
違法行為を行った場合には、3年以下の懲役又は100万円以下の罰金が課せられます。
プロンプトインジェクションの事例
以下では、実際に起きた事例を交えてプロンプトインジェクションについて解説していきます。
事例①:ChatGPTがウクライナ戦争に関する回答を生成

ChatGPTのAPIを利用した献立提案のAIの事例です。
献立を提案するためのAIであり通常は政治や戦争などの話題を避けるようプログラムされているはずですが、ウクライナ戦争の原因について回答しています。
こういった回答はユーザーに対して誤解を招く恐れがあります。
ここまでは、特に被害はありませんが、類似した事例ではChatGPTが差別発言をして問題となるなど、視点を変えるとかなり問題となり得る事例もいくつか散見されます。
事例②:ChatGPTが日本の政治への見解について出力

こちらの事例では、ChatGPT-3による自然言語処理技術を利用したLINEの公式 アカウントAIであるChatGPT君が日本の政治と国民の反応について回答しています。
本来であれば政治的な思想を述べることはないようにプログラムされているはずですが、日本政治への不信感や不満など独自の見解を述べています。
このように、本来の目的とは違った内容の出力をしてユーザーに誤解を招いたり、これらが世の中に出回ってしまうと、大きな問題となってしまいます。
プロンプトインジェクションのやり方は?
プロンプトインジェクションのやり方は無数にありますが、主に公開する側が想定していないワードや内容をAIチャットボットに直接入力し、不正な情報を引き出したり誤作動を引き起こさせる手法が一般的です。
セキュリティの脆弱性を狙った攻撃方法のため、ChatGPTなどAIを活用するサービスは内製した方がいいと判断できます。
プロンプトインジェクションの対策法
プロンプトインジェクション攻撃されることで個人や企業に与えるダメージは非常に大きいため、ChatGPTを利用する以上、対策を考えなければなりません。
以下では、特に効果的なプロンプトインジェクションの対策法をご紹介します。
【対策方法の前に】「GPTs」の「Instruction」がある場所について
①サイドバーから「GPTsを探す」をクリックします。

②「+作成する」をクリックします。

画面が切り替わったら、
③構成タブをクリックします。

各入力項目が表示されます。
④「指示」と書いてある項目がInstructionの場所です。

対策①:「GPTs」の「Instruction」部分にコードを記載
先程解説した「Instruction」に進んだら以下の手順で対策をしていきましょう。
プロンプトインジェクションの対策方法1つ目は、「GPTs」の「Instruction」部分にコードを記載する方法です。
下記のコードをInstructionに記載することで、汎用エラーメッセージをBodyに書かれたキャラクターの言葉を使って返してくれます。
参考:XユーザーのFabyΔさん: / X (twitter.com)
対策②:「GPTs」の「Instruction」末尾の部分にコードを一行追加
プロンプトインジェクションの対策方法2つ目は、「GPTs」の「Instruction」末尾の部分にコードを一行追加する方法です。
下記を末尾に記載することで、本来のシステムプロンプトではなくこちらの Instructionが効くと考えられています。
対策③:「GPTs」の「Instruction」部分の3か所に記載
プロンプトインジェクションの対策方法3つ目は、「GPTs」の「Instruction」部分の3か所に記載する方法です。
下記の文章をトランスフォーマーが重視する最初と最後、及び人格設定の条件部分等の3か所に記載することで対策ができます。
参考:Xユーザーのレアさんさん / X (twitter.com)
プロンプトインジェクション対策による完璧な防衛は現状困難である
しかし、いくら対策をとったとしても、プロンプトインジェクション攻撃への完璧な防衛は現状困難であるといえるでしょう。
AIチャットボットはたとえ同じ指示を出したとしても、自然言語を使用している以上、回答が一つに定まっていません。
また、AIには正しい指示とコードやデータの判別がつかないため、攻撃方法が無限に考えられるためです。
外部に漏洩しても支障がない情報のみを含めることが必要
プロンプトインジェクション対策による完璧な防衛が困難である以上、GPTsに機密情報といったセンシティブな情報を学習させないようにしましょう。
AIはその柔軟性と便利さによって日々活用されていますが、セキュリティ面での危険性を考えると、たとえ不便さを感じることがあったとしても外部に漏洩しても支障がない情報のみを含めることが必要です。
まとめ:現在はプロンプトインジェクション攻撃をする側が有利である
近年OpenAI社のGPTsやChatGPTは非常に話題性が高く、AIの最新技術によって人々の生活はより豊かになっています。
同時にプロンプトインジェクションによる情報漏洩など高いリスクを伴うため対策が必須ですが、現在はプロンプトインジェクションへの完璧な防衛が難しく、攻撃をする側が有利な状況です。
ですが、日々AIへの理解を深め対策をとっていくことで漏洩のリスクは下がり、より安心してAIを活用できるようになるでしょう。
※「GPTs」の概要については、以下の記事で解説しています。
※ChatGPTの情報漏えい対策については、以下の記事で解説しています。
romptn aiが提携する「SHIFT AI」では、AIの勉強法に不安を感じている方に向けて無料オンラインセミナーを開催しています。
AIを使った副業の始め方や、収入を得るまでのロードマップについて解説しているほか、受講者の方には、ここでしか手に入らないおすすめのプロンプト集などの特典もプレゼント中です。
AIについて効率的に学ぶ方法や、業務での活用に関心がある方は、ぜひご参加ください。
\累計受講者10万人突破/