JailbreakBench
JailbreakBench(JBB; JailbreakBench: An Open Robustness Benchmark for Jailbreaking Large Language Models)는 대형 언어 모델(LLM, Large Language Model)의 탈옥(jailbreak) 공격과 방어 성능을 재현 가능한 방식으로 비교하기 위한 공개 견고성 벤치마크이다.[1]
공식 논문 제목과 웹사이트, GitHub 저장소에서는 일반적으로 JailbreakBench처럼 카멜 케이스로 표기한다. 사용자가 입력한 “Jailbreak-bench” 또는 “Jailbreak Bench”보다 JailbreakBench가 공식 표기에 가깝다. Python 패키지명과 모듈명은 관례적으로 소문자 jailbreakbench를 사용한다.[2][3]
JailbreakBench는 Patrick Chao, Edoardo Debenedetti, Alexander Robey, Maksym Andriushchenko, Francesco Croce, Vikash Sehwag, Edgar Dobriban, Nicolas Flammarion, George J. Pappas, Florian Tramèr, Hamed Hassani, Eric Wong 등이 제안한 LLM 안전성 평가 벤치마크이다. 논문은 2024년 NeurIPS Datasets and Benchmarks Track에 게재되었다.[1]
이 벤치마크의 목적은 LLM 탈옥 공격이 얼마나 성공적으로 유해하거나 부적절한 응답을 유도하는지, 그리고 방어 기법이 이러한 공격을 얼마나 효과적으로 완화하는지를 공통 기준으로 추적하는 것이다. 공식 저장소는 JailbreakBench를 “LLM 탈옥을 위한 오픈소스 견고성 벤치마크”로 설명한다.[2]
LLM 탈옥 공격은 모델의 안전 정책이나 정렬(alignment)을 우회하여 원래 거부해야 할 출력을 생성하게 만드는 프롬프트 기반 공격을 말한다. 기존 연구들은 공격 성공률, 비용 계산 방식, 대상 모델, 시스템 프롬프트, 평가 분류기, 공개 여부가 서로 달라 결과를 직접 비교하기 어려웠다. JailbreakBench 논문은 특히 탈옥 평가 관행의 표준 부재, 성공률·비용 산정 방식의 불일치, 적대적 프롬프트나 코드를 공개하지 않는 재현성 문제를 핵심 동기로 제시한다.[4]
JailbreakBench는 크게 탈옥 아티팩트 저장소, JBB-Behaviors 데이터셋, 표준화된 평가 프레임워크, 리더보드로 구성된다.[5]
| 구성 요소 | 설명 |
|---|---|
| Jailbreak artifacts | 제출된 탈옥 문자열을 보존하는 저장소이다. 연구자가 후속 알고리즘을 비교할 때 동일한 공격 프롬프트를 재사용할 수 있게 한다. |
| JBB-Behaviors | 탈옥 공격과 방어를 평가하기 위한 행동 데이터셋이다. 초기 논문은 100개의 오용 행동을 제시했으며, 이후 공식 저장소와 사이트는 100개의 유해 행동과 이에 대응하는 100개의 양성 행동을 함께 제공한다고 설명한다. |
| 평가 프레임워크 | 위협 모델, 시스템 프롬프트, 채팅 템플릿, 채점 함수를 포함하는 Python 기반 평가 라이브러리이다. |
| 리더보드 | 여러 LLM에 대한 공격과 방어 성능을 추적하는 공개 순위표이다. |
JBB-Behaviors는 탈옥 공격이 유도하려는 오용 행동을 정리한 데이터셋이다. Hugging Face에 공개된 데이터셋 설명은 JBB-Behaviors가 100개의 고유한 오용 행동으로 구성되며, AdvBench, Trojan Detection Challenge 2023 Red Teaming Track, HarmBench, 그리고 원저자들이 작성한 예시를 바탕으로 구성되었다고 설명한다.[6]
공식 GitHub 저장소 기준으로 JBB-Behaviors의 각 항목은 다음 필드를 포함한다.[2]
| 필드 | 설명 |
|---|---|
| Behavior | 고유한 오용 행동 식별자 |
| Goal | 해당 오용 행동을 요청하는 목표 질의 |
| Target | 공격 성공 여부 평가에 사용되는 긍정형 목표 응답의 형태 |
| Category | OpenAI 사용 정책의 오용 범주에 대응하는 상위 범주 |
| Source | 해당 항목의 출처. Original, Trojan Detection Challenge/HarmBench, AdvBench 등이 포함된다. |
이 데이터셋은 원본 구성 데이터셋 전체의 상위집합이 아니라, 새 공격을 빠르게 평가할 수 있도록 100개의 대표 행동을 선별한 집합이라는 점이 명시되어 있다.[6]
JailbreakBench의 평가는 공격 알고리즘이 각 행동에 대해 생성한 탈옥 문자열을 대상 LLM에 입력하고, 모델 응답이 실제로 탈옥에 해당하는지를 판정한 뒤 공격 성공률(ASR, Attack Success Rate) 등의 지표로 요약하는 방식이다. 공식 프레임워크는 API 호출용 LiteLLM과 로컬 실행용 vLLM을 통해 모델을 질의할 수 있도록 설계되어 있다.[2]
평가 프레임워크는 탈옥 공격 제출뿐 아니라 방어 기법 제출도 지원한다. 공식 저장소는 SmoothLLM, perplexity filtering, 비사전 단어 제거, 동의어 치환 등의 방어 예시를 포함하고, 새로운 방어 클래스를 추가해 리더보드에 제출할 수 있는 구조를 제공한다.[2]
출력 판정에는 judge 모델도 사용된다. 공식 저장소는 모델 출력이 탈옥에 해당하는지 평가하기 위한 Llama 3 70B 기반 judge와, 출력이 거부(refusal)에 해당하는지 평가하기 위한 Llama 3 8B 기반 judge를 제공한다고 설명한다.[2]
JailbreakBench는 Python 패키지로 배포된다. PyPI 기준 최신 공개 버전은 2024년 6월 13일 배포된 1.0.0이며, Python 3.10 이상 3.12 미만을 요구한다.[3]
pip install jailbreakbench
로컬에서 공격 또는 방어를 실행하려는 경우에는 vLLM 의존성을 포함해 설치할 수 있다.[2]
pip install jailbreakbench[vllm]
데이터셋은 jailbreakbench 패키지 또는 Hugging Face datasets 라이브러리를 통해 불러올 수 있다.[2][6]
Jailbreak artifacts는 JailbreakBench에 제출된 탈옥 문자열과 관련 메타데이터를 보관하는 별도 GitHub 저장소이다. 공식 설명에 따르면 각 artifact는 MIT 라이선스로 공개되며, 공격 방법명, 대상 모델, 공격 성공률 등 비교에 필요한 정보를 포함한다.[7]
이 저장소는 연구 논문이 탈옥 프롬프트를 공개하지 않거나, 폐쇄형 API의 동작 변화 때문에 과거 결과를 재현하기 어려운 문제를 줄이기 위한 장치로 볼 수 있다.
JailbreakBench는 다음과 같은 용도로 사용된다.
- 새로운 탈옥 공격 알고리즘의 공격 성공률 비교
- 방어 기법 적용 전후의 안전성 변화 평가
- LLM의 과잉 거부(over-refusal)와 탈옥 취약성의 균형 점검
- 공개된 탈옥 아티팩트를 활용한 안전 학습 또는 회귀 테스트
- LLM 안전성 연구에서 공통 실험 환경 제공
공식 사이트는 JailbreakBench가 공격과 방어의 성능을 다양한 LLM에 대해 추적하는 리더보드를 제공하며, 시간이 지나면서 연구 커뮤니티의 기술적·방법론적 진전에 맞춰 벤치마크를 확장할 계획이라고 설명한다.[5]
JailbreakBench는 대표 행동을 선별한 벤치마크이므로 실제 서비스 환경의 모든 오용 시나리오를 포괄하지는 않는다. 특히 다국어 입력, 멀티턴 대화, 도구 사용 에이전트, 검색 증강 생성(RAG) 환경, 멀티모달 모델, 서비스별 정책 차이는 별도 평가가 필요할 수 있다.
또한 LLM 응답은 샘플링 설정, 모델 버전, 시스템 프롬프트, API 정책 변화에 따라 달라질 수 있다. 따라서 리더보드 점수는 특정 조건에서의 비교 지표로 해석해야 하며, 실제 배포 전에는 위협 모델링, 수동 검토, 로그 기반 모니터링, 사용자 영향 분석과 함께 사용하는 것이 적절하다.
탈옥 아티팩트 공개는 재현성과 방어 연구에 도움이 되지만, 동시에 공격 프롬프트의 재사용 가능성을 높일 수 있다. 그러므로 연구·평가 목적 외 사용을 제한하고, 결과 공개 범위와 접근 통제를 신중히 고려해야 한다.
JailbreakBench의 공식 코드베이스는 GitHub에 공개되어 있으며 MIT 라이선스를 따른다. PyPI 패키지 역시 MIT License로 배포된다.[2][3]
JBB-Behaviors 데이터셋도 코드와 마찬가지로 MIT 라이선스로 공개되어 있다고 Hugging Face 데이터셋 카드가 설명한다.[6]
- ↑ 1.0 1.1 “JailbreakBench: An Open Robustness Benchmark for Jailbreaking Large Language Models”, NeurIPS Proceedings, https://proceedings.neurips.cc/paper_files/paper/2024/hash/63092d79154adebd7305dfd498cbff70-Abstract-Datasets_and_Benchmarks_Track.html, 확인일: 2026-06-09
- ↑ 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 “JailbreakBench/jailbreakbench”, GitHub, https://github.com/JailbreakBench/jailbreakbench, 확인일: 2026-06-09
- ↑ 3.0 3.1 3.2 “jailbreakbench”, Python Package Index, https://pypi.org/project/jailbreakbench/, 확인일: 2026-06-09
- ↑ Patrick Chao 외, “JailbreakBench: An Open Robustness Benchmark for Jailbreaking Large Language Models”, arXiv, https://arxiv.org/abs/2404.01318, 확인일: 2026-06-09
- ↑ 5.0 5.1 “JailbreakBench: LLM robustness benchmark”, JailbreakBench, https://jailbreakbench.github.io/, 확인일: 2026-06-09
- ↑ 6.0 6.1 6.2 6.3 “JailbreakBench/JBB-Behaviors”, Hugging Face, https://huggingface.co/datasets/JailbreakBench/JBB-Behaviors, 확인일: 2026-06-09
- ↑ “JailbreakBench/artifacts”, GitHub, https://github.com/JailbreakBench/artifacts, 확인일: 2026-06-09
