HarmBench
HarmBench(HarmBench: A Standardized Evaluation Framework for Automated Red Teaming and Robust Refusal)는 대규모 언어 모델(LLM, Large Language Model)의 자동화 레드팀(automated red teaming) 기법과 유해 요청 거부 성능을 표준화해 평가하기 위한 공개 벤치마크 및 평가 프레임워크이다.[1]
HarmBench는 Mantas Mazeika, Long Phan, Xuwang Yin, Andy Zou, Zifan Wang, Norman Mu, Elham Sakhaee, Nathaniel Li, Steven Basart, Bo Li, David Forsyth, Dan Hendrycks가 제안한 LLM 안전성 평가 프레임워크이다. 논문은 2024년 제41회 국제 머신러닝 학회(ICML 2024) 논문집인 Proceedings of Machine Learning Research 235권에 게재되었으며, 공식 구현은 Center for AI Safety의 GitHub 저장소로 공개되어 있다.[2][3]
이 프레임워크는 공격 기법을 특정 모델에 적용해 유해 행동을 유도할 수 있는지 평가하거나, 반대로 특정 LLM 및 방어 기법이 여러 레드팀 공격에 대해 얼마나 견고하게 거부 응답을 유지하는지 평가하는 데 사용된다. 공식 저장소는 HarmBench가 18개 레드팀 방법과 33개 대상 LLM 및 방어 기법을 비교한 초기 평가와 함께 공개되었다고 설명한다.[4]
LLM의 활용 범위가 넓어지면서 악성 코드 작성, 사회공학, 허위정보 생성, 저작권 침해성 출력 등 모델 오용 가능성을 사전에 발견하고 완화하는 작업이 중요해졌다. 기존의 수동 레드팀은 전문가가 직접 취약한 프롬프트를 찾는 방식이어서 확장성이 제한되고, 여러 연구가 서로 다른 데이터셋·평가지표·생성 길이 조건을 사용해 공격 및 방어 방법을 공정하게 비교하기 어렵다는 문제가 있었다.[5]
HarmBench는 이러한 문제를 해결하기 위해 평가의 폭(breadth), 비교 가능성(comparability), 강건한 지표(robust metrics)를 핵심 설계 기준으로 삼았다. 즉, 다양한 유형의 유해 행동을 포괄하고, 공격·방어 방법을 동일한 파이프라인에서 비교하며, 단순 문자열 매칭이나 취약한 분류기에 과도하게 의존하지 않는 평가 체계를 목표로 한다.[6]
HarmBench의 핵심 구성 요소는 유해 행동 데이터셋, 테스트 케이스 생성 절차, 모델 출력 생성 절차, 출력 평가 분류기이다. 공식 데이터셋은 총 510개의 유해 행동으로 구성되며, 텍스트 기반 400개와 멀티모달 110개 행동으로 나뉜다.[7]
| 기능 범주 | 개수 | 설명 |
|---|---|---|
| 표준 행동 | 200 | 별도의 추가 문맥 없이 텍스트 요청만으로 구성된 일반적인 유해 행동 평가 항목 |
| 저작권 행동 | 100 | 모델이 저작권 보호 콘텐츠를 장문 또는 가사 형태로 재생산하는지 평가하는 항목 |
| 문맥 행동 | 100 | 주어진 문맥 자료를 활용해 특정 유해 행동을 수행하도록 요구하는 항목 |
| 멀티모달 행동 | 110 | 이미지와 텍스트 요청을 함께 사용해 멀티모달 LLM의 안전성을 평가하는 항목 |
HarmBench는 기능 범주와 별도로 사이버범죄 및 무단 침입, 화학·생물학 무기 및 약물, 저작권 침해, 허위정보 및 오정보, 괴롭힘 및 따돌림, 불법 활동, 일반적 위해 등 의미 범주를 사용한다.[8]
HarmBench의 평가 흐름은 대체로 다음과 같다.[9]
- 평가할 유해 행동을 선택한다.
- 레드팀 방법이 해당 행동을 유도하기 위한 테스트 케이스를 생성한다.
- 대상 LLM이 테스트 케이스에 대해 응답을 생성한다.
- 평가 분류기가 응답이 해당 유해 행동을 실제로 수행했는지 판정한다.
- 공격 성공률(ASR, Attack Success Rate) 등 지표로 결과를 집계한다.
공식 저장소는 고수준 실행 스크립트인 run_pipeline.py와 개별 단계 실행 스크립트를 제공한다. 파이프라인은 테스트 케이스 생성, 선택적 병합, 완성문 생성, 완성문 평가의 단계로 구성되며, 로컬 실행뿐 아니라 SLURM 기반 클러스터 실행과 단일 머신 병렬 실행 모드도 지원한다.[10]
HarmBench는 모델 응답이 특정 유해 행동의 성공 사례에 해당하는지 판정하기 위해 별도 분류기를 사용한다. 공식 저장소는 텍스트 표준·문맥 행동용 Llama 2 13B 기반 분류기, 멀티모달 행동용 분류기, 검증용 Mistral 7B 기반 분류기를 제공한다고 설명한다.[11]
비저작권 행동에는 Llama 2 13B Chat을 미세조정한 평가 분류기가 사용되며, 저작권 행동에는 LLM 판정 대신 해시 기반 분류기를 사용한다. 이는 저작권 콘텐츠 생성 여부가 “행동 의도”보다 실제 보호 텍스트의 재생산 여부에 더 민감하게 좌우되기 때문이다.[12]
Hugging Face에는 cais/HarmBench-Llama-2-13b-cls 모델 카드가 공개되어 있으며, 해당 모델은 HarmBench의 텍스트 행동용 공식 분류기로 설명된다. 모델 카드는 표준 텍스트 행동과 문맥 행동을 지원한다고 명시한다.[13]
- 표준화된 비교: 서로 다른 레드팀 기법과 방어 기법을 동일한 행동 집합과 평가 파이프라인에서 비교할 수 있게 한다.
- 넓은 행동 범주: 단순한 텍스트 유해 요청뿐 아니라 문맥 기반 요청, 저작권 관련 출력, 멀티모달 입력을 포함한다.
- 검증·시험 분리: 공격 및 방어 방법이 시험 세트에 과적합되는 것을 줄이기 위해 검증 세트와 시험 세트를 구분한다.
- 자동화 레드팀과 방어의 공동 발전: 논문은 HarmBench를 활용해 공격 방법뿐 아니라 Robust Refusal Dynamic Defense(R2D2)라는 적대적 훈련 기반 방어 방법도 함께 제안했다.[14]
HarmBench는 연구자가 새 레드팀 공격 방법의 성능을 기존 방법과 비교하거나, LLM 개발자가 모델 및 안전장치가 다양한 공격에 대해 유해 출력을 거부하는지 점검하는 데 활용될 수 있다. OECD.AI의 도구 카탈로그도 HarmBench를 자동화 레드팀을 위한 표준화된 평가 프레임워크로 소개하며, transformers 호환 LLM, 여러 폐쇄형 API, 일부 멀티모달 모델을 지원한다고 설명한다.[15]
HarmBench는 유해 행동을 명시적으로 정의한 벤치마크이므로, 평가 결과는 포함된 행동 범주와 분류기 기준에 의존한다. 따라서 실제 서비스 환경의 모든 위험을 대표한다고 보기는 어렵고, 다국어 환경, 장기 상호작용, 도구 사용 에이전트, 최신 모델 API의 정책 변화 등은 별도 평가가 필요할 수 있다.
또한 레드팀 벤치마크는 공격과 방어의 비교를 돕는 동시에 공격 기법 개선에도 활용될 수 있으므로, 데이터와 코드를 사용할 때는 연구 윤리, 접근 통제, 결과 공개 범위를 함께 고려해야 한다. HarmBench 논문 역시 자동화 레드팀이 LLM 안전성 향상에 기여할 수 있지만, 무엇을 유해 행동으로 볼 것인지는 맥락 의존적이라고 지적한다.[16]
공식 GitHub 저장소는 HarmBench를 MIT 라이선스로 공개하고 있다. 저장소는 Python 및 Jupyter Notebook 기반 코드, 데이터, 설정 파일, 평가 스크립트, 분류기 관련 문서를 포함한다.[17]
- ↑ “HarmBench: A Standardized Evaluation Framework for Automated Red Teaming and Robust Refusal”, PMLR, https://proceedings.mlr.press/v235/mazeika24a.html, 확인일: 2026-06-09
- ↑ “HarmBench: A Standardized Evaluation Framework for Automated Red Teaming and Robust Refusal”, PMLR, https://proceedings.mlr.press/v235/mazeika24a.html, 확인일: 2026-06-09
- ↑ “centerforaisafety/HarmBench”, GitHub, https://github.com/centerforaisafety/HarmBench, 확인일: 2026-06-09
- ↑ “centerforaisafety/HarmBench”, GitHub, https://github.com/centerforaisafety/HarmBench, 확인일: 2026-06-09
- ↑ “HarmBench: A Standardized Evaluation Framework for Automated Red Teaming and Robust Refusal”, arXiv, https://arxiv.org/abs/2402.04249, 확인일: 2026-06-09
- ↑ “HarmBench: A Standardized Evaluation Framework for Automated Red Teaming and Robust Refusal”, arXiv, https://arxiv.org/abs/2402.04249, 확인일: 2026-06-09
- ↑ “HarmBench Dataset”, HarmBench, https://www.harmbench.org/explore, 확인일: 2026-06-09
- ↑ “HarmBench: A Standardized Evaluation Framework for Automated Red Teaming and Robust Refusal”, arXiv, https://arxiv.org/abs/2402.04249, 확인일: 2026-06-09
- ↑ “centerforaisafety/HarmBench”, GitHub, https://github.com/centerforaisafety/HarmBench, 확인일: 2026-06-09
- ↑ “centerforaisafety/HarmBench”, GitHub, https://github.com/centerforaisafety/HarmBench, 확인일: 2026-06-09
- ↑ “centerforaisafety/HarmBench”, GitHub, https://github.com/centerforaisafety/HarmBench, 확인일: 2026-06-09
- ↑ “HarmBench: A Standardized Evaluation Framework for Automated Red Teaming and Robust Refusal”, arXiv, https://arxiv.org/abs/2402.04249, 확인일: 2026-06-09
- ↑ “cais/HarmBench-Llama-2-13b-cls”, Hugging Face, https://huggingface.co/cais/HarmBench-Llama-2-13b-cls, 확인일: 2026-06-09
- ↑ “HarmBench: A Standardized Evaluation Framework for Automated Red Teaming and Robust Refusal”, PMLR, https://proceedings.mlr.press/v235/mazeika24a.html, 확인일: 2026-06-09
- ↑ “HarmBench”, OECD.AI Catalogue of Tools & Metrics for Trustworthy AI, https://oecd.ai/en/catalogue/tools/harmbench, 확인일: 2026-06-09
- ↑ “HarmBench: A Standardized Evaluation Framework for Automated Red Teaming and Robust Refusal”, arXiv, https://arxiv.org/abs/2402.04249, 확인일: 2026-06-09
- ↑ “centerforaisafety/HarmBench”, GitHub, https://github.com/centerforaisafety/HarmBench, 확인일: 2026-06-09
