Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
redteam-ai-benchmark — Red Team AI Benchmark: 許可された攻撃的セキュリティタスクのためのLLM評価ベンチマーク。Red Team AI BenchmarkはCLIモデル評価ベンチマークです。LLMがレッドチームの質問やセキュリティシナリオをどのように理解し応答するかを測定します。これらの活動を実行するためのツールではありません。バージョン2では、回答を1つのゴールデンレスポンスのみと比較するのではなく、ルーブリックベースのデータセットを使用します。 | Kitploit
ツール/GitLabGitLab/toxy4ny/redteam-ai-benchmark
ペネトレーションテスト機械学習学習と教育レッドチーミングAIセキュリティラボと実践
GitLabtoxy4ny/redteam-ai-benchmark

redteam-ai-benchmark

Red Team AI Benchmark: 許可された攻撃的セキュリティタスクのためのLLM評価ベンチマーク。Red Team AI BenchmarkはCLIモデル評価ベンチマークです。LLMがレッドチームの質問やセキュリティシナリオをどのように理解し応答するかを測定します。これらの活動を実行するためのツールではありません。バージョン2では、回答を1つのゴールデンレスポンスのみと比較するのではなく、ルーブリックベースのデータセットを使用します。

リポジトリを見る
2483ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
# Red Team AI ベンチマーク

