# WordPressプラグイン開発の教科書 2 — AIへの依頼文の型（付録C）
（ ）の部分を手元の状況に合わせて書き換えて使ってください。

## 監査を頼む型

次のWordPressプラグインのコードを、セキュリティの観点で監査してください。
確認する項目は次の6つです。
1. 受け口（wp_ajax_、wp_ajax_nopriv_、admin_post_、register_rest_route、add_shortcode）の一覧
2. 受け口ごとに、Nonceの確認と current_user_can による権限の確認があるか
3. $_POST $_GET の値を、wp_unslash とサニタイズを通してから使い、検証もしているか
4. SQL に変数を入れる箇所で $wpdb->prepare の第2引数を使っているか
5. 出力の直前で、場面（本文・属性・URL・JavaScript）に合ったエスケープ関数を使っているか
6. is_admin() を権限の判定に使っていないか、permission_callback が __return_true になっていないか
問題のある行を、行番号・理由・直し方の3点で列挙してください。
問題が無い項目は「問題なし」と書いてください。

（ここにコードを貼る）

## 攻撃者役を頼む型

あなたは、次のWordPressプラグインの弱点を探すセキュリティ診断の担当者です。
このコードはローカルの検証環境でのみ動かしています。
1. 外部から呼び出せる受け口をすべて挙げてください
2. それぞれについて、ログインしていない人・購読者の権限の人が呼んだ場合に何が起きるかを書いてください
3. 想定外の値（空、非常に長い文字列、引用符を含む文字列、範囲外の数値）を送った場合に何が起きるかを書いてください
4. 最も影響が大きいものから順に並べ、直し方を添えてください

（ここにコードを貼る）

## 修正を頼む型

次のWordPressプラグインのコードを、下の指摘に沿って修正してください。
- 修正は指摘の箇所だけにし、それ以外の動作は変えないでください
- 同じ種類の問題が他の箇所にもあれば、それも直してください
- 修正した行ごとに、何をどう変えたかを1行で説明してください
- コードの書式（インデント、配列の書き方）は元のコードに合わせてください

指摘:
（第8章のチェックリストで見つけた項目を書く）

（ここにコードを貼る）

## 検証のルールを伝える型

次の仕様で、WordPressのショートコードで表示するフォームを作ってください。
- 欄の名前には（接頭辞）を付ける
- （欄の名前）は必須、（N）文字以内
- （欄の名前）は（選択肢）のどれかのみ受け付ける
- ルールに合わない値は保存せず、理由を表示する
- Nonce を確認し、サニタイズのあとに上の検証を行う
- 同じ接続元からの送信は（N）秒に1回まで
