# セキュリティチェックリスト

課題Aの完成後レビューと、課題Bの修正時に使う確認項目です。

## AIに渡す情報

- [ ] 実在する社名・氏名・メールアドレス・電話番号を入力していない
- [ ] 業務の機密情報・顧客データを貼り付けていない
- [ ] 研修で配布されたダミーデータだけを使っている

## 入力の扱い

- [ ] 検索キーワードなどの利用者入力を、そのままSQLに文字列連結していない（課題BはSpring Data JPAのメソッドを使う）
- [ ] 利用者入力をそのままHTMLに埋め込んでいない（Thymeleaf は th:text を使い、th:utext を安易に使わない）
- [ ] 数値入力に負の値や極端な値を入れたときの挙動を確認した（例: 貸出数に -1 や 9999）

## エラーと情報漏えい

- [ ] エラー時にスタックトレースが画面へそのまま出ない
- [ ] エラーメッセージに内部のクラス名・SQL・パスが露出しない

## 設定

- [ ] H2 コンソール（/h2-console）は開発用。本番で有効にしない前提を理解した
- [ ] パスワードやAPIキーをコードに直書きしていない

課題Aの「AIに危険性を指摘させる」ステップでは、このリストをAIの指摘と突き合わせ、AIが挙げなかった項目がないかを確認します。
