
SoK 의도 지향 체계화 논문의 다중 턴 LLM 탈옥 실험(FITD, MRCJ, ActorAttack, X-Teaming)을 재현하는 연구 코드.
이 저장소는 SoK: Intent-Oriented Systematization of Multi-Turn LLM Jailbreaks의 메커니즘 분석에 사용된 코드의 릴리스 버전을 포함합니다.
저장소는 논문 부록 A에 설명된 실험에 필요한 코드, 프롬프트, 구성 파일 및 데이터셋만 유지하도록 정리되었습니다. 생성된 로그, 캐시된 파일, 가상 환경, 이전 결과, 그림 및 임시 분석 출력은 의도적으로 제거되었습니다.
| 논문 질문 | 방법 | 범주 | 로컬 디렉터리 | 데이터셋 |
|---|---|---|---|---|
| RQ1: 조직화 vs. 축적 | FITD, MRCJ | DEA / SRA | Foot-in-the-door-Jailbreak/, Inc_Exp/MRCJ/ | JailbreakBench, MUCD, AdvBench |
| RQ2: 증폭 구성 요소 | ActorAttack | DEA | actorattack/ActorAttack/ | HarmBench |
| RQ3: 에스컬레이션 형태 | MRCJ | SRA | Inc_Exp/MRCJ/ | MUCD, AdvBench |
| RQ4: 하위 패러다임 진행 | X-Teaming | SRA | x-teaming/ | JailbreakBench 스타일 행동 집합 |
Foot-in-the-door-Jailbreak/: RQ1 DEA 측 조직화-vs-축적 실험을 위한 FITD 구현.Inc_Exp/MRCJ/: RQ1 SRA 측 비교 및 RQ3 에스컬레이션 형태 실험을 위한 MRCJ 구현.actorattack/ActorAttack/: RQ2 행위자 수 및 자기 대화 제거 실험을 위한 ActorAttack 구현.x-teaming/: RQ4 A1/A2/A3 하위 패러다임 진행 실험을 위한 X-Teaming 백본 및 configs/exp3 설정.각 방법은 원래의 종속성 파일을 유지합니다:
pip install -r actorattack/ActorAttack/requirements.txt
pip install -r Foot-in-the-door-Jailbreak/requirements.txt
pip install -r Inc_Exp/requirements.txt
conda env create -f x-teaming/environment.yml
API 키와 서비스 엔드포인트는 환경 변수 또는 로컬 구성 파일을 통해 제공해야 합니다. 비밀 정보가 포함된 .env 파일은 릴리스에 포함되지 않습니다.
FITD는 JailbreakBench 행동 집합과 기본 다중 턴 공격 구성을 사용합니다.
cd Foot-in-the-door-Jailbreak
python FITD.py
프롬프트 기반 재현의 경우:
python FITD_prompt.py --model_name gpt-4o --control True --max_length 10
MRCJ는 악의 수준이 있는 MUCD 스타일 보조 질문과 AdvBench 최종 목표를 사용합니다. 논문은 RQ3에 대해 네 가지 에스컬레이션 단계를 고정합니다.
cd Inc_Exp
python MRCJ/train/train.py --target_model mistral --judge_model gpt-4o --cat_questions_num 2 --harmful_score_threshold 4 --train_from_scratch --dir my_model_data
python MRCJ/test/test.py --target_model mistral --judge_model gpt-4o
MRCJ/train/train.py 및 MRCJ/test/test.py에서 지원하는 모델 이름을 사용하십시오.
ActorAttack은 HarmBench 쿼리를 사용합니다. 행위자 수 실험을 위해 --actors를 1에서 5까지 변경하십시오. 자기 대화 제거 실험의 경우 논문 설정에 맞춰 --actors 3으로 고정하고 코드/구성에서 자기 대화를 비활성화하십시오.
cd actorattack/ActorAttack
python main.py --questions 400 --actors 3 --behavior ./data/harmbench.csv --attack_model_name deepseek-chat --target_model_name gpt-4o --early_stop --step_modify
RQ4는 DeepSeek-V3를 공격자 모델로 사용하는 X-Teaming 백본을 사용하며, 동일한 턴 예산에서 A1, A2, A3를 비교합니다.
cd x-teaming
python main.py --config configs/exp3/A1_gpt4o.yaml
python main.py --config configs/exp3/A2_gpt4o.yaml
python main.py --config configs/exp3/A3_gpt4o.yaml
논문에서 사용된 다른 대상 모델에 대해서도 동등한 구성이 제공됩니다.
논문은 1에서 5까지의 유해성 척도를 사용하는 자동 판정자로 GPT-4o를 사용합니다. 4 이상의 점수는 성공적인 탈옥으로 간주됩니다. 생성된 출력과 판정 보고서는 이 릴리스에 포함되지 않습니다. 재실행 시 새로운 로그/결과를 로컬에 작성해야 합니다.
이 코드는 통제된 연구 재현용입니다. 저장소는 의도적으로 과거 실험 출력, 캐시된 바이트코드, 가상 환경, 노트북, 로컬 비밀 정보 및 관련 없는 탐색적 코드를 제외합니다.