AI45Lab/X-Boundary

GitHub: AI45Lab/X-Boundary

通过在特征空间建立精确安全边界来抵御多轮越狱攻击的 LLM 防御方案,在保障鲁棒性的同时不损害模型可用性。

Stars: 39 | Forks: 4

# X-Boundary:建立精确安全边界以在不损害可用性的情况下保护 LLM 免受多轮越狱攻击 [论文](https://arxiv.org/abs/2502.09990) | [代码](https://github.com/AI45Lab/X-Boundary) | [模型](https://huggingface.co/collections/Ursulalala/x-boundary-67af0133e09495b151f7ab07) 在本文中,我们全面比较了多轮攻击场景下的现有防御方法,并揭示了它们在平衡防御鲁棒性与 LLM 可用性方面的不足。我们从 LLM 特征空间的角度分析了这一问题,得出结论:由于缺乏明确的公式化表述,先前的方法无法学习到区分安全表示与有害表示的精确边界。为了解决这个问题,我们提出了 X-Boundary,通过显式损失函数将有害表示推离安全表示,从而获得清晰的区分边界。这种区分边界能够在不破坏安全表示的情况下 consequential 地移除有害表示,从而在抵御多轮越狱攻击的鲁棒性与 LLM 可用性之间取得平衡。 ![alt text](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/0d6ec82849223920.png) ## 结果概览 ![alt text](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/6104f74983223923.png) ## 安装 ``` conda create -n xboun python=3.10 conda activate xboun pip install torch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 --index-url https://download.pytorch.org/whl/cu118 pip install -r requirements.txt ``` ## 训练 ``` sh scripts/lorra_x_boundary_llama3_8b.sh sh scripts/lorra_x_boundary_qwen2_7b.sh ``` ## 评估 在 HarmBench 中评估针对单轮攻击的防御 ``` sh scripts/eval/eval_cb.sh $model_path ``` 评估针对 ActorAttack 的防御 ``` sh scripts/eval/multi_round_eval.sh $model_path ``` 评估针对 RedQueen 攻击的防御 ``` sh scripts/eval/red_queen_eval.sh $model_path sh scripts/eval/red_queen_eval_llama.sh $model_path # for llama-3 ``` 评估过度拒绝率 ``` sh scripts/eval/overrefusal_eval.sh $model_path data/test/OKTest.json sh scripts/eval/overrefusal_eval.sh $model_path data/test/PHtest.json sh scripts/eval/overrefusal_eval.sh $model_path data/test/ORbench_test300.json sh scripts/eval/overrefusal_eval.sh $model_path data/test/xstest_v2_prompts.json ``` 如果你想加速推理,特别是使用像 deepseek-R1 这样的推理模型时,可以在评估脚本中设置 "--vlm_acc true",以使用 vllm 作为推理后端。 ``` pip install vllm==0.7.3 ``` 对于 R1 蒸馏模型,我们将评估单轮安全性和过度拒绝的 max_new_tokens 设置为 8192,将多轮攻击下评估的设置为 2048。 ## 使用 X-Boundary adapter 和乱码过滤器进行推理 在有害表示被擦除后,LLM 因无法产生有害内容而有一定概率生成乱码。我们可以使用基于规则的检测器来识别乱码,并将其替换为拒绝响应。这种后处理通常不会影响正常输出。我们在 `R1_X_Boundary_demo.py` 中提供了一个演示。 ![alt text](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/7ce5aaa439223927.png) ## 致谢 利用了 [Circuit Breaker](https://github.com/GraySwanAI/circuit-breakers) 的部分代码框架。 ## 引用 ``` @misc{lu2025xboundarye, title={X-Boundary: Establishing Exact Safety Boundary to Shield LLMs from Multi-Turn Jailbreaks without Compromising Usability}, author={Xiaoya Lu and Dongrui Liu and Yi Yu and Luxin Xu and Jing Shao}, year={2025}, eprint={2502.09990}, archivePrefix={arXiv}, primaryClass={cs.CR}, url={https://arxiv.org/abs/2502.09990}, } ```
标签:ActorAttack, AI对齐, EMNLP 2025, HarmBench, Llama3, LLM防御, LoRA, PyTorch, Qwen2, RedQueen, X-Boundary, 人工智能安全, 凭据扫描, 合规性, 多轮对话安全, 大语言模型安全, 安全边界, 对抗攻击, 敏感信息检测, 机密管理, 模型可用性, 深度学习, 特征空间安全, 表示学习, 越狱攻击防御, 过拒绝率, 逆向工具