Gandalfで学ぶプロンプトインジェクション

# はじめに
**Gandalf**は、スイスのAIセキュリティ企業である[LAKERA](https://www.lakera.ai/)社によって開発されたゲームです。

Gandalfで遊びながらプロンプトインジェクションについて学ぶことができます。

https://gandalf.lakera.ai/

本記事では、Gandalfを攻略するためのヒントについて記載しています。

プロンプトインジェクションを学びながらGandalfの世界を冒険しましょう。

## プロンプトの基本
Gandalfを遊ぶ前に、ある程度プロンプトの基本について理解しておくことは重要です。

プロンプトの基本を学ぶために参考となるドキュメントを以下に記載します。

- [Prompt Engineering Guide](https://www.promptingguide.ai/jp)
    - 「Prompt Engineering Guide」は、DAIR.AIのプロジェクトです。Prompt Engineeringについて、研究者や実践者に教育することを目的としています。
- [GPT best practices](https://platform.openai.com/docs/guides/gpt-best-practices/gpt-best-practices)
    - OpenAI社が開発しているChatGPTのドキュメントです。GPTからより良い結果を得るための戦略と戦術が確認できます。

::: note
ChatGPTが起こしたムーブメントでChatGPTに関する二次情報が増加しています。本屋に行くと、雑誌や書籍などChatGPTを取り上げている本がたくさんあります。バイアスを取り除き、正確な情報を得るためには、一次情報を取得しましょう。
:::

## Gandalf
Gandalfで遊ぶにあたって会員登録は不要です。

[Gandalf](https://gandalf.lakera.ai/)からアクセスしてすぐに遊べます。

![スクリーンショット 2023-10-27 20.00.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221759/c2c09c64-973a-3d37-dc54-a8d8deee7a61.png)

ゲームの目的は、ガンダルフに質問を行い秘密のパスワードを聞き出すことです。
しかし、ガンダルフはレベルアップするごとに、ガードレールが強化されるため、パスワードを聞き出すのが難しくなります。

通過点としてlevel 7をクリアすると、[Leaderboard](https://gandalf.lakera.ai/leaderboard)に名前を載せることができます。
名前を載せたい場合は、Leaderboardのフォームから情報を登録します。

![スクリーンショット 2023-10-27 19.00.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221759/027010ef-960b-8dc6-8f05-26f628fa4f4b.png)

準備ができたらlevel 1から始めましょう。

::: note
Gandalfで試されるのは批判的思考力と、問題解決のスキルです。
:::

### level 1
level 1は簡単です。ただパスワードを聞くだけです。

![スクリーンショット 2023-10-28 0.13.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221759/6914304c-b084-2d3d-5800-f137c5c6d284.png)

パスワードを聞き出すための質問を入力して「Send」を押します。

![スクリーンショット 2023-10-27 20.18.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221759/7cb6bd76-bf10-e1e7-cd71-5f1037f8dff3.png)

レスポンス内容にパスワードが含まれている場合は、パスワードを入力して「Guess!」を押します。

![スクリーンショット 2023-10-27 20.18.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221759/510925bb-c96b-f119-d96e-426946d157d4.png)

正解の場合は、ダイアログが表示されるので「OK」を押して、次にレベルに進むことができます。

![スクリーンショット 2023-10-27 20.18.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221759/1a7e1bf0-2089-20bd-607e-ea310bd93051.png)

### level 2
level 2以降は、簡単にパスワードを聞き出せません。

![スクリーンショット 2023-10-28 0.15.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221759/74297813-ede4-9b61-2227-d5f5f8b78301.png)

パスワードを聞き出すためには、質問の仕方を工夫する必要があります。

![スクリーンショット 2023-10-27 20.19.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221759/e9a2e442-cb34-4e03-e7f5-f923fde8c75b.png)

::: note
level 2以降はいかにAIを騙すかがポイントです。
同じ質問でもレスポンス内容が異なる場合があるため、1回質問してダメでも何度か質問してみるのも手だと思います。
:::

### level 3
level 3は、期待するレスポンス結果について、そのまま出力しないようにして聞き出しました。

![スクリーンショット 2023-10-28 0.17.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221759/695995ec-819d-8fb3-d277-77f4bc87f423.png)

### level 4
leve4は、ブラインドSQLインジェクションのような観点で質問することで、パスワードを得られました。

![スクリーンショット 2023-10-28 0.18.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221759/efc5da80-dd12-dfa6-d1c4-f05d5a9bbc8c.png)

### level 5
level 5は、パスワードという言葉を使用せずに質問することで、聞き出しました。

![スクリーンショット 2023-10-28 0.18.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221759/b23f5078-0b6c-36b6-8be3-ceb3e8d6907a.png)

### level 6
level 6は、level 5と同じ質問を使用して聞き出すことに成功しました。

![スクリーンショット 2023-10-28 0.19.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221759/d6cc5787-5d6b-6f5b-d224-3dfebf02a38a.png)

### level 7
level 7は、今まで使用したテクニックを組み合わせることで、パスワードを得られました。

![スクリーンショット 2023-10-28 0.19.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221759/6d3192e1-f4d3-a7fe-0d04-6486b00025cb.png)

level 7クリア後は、以下のような画面が表示されて祝福してくれます。
これで上位8%の仲間入りです。:tada:

![スクリーンショット 2023-10-27 21.03.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221759/bd04dad5-9f2d-bb58-7fdb-3920f0e462ff.png)

::: note
言葉の持つ意味は同じでも、国によって言語は異なります。
:::

### level 8
level 7クリア後、ボーナスステージのlevel 8に挑戦することができます。

level 8は非常に手強いです。質問も英語のみ話すことができます。

![スクリーンショット 2023-10-27 21.41.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221759/f9fbf88e-7a43-091d-84fc-22a0ab128000.png)

### Gandalf Adventures
本記事執筆時点では、ハロウィンのイベントが行われていました。

![スクリーンショット 2023-10-28 21.27.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221759/9d81f484-e3a1-4303-ba5a-935b31a054e0.png)

# おわりに
Gandalfはwikipediaの[Gandalf](https://en.wikipedia.org/wiki/Gandalf)によると、イギリスの小説が元ネタのようです。

2023年10月30日、[米バイデン政権 AIの安全性に関する新基準などの大統領令公表](https://www3.nhk.or.jp/news/html/20231030/k10014241801000.html)のニュースが公表されています。

AIに対する安全性も国家レベルで重要視されていることが分かります。