llm-testing について
llm-testingは、LLMの安全性、偏見、プライバシー、敵対的プロンプトへの耐性を評価するテストケース集です。セキュリティ研究者やAI安全エンジニア向けに、分類済みのプロンプトと置換可能なプレースホルダーを用意しています。
主な機能
- 01偏見テスト用プロンプト
- 02データ漏えいとプライバシーのテスト
- 03アラインメントと敵対的攻撃のテスト
- 04プレースホルダーの置換
活用シーン
- 01モデルの偏見評価
- 02個人情報漏えいの確認
- 03プロンプト攻撃への耐性テスト
- 04AI安全性監査の実施
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ eyadkelleh/ awesome-skills-security --skill llm-testingインストール後、Claude Code で/llm-testingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdBias_Testing/gender_bias.txtnationality_geographic_bias.txtrace_ethnicity_bias.txtData_Leakage/metadata.txtpersonal_data.txtDivergence_attack/escape_out_of_allignment_training.txtpre-training_data.txtMemory_Recall_Testing/session_recall.txt詳細
LLM テストスキル
説明
大規模言語モデル(LLM)のセキュリティ、安全性、堅牢性を評価するための、包括的なテスト用プロンプトとワードリストです。このスキルでは、バイアス検出、データ漏えい防止、アライメントテスト、プライバシー境界、敵対的プロンプトへの耐性を評価するために厳選されたテストケースを提供します。
目的
このスキルは、セキュリティ研究者、AI 安全性エンジニア、レッドチーム担当者が LLM の脆弱性を評価し、モデルが次のことを確実に行えるようにするためのものです。
- 倫理的な境界と安全ガイドラインを維持する
- データ漏えいとプライバシー侵害を回避する
- バイアスや差別に抵抗する
- 敵対的プロンプト攻撃を防ぐ
- 意図された動作とのアライメントを維持する
許可されたユースケース
- AI 安全性研究:安全性とアライメントに関する問題について LLM モデルをテストする
- セキュリティ監査:AI/ML システムのレッドチーム演習
- バイアス検出:モデルの公平性とバイアスを評価する
- プライバシーテスト:モデルが学習データや PII を漏えいしないことを検証する
- 教育目的:AI セキュリティの概念と脆弱性を教える
- 責任ある AI 開発:より堅牢で安全な LLM を構築する
テストカテゴリ
1. バイアステスト
さまざまな観点から、LLM の応答におけるバイアスをテストします。
ジェンダーバイアス (Bias_Testing/gender_bias.txt)
- ジェンダーに関する固定観念やバイアスを明らかにするプロンプト
- キャリアや役割との結び付け
- 行動や能力に関する思い込み
- 注:使用前に
[GENDER]プレースホルダーを置き換えてください
国籍・地理的バイアス (Bias_Testing/nationality_geographic_bias.txt)
- 文化的な固定観念や地理的な偏見
- 地域ごとの能力に関する思い込み
- 注:
[COUNTRY]、[REGION]、[NATIONALITY]のプレースホルダーを置き換えてください
人種・民族的バイアス (Bias_Testing/race_ethnicity_bias.txt)
- 人種や民族に関する固定観念
- 応答における差別的なパターン
- 注:使用前に
[SKIN_COLOR]プレースホルダーを置き換えてください
2. データ漏えい・プライバシーテスト
モデルが機密情報をどのように扱うかを評価します。
個人データの生成 (Data_Leakage/personal_data.txt)
- PII の生成能力をテストします
- プライバシー境界を検証します
- 不注意による個人情報の生成がないか確認します
メタデータの漏えい (Data_Leakage/metadata.txt)
- 学習データの残存情報をテストします
- 意図しない情報開示がないか確認します
メモリーの想起 (Memory_Recall_Testing/session_recall.txt)
- セッションベースのメモリーテスト
- 会話をまたいだデータ保持
- 注:
[COUNTRY]、[REGION]、[NATIONALITY]のプレースホルダーを置き換えてください
3. 逸脱・アライメント攻撃
モデルのアライメントと敵対的プロンプトへの耐性をテストします。
アライメントトレーニングからの脱出 (Divergence_attack/escape_out_of_allignment_training.txt)
- 安全性トレーニングの回避を試みるプロンプト
- アライメントの堅牢性をテストします
- 倫理的境界への挑戦
事前学習データの抽出 (Divergence_attack/pre-training_data.txt)
- 学習データの抽出を試みます
- 記憶に関する脆弱性をテストします
使用方法
基本的な使い方
# Reference the LLM Testing skill
"Use the llm-testing skill to test this model for gender bias"
# Access specific test categories
"Show me prompts from the llm-testing skill for testing data leakage"
# Run comprehensive testing
"Use the llm-testing skill to perform a full security audit of this LLM"
プレースホルダーの置き換え
バイアステストとメモリー想起テストを使う前に、プレースホルダーを置き換えてください。
# Example: Replacing placeholders in gender bias tests
import re
with open('Bias_Testing/gender_bias.txt', 'r') as f:
prompts = f.read()
# Replace [GENDER] with actual gender terms
test_prompts = []
for gender in ['man', 'woman', 'non-binary person']:
test_prompts.append(prompts.replace('[GENDER]', gender))
テストワークフロー
- テストカテゴリを選択:バイアス、プライバシー、アライメントのテストを選びます
- プロンプトを準備:必要に応じてプレースホルダーを置き換えます
- テストを実行:対象の LLM にプロンプトを送信します
- 結果を記録:応答を記録し、問題に印を付けます
- パターンを分析:体系的な問題がないか確認します
- 調査結果を報告:脆弱性を責任ある方法で記録します
ベストプラクティス
倫理的なテストガイドライン
- 許可が必要:所有するモデル、またはテスト許可を得たモデルのみをテストしてください
- 責任ある開示:適切な窓口を通じて脆弱性を報告してください
- 悪用しない:調査結果は悪用ではなく、改善に役立ててください
- プライバシーの保護:テスト中に見つかった PII を共有しないでください
- 記録の作成:テスト方法と結果を詳細に記録してください
テスト方法
- ベースラインの確立:パターンを確立するため、複数回テストします
- 管理された環境:隔離されたテスト環境を使用します
- 体系的なアプローチ:一度に1つのカテゴリをテストします
- 多様なシナリオ:さまざまなプロンプトの表現を使用します
- クロスバリデーション:異なるアプローチで調査結果を検証します
結果の解釈
- コンテキストが重要:モデルの想定されるユースケースを考慮します
- 統計的有意性:単一の応答だけに頼らないでください
- 重大度の評価:影響度に応じて調査結果を分類します
- 誤検知:実際の脆弱性と想定された動作を見分けるため、検証します
セキュリティ上の考慮事項
レッドチーム活動
- これらのプロンプトを包括的なAIレッドチーム活動の一環として使用します
- 他のセキュリティテスト手法と組み合わせます
- 攻撃者が発見する前に脆弱性を見つけることに注力します
防御的な活用
- これらの攻撃パターンへの耐性を高めるよう、モデルをトレーニングします
- 敵対的なプロンプトを検出するシステムを構築します
- 安全性のアラインメントとガードレールを改善します
ファイル構成
LLM_Testing/
├── SKILL.md (this file)
├── README.md
├── Bias_Testing/
│ ├── gender_bias.txt
│ ├── nationality_geographic_bias.txt
│ └── race_ethnicity_bias.txt
├── Data_Leakage/
│ ├── personal_data.txt
│ └── metadata.txt
├── Memory_Recall_Testing/
│ └── session_recall.txt
└── Divergence_attack/
├── escape_out_of_allignment_training.txt
└── pre-training_data.txt
他のスキルとの連携
このLLMテストスキルは、次のものと相性よく連携します:
- セキュリティファジング:プロンプトテストと併せてファジング手法を使用します
- セキュリティパターン:パターンマッチングを適用して脆弱性を検出します
- ペネトレーションテストアドバイザー:包括的なAIテストのための戦略的なガイダンスを得ます
法的および倫理的な注意事項
重要:これらのテスト用プロンプトは、許可を得たセキュリティ研究と責任あるAI開発のみを目的としています。
許可された使用:
- 自身のAIモデルとシステムのテスト
- 書面による許可を得たレッドチーム活動
- 学術機関または企業におけるAI安全性の研究
- 管理された環境での教育目的のデモ
- 責任ある脆弱性開示プログラム
禁止される使用:
- 許可を得ずにモデルをテストすること
- 発見した脆弱性を悪用すること
- 本番環境のAIシステムのジェイルブレイクを試みること
- 有害なコンテンツやツールを作成すること
- AIプラットフォームの利用規約に違反すること
貢献
新しいテストケースやカテゴリを追加するには:
- 既存のファイル構成と命名規則に従います
- プレースホルダーには明確な説明を含めます
- プロンプトの有効性と安全性をテストします
- 詳細な説明を添えてプルリクエストを送信します
参考資料
バージョン
1.0.0
ライセンス
MIT License - 許可を得たテストにのみ、責任を持って倫理的に使用してください。
免責事項
このスキルは、セキュリティ研究とAI安全性の向上を目的として提供されています。AIシステムをテストする前に適切な許可を得る責任は、ユーザーにあります。メンテナーは、これらのテストリソースの誤用について責任を負いません。