ZJU-LLM-Safety/MAJIC-AAAI2026

GitHub: ZJU-LLM-Safety/MAJIC-AAAI2026

MAJIC 是一个基于马尔可夫链优化的黑盒大语言模型攻击框架,用于自动化发现与评估 LLM 的安全漏洞。

Stars: 15 | Forks: 0

# MAJIC: Markovian Adaptive Jailbreaking via Iterative Composition of Diverse Innovative Strategies [![Paper](https://img.shields.io/badge/Paper-arXiv-red)](https://arxiv.org/abs/2508.13048) [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) 《MAJIC: Markovian Adaptive Jailbreaking via Iterative Composition of Diverse Innovative Strategies》的官方实现(AAAI 2026)。 ## 概述 MAJIC 是一个黑盒破解框架,结合了 **10 种语义混淆方法** 与 **马尔可夫链优化**,用于评估大语言模型的安全性漏洞。 ### 主要特性 - 10 种混淆方法:假设、历史、空间、反向、安全、词级、字符级、文学、语言、表情符号 - 马尔可夫转移矩阵用于自适应方法选择 - 启发式 Q 学习的动态优化 - 多模型支持:GPT-4、Claude、Llama、Gemini - 多评估裁判:GPT-4、Llama Guard、基于规则的裁判 ## 安装 ``` git clone https://github.com/ZJU-LLM-Safety/MAJIC-AAAI2026.git cd MAJIC-AAAI2026 pip install -r requirements.txt ``` ## 快速开始 ### 1. 配置 API 密钥 复制并编辑配置模板: ``` cp config_template.py config.py # 编辑 config.py 以输入您的 API 密钥 ``` ### 2. 准备数据集 将有害行为数据集放置在 `data/` 目录中: ``` [{"goal": "Your harmful query here"}] ``` ### 3. 运行攻击 ``` # 单一方法攻击 python methods/m1_hypo_attackLLM.py # 带有马尔可夫优化的完整 MAJIC 框架 python markov_methods/markov_attack_api_dynamic.py ``` ## 项目结构 ``` MAJIC-AAAI2026/ ├── methods/ # 10 obfuscation methods (m1-m10) │ ├── m1_hypo_attackLLM.py │ ├── m2_history_attackLLM.py │ └── ... ├── markov_methods/ # Markov optimization framework │ ├── markov_attack_api_dynamic.py │ └── norm_matrix.py ├── data/ # Datasets ├── majic.py # Main entry point └── config_template.py # Configuration template ``` ## 使用方法 ### 单方法攻击 ``` from methods.m1_hypo_attackLLM import hypo_method score, prompt, response = hypo_method( suffix="none", harmful_prompt="Your query", attacker_pipe=attacker_pipeline, attacker_tokenizer=tokenizer, victim_pipe=victim_pipeline, victim_tokenizer=tokenizer, judgetype="gpt", attacktype="gpt-4o", iter_num=10 ) ``` ### 完整框架 在 `markov_attack_api_dynamic.py` 中配置参数: - `chain_count`:每个查询的攻击链数量(默认:10) - `chain_length`:最大优化步骤数(默认:3) - `init_qnum`:初始方法查询次数(默认:1) - `chain_qnum`:优化查询次数(默认:1) ## 引用 ``` @inproceedings{qi2026majic, title={Majic: Markovian adaptive jailbreaking via iterative composition of diverse innovative strategies}, author={Qi, Weiwei and Shao, Shuo and Gu, Wei and Zheng, Tianhang and Zhao, Puning and Qin, Zhan and Ren, Kui}, booktitle={Proceedings of the AAAI Conference on Artificial Intelligence}, volume={40}, number={39}, pages={32755--32763}, year={2026} } ``` ## 许可证 MIT 许可证——详细信息请参见 LICENSE 文件。 ## 伦理使用 本工具仅供安全研究与红队测试使用。用户需对伦理与法律合规性负责。 ## 联系方式 如有疑问,请打开 Issue 或联系:zjuqww@gmail.com
标签:AAAI 2026, AES-256, API攻击, C2, CI/CD安全, Claude, CVE检测, Gemini, GPT-4, Llama, Q学习, 动态优化, 反取证, 多模型攻击, 大语言模型安全, 安全评估, 机器学习攻击, 机密管理, 混淆策略, 漏洞评估, 自动攻击框架, 自适应, 语义混淆, 逆向工具, 马尔可夫链, 黑盒攻击