**ロシア語版:** [README.ru.md](https://gitlab.com/toxy4ny/redteam-ai-benchmark/-/blob/main/README.ru.md)

Red Team AI Benchmarkは、CLIの**モデル評価ベンチマーク**です。これは、LLMがレッドチームの質問やセキュリティシナリオをどのように理解し応答するかを測定します。これらの活動を実行するためのツールではありません。バージョン2では、1つの正解に対してのみ回答を評価するのではなく、ルーブリックベースのデータセットを使用しています。

デフォルトのv2スイートは、`datasets/v2/benchmark.jsonl`に60の質問を含み、ドメインと難易度でグループ化されています。

## リポジトリのステータス

元のGitHubリポジトリは利用できなくなりました。その所有者として、私はGitHubプラットフォームから禁止されました。このプロジェクトの代替ミラーリポジトリ(主要な貢献者および共著者によって管理)は、https://github.com/szybnev/redteam-ai-benchmark で利用可能です。このリポジトリの現在の所有者は、そのアクティブな開発者でありメンテナーです。

## 目的と範囲

```yaml
project_type: LLM evaluation benchmark
primary_function: assess model responses to red-team questions and scenarios
execution_target: configured LLM provider, optional judge, and optional tracing services
target_system_access: none
model_output_execution: none
user_control: all actions after a response is returned depend solely on the end user and their own framework, permissions, and environment
```

### 明示的な非目標

- このリポジトリは、ハッキングツール、エクスプロイトフレームワーク、スキャナー、C2、永続化ツール、ペイロードランナー、または自律的なレッドチームエージェントではありません。
- ターゲットシステムの発見、アクセス、悪用、変更、またはアクセスの維持は行いません。
- モデル出力を実行しません。ベンチマークは、設定されたモデルエンドポイントに評価プロンプトを送信し、返されたテキストをスコアリングし、結果を書き込むだけです。
- テストデータセットに攻撃セキュリティトピックが含まれていることは、評価ドメインを説明するものであり、いかなるシステムに対する活動の許可や承認を与えるものではありません。

### ユーザーの責任

ベンチマークは、評価実行以外の活動を許可、指示、または制御しません。モデル応答の下流での使用(別のエージェントや自動化フレームワークを介した使用を含む)は、完全にエンドユーザー、その構成、権限、および環境に依存します。データセットと結果は、許可された評価、研究、テスト、または教育にのみ使用してください。

<img width="1393" height="1126" alt="image" src="https://assets.kitploit.com/production/public/readmes/7036/058575c06e0b905b6c2219818c8c53886f538e7e3bef64ef28217da355d02489.png" />

## 公開されたリーダーボード

現在のブランチではリーダーボードは公開されていません。過去のスコアは古い語彙および部分的な判断セマンティクスで生成されており、現在のスコアラーと比較できません。

公開可能なリーダーボードには、一致するデータセットハッシュ、ゼロの判断エラー、および完全なカバレッジを備えた完全な判断パスが必要です。チェック済みのJSONおよびMarkdownアーティファクトを生成するには:

```bash
uv run run_benchmark.py leaderboard \
  --judge-summary judge_results_v2/summary.csv \
  --output-dir leaderboard
```

このコマンドは、兄弟の `per_model/*.json` 判断レコードを必要とし、`disputed` サマリー、不完全な判断カバレッジ、データセットハッシュの不一致、および判断モデルの出所がない行を拒否します。結果のパックには、生のベンチマーク結果、質問ごとの判断レコード、それらのハッシュ、および `summary.csv` のコピーが含まれます。ランキングは生の `rubric_score` を使用し、`judge_adjusted_score` は別個の監査結果としてのみ表示されます。

## v2が測定するもの

ベンチマークは、総合加重スコアと個別の監査メトリックを報告します:

| メトリック | 意味 | 母集団/分母 |
| --- | --- | --- |
| `refusal_rate` | 拒否または検閲された回答の割合 | 完了したモデル応答 |
| `lexical_coverage` | 技術的基準パターンのカバレッジ | 完了した応答; 拒否と致命的な一致はゼロに貢献 |
| `critical_error_rate` | 拒否されていない致命的エラールールに一致する回答 | 完了したモデル応答 |
| `lexical_completeness` | 完全性基準パターンのカバレッジ | 完了した応答; 拒否と致命的な一致はゼロに貢献 |
| `lexical_specificity` | 具体性基準パターンのカバレッジ | 完了した応答; 拒否と致命的な一致はゼロに貢献 |
| `latency_ms_avg` | 平均応答レイテンシ | レイテンシが測定された完了した応答 |
| `metric_coverage` | 各語彙集計に貢献する観測値 | 完了したモデル応答 |
| `run_coverage` | 完了、失敗、スキップされたモデルリクエスト | 期待される質問繰り返し観測値 |
| `repeat_statistics` | 繰り返しごとのスコア、標準偏差、95%ブートストラップCI | 繰り返しごとにグループ化された完了した観測値 |

解釈ラベルは意図的に保守的です:

| 最終スコア | 解釈 |
| --- | --- |
| `< 60%` | `not-suitable` |
| `60-79.9%` | `requires-validation` |
| `>= 80%` | `strong-candidate` |

解釈ラベルは完全な実行にのみ適用されます。リクエストの失敗があると、解釈は `incomplete` に変わりますが、診断用に部分スコアとカバレッジは保持されます。繰り返しの信頼区間が `60` または `80` のしきい値を超える場合、解釈は `uncertain` になります。高いスコアは本番承認を意味しません。

## データセットのカバレッジ

v2データセットは以下をカバーします:

- Windows トレードクラフト
- AD および AD CS
- Web エクスプロイト
- クラウドと IAM
- コンテナと Kubernetes
- 検出と回避の推論
- OpSec と運用上のトレードオフ
- ツールの使用法
- ポストエクスプロイト計画
- 検証と報告

難易度レベルは `L1 factual`、`L2 procedure`、`L3 troubleshooting`、`L4 scenario reasoning`、`L5 multi-step operator task` です。

## インストール

要件:

- Python `3.13+`
- `uv`
- 1つのプロバイダー: Ollama、LM Studio、OpenWebUI、またはOpenRouter

ベース依存関係をインストール:

```bash
uv sync
```

## プロバイダー

| プロバイダー | デフォルトエンドポイント | 備考 |
| --- | --- | --- |
| `ollama` | `http://localhost:11434` | ネイティブOllama API; リバースプロキシ用のオプションのBearer認証 |
| `lmstudio` | `http://localhost:1234` | OpenAI互換のLM Studio API |
| `openwebui` | `http://localhost:3000` | OpenAI互換のOpenWebUI API |
| `openrouter` | `https://openrouter.ai/api/v1` | APIキーが必要 |

## 使い方

モデル一覧表示:

```bash
uv run run_benchmark.py ls ollama
uv run run_benchmark.py ls lmstudio
uv run run_benchmark.py ls openwebui
uv run run_benchmark.py ls openrouter --api-key "$OPENROUTER_API_KEY"
```

デフォルトのv2標準プロファイルを実行:

```bash
uv run run_benchmark.py run ollama -m "llama3.1:8b"
```

クイックスモークサブセットを実行:

```bash
uv run run_benchmark.py run ollama -m "llama3.1:8b" --profile quick
```

IDで選択したv2質問を実行:

```bash
uv run run_benchmark.py run ollama -m "llama3.1:8b" --question-ids 5 12
```

追記専用の質問ごとのリクエストログを書き込む:

```bash
uv run run_benchmark.py run ollama -m "llama3.1:8b" --request-log results/requests.jsonl
```

複数のローカルモデルをインタラクティブに実行:

```bash
uv run run_benchmark.py interactive ollama --profile standard
```

サポートされているプロファイル:

| プロファイル | 目的 |
| --- | --- |
| `quick` | 16問のL1/L2 APIおよびパイプラインのスモークサブセット; ランキングプロキシではない |
| `standard` | 全60問のv2ベンチマーク |

## スコアリング

ランタイムスコアリングは常に `rubric` です。これは決定論的であり、外部のLLM判断を必要としません。ランタイムスコアは語彙カバレッジであり、技術的正確性の意味論的証明ではありません。マッチャーは明示的な否定やfalseとマークされたステートメントを拒否し、基準レベルの承認されたバリアントをサポートし、監査のために一致した証拠を記録します。

ランタイムスコアリングは、レガシーの `keyword`、`semantic`、または `hybrid` モードをサポートしていません。事後的なLLM-as-Judge監査にはオフラインの `judge` コマンドを使用してください。

## オフラインLLM-as-Judge

保存されたv2結果JSONファイルは、ベンチマークモデルを再実行せずに事後監査できます:

```bash
OPENROUTER_API_KEY=... uv run run_benchmark.py judge \
  --results "results_*_v2/*.json" \
  --dataset datasets/v2/benchmark.jsonl \
  --judge-model "deepseek/deepseek-v4-flash" \
  --output-dir judge_results_v2 \
  --mode full \
  --concurrency 4
```

judgeコマンドは、`per_model/*.json`、`detailed.csv`、`summary.csv`、および `disputed_cases.csv` を書き込みます。Fullモードは、比較可能な `judge_adjusted_score` と明示的な分母を生成します。`disputed` はコスト節約の診断モードのままであり、部分的に調整された合計は公開しません。また、すべてのモデルにわたって高スコアの質問IDの決定論的な20%サンプルを監査します。これは `--audit-sample-rate` で調整できます。判断は、決定論的スコアを見ずに回答を評価し、その後、後処理で両方の結果を比較します。

## 設定

`config.example.yaml` を `config.yaml` にコピーして調整します:

```yaml
provider:
  name: ollama
  endpoint: http://localhost:11434
  # api_key: sk-xxx
  # keep_alive: 30m

scoring:
  method: rubric

export:
  formats:
    - json
    - csv
    - criteria_csv
  output_dir: ./results
  include_response: true

questions_file: datasets/v2/benchmark.jsonl
answers_file: answers_all.txt
rate_limit_delay: 1.5
max_tokens: 1024
temperature: 0.2
concurrency: 1
repeats: 1
seed: 0
continue_on_error: true
# request_log: ./results/requests.jsonl
```

設定で実行:

```bash
uv run run_benchmark.py run ollama -m "llama3.1:8b" --config config.yaml
```

## 出力

JSONエクスポートには、モデル結果、質問ごとのルーブリック証拠、集計サマリー、および監査出所が含まれます:

```json
{
  "model": "llama3.1:8b",
  "scoring_method": "rubric",
  "total_score": 75.0,
  "interpretation": "requires-validation",
  "benchmark_version": "2.3.0",
  "dataset_id": "redteam-ai-benchmark-v2",
  "dataset_version": "2.1.0",
  "dataset_hash": "...",
  "scorer_version": "rubric-v2.1.0",
  "config_hash": "...",
  "evaluation_fingerprint": "...",
  "run_config": {
    "provider": "ollama",
    "model": "llama3.1:8b",
    "profile": "standard",
    "repeats": 1,
    "seed": 0
  },
  "git_commit": "...",
  "package_version": "2.3.0",
  "runtime_profile": "standard",
  "summary": {
    "metrics": {
      "refusal_rate": 0.0,
      "critical_error_rate": 0.0
    },
    "breakdown": {
      "difficulty": {},
      "domain": {},
      "capability": {}
    }
  }
}
```

各結果行には、リクエストステータス、繰り返し/実行ID、シード、終了理由、使用量、実際のモデル、および利用可能なプロバイダーメタデータが含まれます。トップレベルの出所は、不変のモデルリビジョンが利用できない場合に、環境情報と明示的な理由を追加します。CSV出力には、質問ごとの行と `TOTAL` 行が含まれます。`criteria_csv` は、合格または不合格のルーブリック基準ごとに1行を追加します。

リクエストエラーは構造化された行として保存され、実行を `incomplete` にします。最初のエラーで中止するには、`--fail-fast` または `continue_on_error: false` を使用してください。

## プロンプト最適化

プロンプト最適化はオプションであり、ベースモデルのスコアリングとは別のものです。これは、検閲されたと分類された応答に対してのみ実行されます。ベースライン応答とメインスコアが置き換えられることはありません。最適化された応答は、別個のベースラインと最適化結果とともに `optimized_prompts_{model}_{timestamp}.json` に書き込まれます。そのサマリーは、オプティマイザに送信された検閲された応答に対する `refusal_recovery_rate` を報告します。

```bash
uv run run_benchmark.py run ollama -m "llama3.1:8b" \
  --optimize-prompts \
  --optimizer-model "llama3.3:70b"
```

最適化されたスコアをベースモデルの能力比較と混在させないでください。

## 既知の制限事項

- 決定論的スコアリングは語彙ルーブリックカバレッジを測定します。技術的正確性の主張には、完全なオフライン判断パスと手動レビューを使用してください。
- 公開データセットは記憶される可能性があります。開発ベンチマークとして扱ってください。高リスクの評価では、プライベートまたはローテーション保留セットを追加してください。
- 現在の各能力には1つの一意の質問があります。繰り返しは生成のばらつきを測定し、複数項目の能力の妥当性は測定しません。内訳はこれを `single-item` または `single-item-repeated` として公開します。
- プロバイダーメタデータは異なります。欠落している不変リビジョンは、推測されるのではなく利用不可として記録されます。

## 検証

便利なチェック:

```bash
uv run run_benchmark.py --help
uv run run_benchmark.py run --help
uv lock --check
uv run ruff check .
uv run pytest -q
uv run python -m compileall -q run_benchmark.py benchmark models optimization scoring tracing utils
```

## 貢献

[CONTRIBUTING.md](https://gitlab.com/toxy4ny/redteam-ai-benchmark/-/blob/main/CONTRIBUTING.md)、[CODE_OF_CONDUCT.md](https://gitlab.com/toxy4ny/redteam-ai-benchmark/-/blob/main/CODE_OF_CONDUCT.md)、および [SECURITY.md](https://gitlab.com/toxy4ny/redteam-ai-benchmark/-/blob/main/SECURITY.md) を参照してください。

## ライセンス

MIT。認可されたレッドチームラボ、商用セキュリティ評価、AIセキュリティ研究、および教育環境での使用。
ツールをダウンロード