本仓库包含 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 使用 X-Teaming 主干,以 DeepSeek-V3 作为攻击模型,并在相同轮次预算下比较 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
论文中使用的其他目标模型也有对应的等效配置。
论文使用 GPT-4o 作为自动评判器,采用 1 到 5 的有害性评分。评分达到 4 或以上即计为一次成功的越狱。生成的输出与评判报告不包含在本次发布中;重新运行应在本地写入新的日志/结果。
本代码仅用于受控的研究复现。本仓库有意排除历史实验输出、缓存字节码、虚拟环境、notebook、本地密钥以及无关的探索性代码。