एएससीआईआई कला और दृश्य जेलब्रेक
Type: Build
Languages: Python (stdlib, ArtPrompt token-masking harness)
Prerequisites: Phase 18 · 12 (PAIR), Phase 18 · 13 (MSJ)
Time: ~60 minutes
सीखने के लक्ष्य
- आर्टप्रॉम्प्ट हमले का वर्णन करेंः शब्द पहचान चरण, एएससीआईआई-आर्ट प्रतिस्थापन, अंतिम छिपा हुआ संकेत।
- बताएं कि आर्टप्रॉम्प्ट पर मानक रक्षा (पीपीएल, पैराफ्रेज, रिटोकनाइजेशन) विफल क्यों होती है।
- ViTC को परिभाषित करें और इसका क्या उपाय है, इसका वर्णन करें।
- StructuralSleight को स्वैच्छिक Uncommon Text-Encoded Structures के लिए एक सामान्यीकरण के रूप में वर्णित करें।
समस्या
पैराफ्रेसेस और रोलप्ले (पढ़ना 12) और लंबे संदर्भ (पढ़ना 13) के माध्यम से हमले पाठ स्तर के पैटर्न पर काम करते हैं। आर्टप्रॉम्प्ट मान्यता स्तर पर काम करता हैः मॉडल निषिद्ध टोकन का विश्लेषण नहीं करता है। यह वर्णों में प्रस्तुत एक छवि का विश्लेषण करता है। सुरक्षा फ़िल्टर हानिरहित अंकन देखता है। मॉडल एक शब्द देखता है।
अवधारणा
आर्टप्रॉम्प, दो कदम
चरण 1. शब्द पहचान. एक हानिकारक अनुरोध को देखते हुए, हमलावर सुरक्षा से संबंधित शब्दों की पहचान करने के लिए एक एलएलएम का उपयोग करता है (जैसे, "बॉम्ब" में "बॉम्ब कैसे बनाएं") ।
चरण 2. छिपा हुआ प्रॉम्प्ट जनरेशन. प्रत्येक पहचान किए गए शब्द को अपने एएससीआईआई-आर्ट रेंडरिंग (अक्षर के आकार को बनाने वाले 7x5 या 7x7 वर्णों का ब्लॉक) के साथ बदलें। मॉडल को अंकन और स्थानों का एक ग्रिड प्राप्त होता है जिसे एक पर्याप्त सक्षम मॉडल शब्द के रूप में पहचान सकता है; एक सुरक्षा फ़िल्टर केवल ग्रिड देखता है।
परिणामः जीपीटी-4, मिथुन, क्लॉड, लामा-2, जीपीटी-3.5 सभी विफल। उनके बेंचमार्क उपसमूह पर 75% से अधिक हमले की सफलता दर।
मानक रक्षा क्यों विफल होती है
- PPL (perplexity filter).एएससीआईआई कला में उच्च भ्रम है लेकिन सभी उपन्यास इनपुट भी ऐसा ही करते हैं। ArtPrompt को ब्लॉक करने वाले सीमा विकल्प भी वैध संरचित इनपुट को ब्लॉक करते हैं।
- Paraphrase.शीघ्र को पैराफ्रेस करने से एएससीआईआई कला नष्ट हो जाती है। व्यवहार में, पैराफ्रेस एलएलएम अक्सर कला को संरक्षित या पुनर्निर्माण करते हैं।
- Retokenization.टोकन को अलग तरीके से विभाजित करने से यह नहीं बदलता कि मॉडल की दृष्टि अक्षरों के आकार को पहचान रही है।
अंतर्निहित मुद्दा यह है कि सुरक्षा फ़िल्टर टोकन- या अर्थिक स्तर पर हैं; आर्टप्रॉम्प्ट दृश्य पहचान स्तर पर काम करता है।
ViTC बेंचमार्क
गैर-सैमंतिक दृश्य संकेतों की पहचान। एएससीआईआई-आर्ट, विंगिंग्स और अन्य गैर-पाठ-सैमंतिक दृश्य सामग्री को पढ़ने की मॉडल की क्षमता को मापता है। आर्टप्रॉम्प्ट की प्रभावशीलता वीटीसी सटीकता के साथ सहसंबंधित हैः मॉडल जितना बेहतर दृश्य पाठ पढ़ता है, उतना ही बेहतर आर्टप्रॉम्प्ट उस पर काम करता है। यह एक क्षमता-सुरक्षा समझौता है।
संरचनात्मक
सामान्यीकरण ArtPrompt: असामान्य पाठ-एन्कोडेड संरचनाएं (UTES) । पेड़, ग्राफ, नेस्टेड JSON, CSV-in-JSON, भिन्न शैली के कोड ब्लॉक। यदि सुरक्षा डेटा को प्रशिक्षित करने में संरचना दुर्लभ है लेकिन मॉडल द्वारा पार्स करने योग्य है, तो यह हानिकारक सामग्री छिपा सकती है।
रक्षा का अर्थः सुरक्षा को संरचनात्मक प्रतिनिधित्वों में सामान्य होना चाहिए जो मॉडल विश्लेषण कर सकता है। सेट बड़ा और बढ़ता है।
छवि-मोडलिटी एनालॉग
दृश्य एलएलएम (जीपीटी- 5.2, जेमिनी 3 प्रो, क्लाउड ओपस 4.5, ग्रोक 4.1) हमले की सतह का विस्तार करते हैं। वास्तविक छवियों के साथ आर्टप्रॉम्प्ट शैली के हमले ASCII-कला एनालॉगों की तुलना में मजबूत हैं क्योंकि छवि एन्कोडर समृद्ध सिग्नल का उत्पादन करते हैं।
जहां यह चरण 18 में फिट बैठता है
पाठ 12-14 में तीन ऑर्थोगनल हमले वेक्टरों का वर्णन किया गया हैः पुनरावर्ती परिष्करण (PAIR), संदर्भ लंबाई (MSJ), और एन्कोडिंग (ArtPrompt/StructuralSleight) । पाठ 15 मॉडल-केंद्रित हमलों से सिस्टम-सीमा हमलों (अप्रत्यक्ष शीघ्र इंजेक्शन) में स्थानांतरित होता है। पाठ 16 में रक्षात्मक उपकरण प्रतिक्रिया का वर्णन किया गया है।
इसका प्रयोग करें
code/main.pyआप ASCII-art glyphs के साथ एक हानिकारक क्वेरी में विशिष्ट शब्दों को छिपा सकते हैं, छिपा हुआ स्ट्रिंग की जांच करें कि एक कीवर्ड फ़िल्टर पारित होता है, और (वैकल्पिक रूप से) एक सरल पहचानकर्ता का उपयोग करके छिपा हुआ स्ट्रिंग को वापस डिकोड कर सकते हैं।
इसे भेजें
यह सबक हमें फल देता हैoutputs/skill-encoding-audit.md. जेलब्रेक रक्षा रिपोर्ट को देखते हुए, इसमें कवर किए गए एन्कोडिंग हमले परिवारों (एएससीआईआई कला, बेस 64, लीट-स्पीक, यूटीएफ -8 समलिपि, यूटीईएस) और रक्षा परत को सूचीबद्ध किया गया है जो प्रत्येक को पकड़ता है।
व्यायाम
- दौड़ें
code/main.py. छिपे हुए स्ट्रिंग को सरल कीवर्ड फ़िल्टर से गुजरता है, यह सत्यापित करें. वर्ण स्तर परिवर्तन की आवश्यकता की रिपोर्ट करें.
- एक दूसरे कोडिंग को लागू करेंः उसी लक्ष्य शब्द के लिए आधार64। आर्टप्रॉम्प्ट के साथ फ़िल्टर-बायपास दर और वसूली की कठिनाई की तुलना करें।
- Jiang et al. 2024 सेक्शन 4.3 (पांच मॉडल परिणाम) पढ़ें। एक कारण का प्रस्ताव दें कि उसी बेंचमार्क पर क्लाउड का ArtPrompt प्रतिरोध मिथुनों की तुलना में अधिक क्यों है।
- एक पूर्व-उत्पादित रक्षा डिजाइन करें जो शीघ्र में एएससीआईआई-आर्ट-आकार वाले क्षेत्रों का पता लगाता है। वैध कोड, तालिकाओं और गणितीय संकेतन पर झूठी सकारात्मक दर को मापें।
- StructuralSleight 10 एन्कोडिंग संरचनाओं की सूची देता है। एक सामान्य रक्षा स्केच जो सभी 10 को संभालती है और प्रति रक्षा किए गए प्रॉम्प्ट पर गणना लागत का अनुमान लगाता है।
प्रमुख शर्तें
| Term | What people say | What it actually means |
|---|---|---|
| ArtPrompt | "the ASCII-art attack" | Two-step jailbreak that masks safety words with ASCII-art renderings |
| Cloaking | "hide the word" | Replace a forbidden token with a visual representation the model reads but the filter does not |
| UTES | "uncommon structure" | Uncommon Text-Encoded Structure — tree, graph, nested JSON, etc. used to smuggle content |
| ViTC | "visual-text capability" | Benchmark for model's ability to read non-semantic visual encoding |
| Perplexity filter | "PPL defense" | Reject prompts with high perplexity; fails because legitimate structured input also scores high |
| Retokenization | "tokenizer shift defense" | Pre-process the prompt with a different tokenizer; fails because recognition is visual |
| Homoglyph | "lookalike characters" | Unicode characters that look identical to Latin letters; bypass substring checks |
आगे पढ़ना
- Jiang et al. — ArtPrompt (ACL 2024, arXiv:2402.11753) एएससीआईआई-आर्ट जेलब्रेक पेपर
- Li et al. — StructuralSleight (arXiv:2406.08754) UTES सामान्यीकरण
- Chao et al. — PAIR (Lesson 12, arXiv:2310.08419) पूरक पुनरावर्ती हमला
- Anil et al. — Many-shot Jailbreaking (Lesson 13) पूरक लंबाई हमला
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.