以下の内容はhttps://cysec148.hatenablog.com/entry/2025/08/25/165550より取得しました。


【有料試作版】防御側のための「Prompt Injection チェックリスト」

Hello there, ('ω')ノ

🛡 シナリオ別防御チェックリスト

1. 直接注入(Direct Injection)

  • [ ] システムプロンプトに 「無視するな」「再定義禁止」 を明記
  • [ ] 出力検疫(ポリシーチェック、禁止ワード検出)を必ず挟む
  • [ ] 高リスク操作(送金・削除)は 人間承認必須

2. 間接注入(Indirect Injection)

  • [ ] 外部ソース(Web/ファイル)の入力には 信頼タグを付与
  • [ ] RAG文書やWebページを利用する際は 命令文検出フィルタ を適用
  • [ ] 出力前に リンク/外部リソースを検査

3. 無自覚な注入(Unintentional Injection)

  • [ ] ユーザ入力をそのまま「命令」として扱わない設計
  • [ ] 意図しない挙動を検知するための 挙動モニタリング
  • [ ] 社内利用ポリシーに「AI生成物の取り扱いルール」を明文化

4. RAG汚染(Indirect Influence)

  • [ ] データ投入時の整合性検証(改ざん検知)
  • [ ] 検索対象に「信頼できるソースのみ」を指定
  • [ ] RAG出力を Groundedness(根拠チェック) でフィルタ

5. コードインジェクション

  • [ ] LLMにAPIキーや操作権限を渡さず、アプリケーション層で制御
  • [ ] メールやドキュメント本文に埋め込まれた指示をフィルタ
  • [ ] CVEや依存ライブラリの脆弱性を SCA/パッチ管理 で監視

6. ペイロード分割(Payload Splitting)

  • [ ] モデルに渡す入力を 文単位・意図単位で検証
  • [ ] コンテキストを結合する前に 危険なフレーズ検出
  • [ ] LLMの応答をテストする アドバーサリアル演習 を定期的に実施

7. マルチモーダル注入

  • [ ] 画像・音声を処理する前に ステガノグラフィ検出ツール を活用
  • [ ] モダリティごとに「信頼境界」を設定(画像指示は無視、など)
  • [ ] マルチモーダル専用の 異常検知システム を導入

8. アドバーサリアル接尾語(Adversarial Suffix)

  • [ ] 入力末尾の 意味不明な文字列を正規化/削除
  • [ ] モデル応答の安全評価を 2段階チェック(LLM→検疫LLM)
  • [ ] 攻撃パターンを継続的に収集し、フィルタに反映

9. 多言語/難読化攻撃

  • [ ] 多言語フィルタ(英語以外も検査)を適用
  • [ ] Base64/emoji などを デコードして再検査
  • [ ] 難読化手法の新パターンを 脅威インテリジェンスと連携

🔑 共通チェック(全シナリオに有効)

  • [ ] 最小権限の原則:LLMには不要な権限を一切与えない
  • [ ] 出力検疫レイヤ:応答は必ずポリシーチェックを通す
  • [ ] 監査ログの完全性:入力・出力・外部呼び出しをすべて記録
  • [ ] 人間承認ステップ:クリティカル操作は必ずヒューマン・イン・ザ・ループ
  • [ ] レッドチーム演習:攻撃者視点で定期的にシナリオテスト

まとめ

攻撃者の発想はシンプルです: 「LLMが信じるものは、人間が“ゴミ”と見なす入力でも指示になる」

防御側は、

  1. 入力の境界管理(信頼/不信を分ける)
  2. 出力の検疫(危険をブロック)
  3. 権限と承認(最小化+人間介入)

この3点を徹底すれば、ほとんどの Prompt Injection シナリオを封じ込めることができます。

Best regards, (^^ゞ




以上の内容はhttps://cysec148.hatenablog.com/entry/2025/08/25/165550より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14