
मल्टी-टर्न LLM जेलब्रेक प्रयोगों (FITD, MRCJ, ActorAttack, X-Teaming) को पुन: उत्पन्न करने वाला शोध कोड, SoK इंटेंट-उन्मुख व्यवस्थितकरण पेपर से।
इस रिपॉज़िटरी में SoK: Intent-Oriented Systematization of Multi-Turn LLM Jailbreaks में तंत्र विश्लेषणों के लिए उपयोग किए गए कोड का रिलीज़ संस्करण शामिल है।
रिपॉज़िटरी को पेपर के परिशिष्ट A में वर्णित प्रयोगों के लिए आवश्यक कोड, प्रॉम्प्ट, कॉन्फ़िगरेशन फ़ाइलों और डेटासेट तक सीमित रखने के लिए छोटा किया गया है। जनरेट किए गए लॉग, कैश्ड फ़ाइलें, वर्चुअल एनवायरनमेंट, पिछले परिणाम, आंकड़े और तदर्थ विश्लेषण आउटपुट जानबूझकर हटा दिए गए हैं।
| पेपर प्रश्न | विधि | श्रेणी | स्थानीय निर्देशिका | डेटासेट |
|---|---|---|---|---|
| RQ1: संगठन बनाम संचय | 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-पक्ष संगठन-बनाम-संचय प्रयोग के लिए 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 या उससे अधिक स्कोर को सफल जेलब्रेक के रूप में गिना जाता है। जनरेट किए गए आउटपुट और न्यायाधीश रिपोर्ट इस रिलीज़ में शामिल नहीं हैं; पुनः चलाने पर स्थानीय रूप से नए लॉग/परिणाम लिखे जाने चाहिए।
यह कोड केवल नियंत्रित अनुसंधान पुनरुत्पादन के लिए है। रिपॉज़िटरी जानबूझकर ऐतिहासिक प्रयोग आउटपुट, कैश्ड बाइटकोड, वर्चुअल एनवायरनमेंट, नोटबुक, स्थानीय रहस्य और असंबंधित खोजपूर्ण कोड को बाहर रखती है।