Hello there, ('ω')ノ
防御側チェックリスト(Top 10対応)
| No. | 脅威カテゴリ | チェックポイント(防御側が確認すべきこと) |
|---|---|---|
| ① プロンプトインジェクション | - 入力を「命令」と「データ」に分離しているか? - 信頼できない入力がそのままLLMに渡っていないか? - 危険キーワード(送信・削除など)を検知しているか? |
|
| ② データ漏洩 | - 内部プロンプトや設定が出力に混ざらない設計か? - 最小限の情報だけをモデルに渡しているか? - 「初期プロンプトを表示して」系の要求をブロックできているか? |
|
| ③ トレーニングデータ汚染 | - 学習データに信頼できない外部投稿をそのまま使っていないか? - データソースごとの信頼度スコアリングを行っているか? - 学習後に誤情報を検出するテストをしているか? |
|
| ④ モデル盗用 | - レート制限や利用頻度の制御を実装しているか? - 異常に多様な質問や大量アクセスを検知しているか? - 同一質問に対して常に同じ答えを返していないか? |
|
| ⑤ 過度の依存 | - ユーザーに「出力は必ず検証が必要」と明示しているか? - 医療・金融・法律などはLLMの出力をそのまま利用させていないか? - 出典や根拠を提示する仕組みを備えているか? |
|
| ⑥ サプライチェーン攻撃 | - 外部ライブラリやモデルに署名・ハッシュ検証をしているか? - 依存パッケージを最小限にしているか? - typosquattingや偽リポジトリを監視しているか? |
|
| ⑦ 推論攻撃 | - 差分プライバシーやノイズ付与を導入しているか? - 匿名化データが再特定されないか検証しているか? - 「匿名化せずに出して」系の入力を検知・遮断できるか? |
|
| ⑧ 権限昇格・越権利用 | - LLMに権限判断を一任していないか? - 外部APIやシステム操作は別レイヤーで認可チェックしているか? - 「管理者モードに切り替えろ」といった命令をログ・検知しているか? |
|
| ⑨ 不適切な出力制御 | - 出力を二重にチェック(LLM+ルールベース)しているか? - 「小説」「教育」などの偽装でも危険情報を検知できるか? - 危険分野は人間レビューを必須化しているか? |
|
| ⑩ リソース消費・DoS | - リクエストごとにレート制限を設けているか? - 出力トークン数や処理時間に上限を設けているか? - リソース過多なリクエストを検知・遮断できるか? |
防御側の共通原則
- 最小化:モデルに渡す情報は「必要最低限」にする
- 分離:入力・内部設定・外部操作を分離し、混ざらないようにする
- 検証:出力や学習データを常に検証し、誤りや漏洩を防ぐ
- 監視:異常な利用パターンを見逃さず、即アラートを出す
まとめ
攻撃者が 「入力を工夫して → 制御を回避し → 出力や挙動を利用する」 なら、 防御側は 「入力を分離し → 制御を強化し → 出力を検証する」 ことで対抗できる。
Best regards, (^^ゞ