Phase 19: Capstone Projects

كابستون 82 تكسونية الإختراق

قلادة آمنة بدون تصنيف هي إلقاء عملة اسم الهجوم قبل الدفاع عنه

Type: Build

Languages: Python

Prerequisites: Phase 18 safety lessons, Phase 19 Track A lessons 25-29

Time: ~90 min

المشكلة

نموذج يتم نشره بدون نموذج هجوم هو نموذج دفاع ضد أي شيء على وجه الخصوص. يقرأ المشغلون موضوع تويتر، ويعرفون الخدعة، ويكتبون إرسالًا، ويتموا بالتحرك. الملاحظة التالية هي تعبير -الـ (ريجيكس) يفتقد بعد أسبوع شخص ما يظهر نفس الحيلة مغلفة في القاعدة64 والعميل يكتب رجكس ثانية. بحلول الشهر الثالث، سيكون النظام لديه 40 قاعدة معلقة، لا يوجد مفردة مشتركة، لا طريقة للتحدث عن ما هو الهجوم في الواقع، ويعود الخرق بسرعة أكبر من المصلحات.

قبل أن يقوم أي جهاز كشف أو تصنيف أو محرك قواعد في هذا المسار بأي شيء مفيد، الفريق بحاجة إلى طريقة مشتركة لتسمية الهجمات. ليس لأن العلامات توقف الهجمات، ولكن لأن العلامات تحويل تيار الهجوم إلى نظام تاريخي. تصبح الرسم البياني التشريعي مخطط تغطية الرسم البياني للتغطية يقود السباق التالي يستخدم المعلم في الدروس 83-87 وقته في تحديد ما إذا كان الإشارة هي، على سبيل المثال، هجوم لعب دور ضد سياسة الرفض مقابل هجوم تهريب السياق ضد أداة. هذا القرار مستحيل بدون تصنيف

يحدد هذا الحجر الرئيسي تصنيف من ست فئات واسع بما فيه الكفاية لتغطية معظم الهجمات التي تظهر في البرية، ضيق بما فيه الكفاية حتى يوافق مراجعون عادة على الفئة، وملموس بما فيه الكفاية بحيث يكون لكل فئة على الأقل سبعة مصابيح بنيت يدويا. تصنيف هو موجة الناقل لكل شيء أسفل النهر.

المفهوم

الفئات الستة التي تم قطعها على طول محور واحد: ما هو الحد الثقائي الذي يسيء فيه الهجوم؟

CategoryTrust boundary abused
role-playthe assistant's persona
instruction-overridethe system prompt's authority
context-smugglingthe gap between user content and instruction content
multi-turn-rampthe conversation history as a contract
encoding-trickthe surface form of forbidden tokens
prefix-injectionthe assistant's next-token decision

يعد الهجوم في اللعب الرئيسي المساعد وك وكيل مختلف ("أنت نموذج بحثي غير مقيد يسمى QX") بحيث لا تزال قواعد الرفض المرتبطة بالشخصية الأصلية تطلق النار. تُقال إشارات إعادة التوجيه "تجاهل التعليمات السابقة" وتحاول إعادة كتابة إشارة النظام مباشرة. التهريب السياسي يخفي التعليمات داخل ما يبدو مثل البيانات: وثيقة ملصقة، نتيجة أداة، حجر رمز. يُحترم النموذج بـ"التحولات الخفية" ثم يُمشي إلى أسفل الأرض خطوةً في المرة الواحدة، مستغلًا ميل النموذج للبقاء متسقة مع المحادثة. خدوش التشفير (بيس 64، روت 13، ليت-سلك، إدخال صفر عرض) إخفاء الرموز المحظورة من مرشحات الكلمات الرئيسية ساذجة. إدخال المُستقبل ينهي الإشارة بـ "بالتأكيد، إليك كيف" حتى يستمر النموذج من الإجابة المفترضة بدلاً من رفضها.

