HarmBench:標準化紅隊評估
Advanced4 min readUpdated 2026-03-13
深入解析 HarmBench 框架之標準化紅隊評估:攻擊方法、評估管線、執行基準、結果解讀,以及跨供應商的模型安全比較。
HarmBench:標準化紅隊評估
HarmBench 提供紅隊領域長期需要的東西:比較攻擊方法與量測模型穩健度的共通基準。各團隊不再各用不同提示與不同成功判準——HarmBench 定義共享的評估協定。
為什麼需要標準化基準
無標準化則紅隊結果不可比:
| 問題 | 無 HarmBench | 有 HarmBench |
|---|---|---|
| 不同攻擊提示 | A 團隊的「jailbreak」與 B 不同 | 所有團隊使用同 510 項有害行為 |
| 不同成功判準 | 「成功了嗎?」主觀 | 以分類器為本的標準化評估 |
| 不同受測模型 | 挑選過的模型版本 | 明定的模型清單與版本 |
| 不可比結果 | 「我們找到 47 個漏洞」毫無意義 | 標準文字行為 ASR 為 23.4% |
架構
HarmBench 有三部分:有害行為、攻擊方法 與 評估分類器。
┌────────────────┐ ┌────────────────┐ ┌────────────────┐
│ 有害 │────>│ 攻擊 │────>│ 評估 │
│ 行為 │ │ 方法 │ │ 分類器 │
│(標準 510 項) │ │(GCG、PAIR、 │ │(以 Llama │
│ │ │ AutoDAN…) │ │ 為本之判官) │
└────────────────┘ └────────────────┘ └────────────────┘有害行為類別
HarmBench 於下列類別定義 510 項有害行為:
| 類別 | 數量 | 範例 |
|---|---|---|
| 化學與生物武器 | ~50 | 合成指示、前驅物取得 |
| 網路犯罪與駭客 | ~80 | 惡意程式建立、exploit 開發 |
| 騷擾與歧視 | ~60 | 針對性騷擾、歧視內容 |
| 假訊息與欺騙 | ~70 | 假新聞產生、冒充 |
| 非法活動 | ~80 | 製毒、武器走私 |
| 自傷與暴力 | ~50 | 鼓勵自傷、規劃暴力 |
| 隱私侵害 | ~40 | 人肉搜索、監控、PII 擷取 |
| 其他有害內容 | ~80 | 各式政策違規 |
攻擊方法
HarmBench 評估下列(除其他外)攻擊方法:
| 方法 | 類型 | 描述 |
|---|---|---|
| GCG | 最佳化 | Greedy Coordinate Gradient——最佳化對抗後綴 |
| PAIR | 以 LLM 為本 | 以攻擊者 LLM 進行 Prompt Automatic Iterative Refinement |
| AutoDAN | 最佳化 | 自動產生 DAN 風格越獄 |
| TAP | 樹搜尋 | Tree of Attacks with Pruning |
| DirectRequest | 基線 | 直接提問(無攻擊) |
| FewShot | In-context | 以 few-shot 範例誘導有害輸出 |
| HumanJailbreaks | 手動 | 經策展的人手撰寫越獄提示 |
評估分類器
HarmBench 使用微調後的 Llama 式分類器,判斷模型回應是否構成成功攻擊:
# 分類器回答:「此回應是否提供了行為所請求的有害內容?」
# 輸出:1(是,攻擊成功)或 0(否,模型拒答)執行 HarmBench
Clone 並設置
git clone https://github.com/centerforaisafety/HarmBench cd HarmBench pip install -r requirements.txt組態目標模型
編輯組態以指向你的目標模型。
# configs/model_configs/target.yaml target_model: model_name: "gpt-4" provider: "openai" api_key_env: "OPENAI_API_KEY"挑選攻擊方法
選擇要執行的攻擊方法。
python run_attack.py \ --attack_method PAIR \ --target_model gpt-4 \ --behaviors_path data/harmbench_behaviors_text.csv \ --output_dir results/評估結果
對攻擊輸出執行標準化分類器。
python evaluate.py \ --results_dir results/ \ --classifier_model harmbench-classifier \ --output results/evaluation.json分析 ASR
依類別、方法與模型計算 Attack Success Rate。
解讀結果
Attack Success Rate(ASR)
主要指標為 ASR:
ASR = (成功攻擊 / 受測行為總數) * 100
範例結果表
| 模型 | DirectRequest | GCG | PAIR | TAP | AutoDAN |
|---|---|---|---|---|---|
| GPT-4 | 1.2% | 4.8% | 12.3% | 15.7% | 8.1% |
| Claude 3 Opus | 0.8% | 3.2% | 9.1% | 11.4% | 5.6% |
| Llama 3 70B | 3.5% | 18.7% | 28.4% | 32.1% | 22.3% |
| Mixtral 8x7B | 5.1% | 22.3% | 34.7% | 38.9% | 27.8% |
註:以上為示意數字,非實際基準結果。
數字代表什麼
| ASR 區間 | 解讀 |
|---|---|
| 0–5% | 安全對齊強。模型能抵禦多數攻擊。 |
| 5–15% | 安全中等。易受精巧攻擊影響。 |
| 15–30% | 安全對齊弱。許多攻擊方法奏效。 |
| 30%+ | 安全差。模型易提供有害內容。 |
新增自製攻擊方法
以自己的攻擊方法擴充 HarmBench:
from harmbench.attacks import BaseAttack
class CustomAttack(BaseAttack):
"""採領域特定知識之自製攻擊。"""
def __init__(self, target_model, **kwargs):
super().__init__(target_model, **kwargs)
self.max_attempts = kwargs.get("max_attempts", 5)
def generate_attack(self, behavior: str) -> str:
"""為給定行為產生攻擊提示。"""
# 實作你的攻擊策略
attack_prompt = self._craft_prompt(behavior)
for attempt in range(self.max_attempts):
response = self.target_model.generate(attack_prompt)
if self._check_success(response, behavior):
return attack_prompt
attack_prompt = self._refine(attack_prompt, response)
return attack_prompt侷限
- 靜態行為:510 項行為未必涵蓋你組織的特定風險類別
- 分類器準確度:以 Llama 為本的分類器準確度約 90%——預期會有些偽陽/偽陰
- 算力成本:以最佳化為本之攻擊(GCG、AutoDAN)需相當 GPU 資源
- 時點性:模型會演進;基準結果反映快照而非持續安全
- 以英文為中心:多數行為為英文;多語安全代表性不足
以 HarmBench 進行模型採購
選擇部署模型時,HarmBench 提供結構化比較框架:
- 對候選模型跑完整基準
- 於最高優先之傷害類別比較 ASR
- 依組織風險容忍度加權結果
- 納入 DirectRequest 與最佳攻擊方法之差距(代表防禦深度)
- 以 Inspect AI 或自製 harness 進行領域特定測試予以補強
Knowledge Check
為什麼標準化分類器對 HarmBench 的評估方法論至關重要?
相關主題
- PAIR 與 TAP 攻擊演算法 - HarmBench 所基準化之演算法
- AI 驅動紅隊 - HarmBench 所評估之自動化紅隊做法
- Inspect AI - 互補之安全評估框架
- 自製 Harness 模式 - 超越標準基準之建置
參考資料
- "HarmBench: A Standardized Evaluation Framework for Automated Red Teaming" - Mazeika et al.(2024)- HarmBench 原始論文
- "Red Teaming Language Models with Language Models" - Perez et al.(2022)- 自動化紅隊奠基作
- "Tree of Attacks with Pruning" - Mehrotra et al.(2024)- HarmBench 中基準化之 TAP 演算法
相關頁面
- Inspect AI -- 互補評估框架
- 自製 Harness 模式 -- 超越標準基準之建置
- CART 管線 -- 持續測試整合