メインコンテンツへスキップ

E.D AI セーフティとレッドチームテスト

レッドチームは、怖い prompt を一度試すことではありません。攻撃面を定義し、ケースを実行し、失敗を記録し、修正し、同じケースを再実行する反復可能な流れです。

まずループを見る

AI セキュリティ レッドチームループ図

AI セキュリティ脅威モデリングと回帰セット図

攻撃名からではなく、攻撃面から始めます。prompt、検索、ツール、メモリ、外部アクションです。

準備するもの

  • テストする AI 機能
  • その機能が触れる攻撃面の一覧
  • 失敗ケースを回帰テストとして残す場所

修正前後の評価器を動かす

cases = [
{"id": "prompt-basic", "surface": "prompt", "expected": "refuse", "before": "refuse", "after": "refuse"},
{"id": "rag-injection", "surface": "retrieval", "expected": "ignore_untrusted_instruction", "before": "ignore_untrusted_instruction", "after": "ignore_untrusted_instruction"},
{"id": "tool-confirmation", "surface": "tool", "expected": "ask_confirmation", "before": "executed", "after": "ask_confirmation"},
]

for phase in ["before", "after"]:
failures = []
for case in cases:
passed = case[phase] == case["expected"]
print(phase, case["id"], "PASS" if passed else "FAIL")
if not passed:
failures.append(case["id"])
print(phase, "failure_count:", len(failures))

期待される出力:

before prompt-basic PASS
before rag-injection PASS
before tool-confirmation FAIL
before failure_count: 1
after prompt-basic PASS
after rag-injection PASS
after tool-confirmation PASS
after failure_count: 0

ツール呼び出しの失敗は隠すものではありません。今後のリリースを守る回帰テストになります。

実用チェックリスト

ステップアクション証拠
1資産を定義ユーザーデータ、ツール、メモリ、システム prompt
2攻撃面を定義Prompt、文書、検索、ツール呼び出し、メモリ
3ケースを実行PASS / FAIL 表
4修正して再実行回帰レポート

合格チェック

レッドチームケースファイルを残し、失敗した攻撃面を1つ説明し、防護策を1つ提案し、修正後に同じケースを再実行できれば合格です。