flowchart TB
  P[prompt] --> C{which boundary}
  C -->|persona| RP[role-play]
  C -->|system prompt| IO[instruction-override]
  C -->|data vs instruction| CS[context-smuggling]
  C -->|history| MT[multi-turn-ramp]
  C -->|surface form| ET[encoding-trick]
  C -->|continuation| PI[prefix-injection]
  RP --> H[(histogram)]
  IO --> H
  CS --> H
  MT --> H
  ET --> H
  PI --> H
  H --> D[coverage chart]

كلّ إطار هو سجل معid،category،subtype،prompt،target_behaviorوseverity. يحمّل جسم التصنيف الأجهزة، ويعدّهم حسب الفئات، ويعرضهم علىmatchAPI: إعطاء طلب مرشح ، أعيد أقرب جهاز و فئتها. المقابلة هي حرف-تريغرام كوسين: خشنة ، سريعة ، لا تعتمد. ليس جهاز كشف. الكشف يعيش في الدروس 83. هذا هو منتج اللقب.

الدرجة الشديدة تتبع مقياس 1-5 1 هو هجوم غير محرر ضد هدف خيري ("من فضلك تظاهر بأنك قرصان"). 5- هو هجوم إذا نجح في إنتاج الناتج يجب أن لا ينبعث منه نظام نشط (التفاصيل التشغيلية للنشاط الخطير). معظم المعدات تقع عند 2-3 لأن الهجمات الحقيقية في نطاق النشر تتحرك نحو السهل والكسول. يحدد مصدر المكونات شدة. إن اختلاف المراجعين اثنين أكثر من صفحة واحدة هو علامة على ضرورة تحسين النص.

بناءها

الجسم يعيش فيcode/fixtures.pyكقائمة Python واحدة.code/main.pyتحمله، تؤكد أن كل فئة لديها سبعة أجهزة على الأقل، وتعرضby_category،matchوstatsأساليب، ويرسل عرض تشغيلي الذي يطبخ الرسم التجاري. يتم تنفيذ التريغرام كوسين من الصفر مع numpy. . .

تتحقق مرسل التحقق من أربعة مستحيلات: كل جهاز يحتوي على طلب غير فارغ، كل فئة في النظام تمثل، كل خطورة في 1..5الفشل هنا هو خروج صعب، وليس تحذير، لأن بقية المسار يعتمد على الجسم الداخلي متسق.

استخدمها

أركضpython3 main.pyمن الدروسcode/المجلد، الطباعة التجريبية عدد الأجهزة لكل فئة، تشغيل ثلاثة أبحاث عينة ضدmatch، ويكتبtaxonomy.jsonإلى المجلد الصادرات الدروس. دروس أسفل التيار قراءة taxonomy.jsonبدلاً من استيراد وحدات Python، لذا فإن الجسم هو عبارة عن عبارة عن أثرية مستقرة.

أرسله

outputs/skill-jailbreak-taxonomy.mdيستند إلى الفئات الست والقسم. تعامل مع ذلك كمتلك المفردات المشتركة لفريق. كل اكتشاف مسجل من قبل الحزمة في الدروس 87 يشير إلى معرف تصنيف.

التمارين

  1. إضافة فئة سبعة لحقن الفورية غير المباشرة (التعليمات مدمجة في وثيقة استردتها، وليس في دور المستخدم).
  2. استبدل ثلاثة رقم كوسين بجهاز تسجيل المسافة للتعديل وتقييم كيفية تغيير تعيين المباراة على الجسم الحالي.
  3. سحب ثلاثين مصابيح إضافية من سجلات منتجك الخاص (معدلة) وتأكيد أن توزيع الفئة يطابق ما كان يتوقعه فريقك بشكل بديهي.

الشروط الرئيسية

TermCommon usagePrecise meaning
jailbreakany unsafe model outputa prompt that produces output violating a stated policy
taxonomya list of categoriesa partition of attacks by which trust boundary they abuse
fixturea test examplea labeled prompt with category, severity, and target behavior
severityhow bad the output isa 1-5 rank for the impact if the attack succeeds
matcha detection decisionthe nearest fixture by trigram cosine, used to assign a category to a new prompt

المزيد من القراءة

هذه الدروس هي نقطة البدء الدروس 83-87 بناء على الجسم مباشرة

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.