فاز 19 · درس 15

پروژه نهایی ایمنی مدل‌های زبانی: ساخت پایپ‌لاین گاردریل و میدان آزمون تیم قرمز

نوع
پروژه‌ی پایانی
زمان
حدود 10 دقیقه
زبان‌ها
Python (safety pipeline, red team), YAML (policy configs)
پیش‌نیاز
فاز 10 (مدل‌های زبانی از صفر)، فاز 11 (مهندسی LLM)، فاز 13 (ابزارها)، فاز 14 (ایجنت‌ها)، فاز 18 (اخلاق، ایمنی و هم‌راستاسازی)
یک دژ دیجیتال چندلایه با سپرهای کریستالی درخشان در برابر پرتوهای رنگی نفوذگر در یک بستر داده تاریک
فهرست مطالب
  1. صورت مسئله
  2. مفهوم
  3. معماری
  4. ابزارها و فناوری‌ها
  5. پیاده‌سازی از صفر
  6. استفاده از ابزارهای واقعی
  7. خروجی این درس
  8. تمرین‌ها
  9. اصطلاحات کلیدی
  10. برای مطالعه‌ی بیشتر

استقرار مدل‌های زبانی در محیط‌های عملیاتی بدون سازوکار دفاعی، سامانه‌های سازمانی را در برابر نشت داده، سوءاستفاده‌های محتوایی و حملات شکستن قفل ایمنی (Jailbreak) آسیب‌پذیر می‌کند. چالش مهندسی در سال‌های اخیر صرفاً فعال‌سازی چند فیلتر ساده نیست؛ بلکه هماهنگ‌سازی لایه‌های گوناگون پالایش ورودی و خروجی است، به شکلی که مدل در عین مهار رفتارهای مخرب، دچار امتناع بیش از حد (Over-refusal) نسبت به درخواست‌های سالم کاربران نشود.

در این پروژه نهایی، یک معماری دفاعی پنج‌لایه با استفاده از ابزارهایی مثل NeMo Guardrails و طبقه‌بندهای Llama Guard 4 و X-Guard پیاده‌سازی می‌کنید و برنامه‌ی خود را در یک میدان آزمون تیم قرمز (Red-Team Range) خودکار در برابر 6 خانواده حمله واقعی از جمله متدهای PAIR و TAP محک می‌زنید. در ادامه نیز با چرخه‌ی خودانتقادی قانون‌محور (Constitutional Self-Critique)، آسیب‌پذیری‌های کشف‌شده را تا رسیدن به یک مدل امن و قابل اتکا بازآموزی خواهید کرد.

توجه داشته باشید که دریافت مدل‌های وزنی ایمنی و نصب برخی ابزارهای ارزیابی از مخازنی مانند Hugging Face یا سامانه‌های گیت‌هاب در محیط شبکه ایران ممکن است با افت سرعت یا ناپایداری ارتباط روبه‌رو شود؛ برای مدیریت این بخش استفاده از ابزارهای پایدار دانلود یا میرورهای متداول بسته‌ها به اجرای پیوسته‌ی خط لوله کمک می‌کند.

طبقه‌بندهای قانون‌محور (Constitutional Classifiers) شرکت Anthropic، مدل Llama Guard 4 از Meta، مدل ShieldGemma-2 از Google، مدل Nemotron 3 Content Safety از NVIDIA و X-Guard برای پوشش چندزبانه، پشته‌ی طبقه‌بندهای ایمنی سال 2026 را شکل دادند. ابزارهای garak ،PyRIT ،NVIDIA Aegis و promptfoo نیز به استانداردهای ارزیابی مقابله‌ای (Adversarial Evaluation) تبدیل شدند. NeMo Guardrails v0.12 همه‌ی این اجزا را درون یک پایپ‌لاین محیط عملیاتی (پروداکشن) به هم متصل می‌کند. این پروژه‌ی پایانی همه‌چیز را یکپارچه می‌کند: یک بستر آزمایشی (Harness) ایمنی چندلایه در اطراف برنامه‌ی هدف، یک ایجنت تیم قرمز خودکار که بیش از 6 خانواده‌ی حمله را اجرا می‌کند، و یک چرخه‌ی خودانتقادی قانون‌محور که تغییری ملموس و قابل سنجش در میزان بی‌خطری مدل (Harmlessness Delta) رقم می‌زند.

فازهای تمرین‌شده: P10 · P11 · P13 · P14 · P18
زمان: 25 ساعت

صورت مسئله

چالش اصلی ایمنی مدل‌های زبانی بزرگ (LLM) در سال 2026 این نیست که آیا طبقه‌بندها کار می‌کنند یا نه (که کمابیش کار می‌کنند)، بلکه نحوه‌ی ترکیب درست آن‌ها در اطراف یک برنامه‌ی کاربردی عملیاتی است؛ به‌گونه‌ای که نه دچار امتناع بیش از حد مدل (Over-refusal) شویم و نه رخنه‌های امنیتی واضحی باقی بماند. مدل Llama Guard 4 نقض قوانین را در زبان انگلیسی مدیریت می‌کند؛ X-Guard (با پشتیبانی از 132 زبان) وظیفه‌ی مقابله با جیل‌بریک (شکستن قفل ایمنی) چندزبانه را بر عهده دارد؛ ShieldGemma-2 تزریق پرامپت (Prompt injection) مبتنی بر تصویر را رهگیری می‌کند؛ و NVIDIA Nemotron 3 Content Safety دسته‌بندی‌های سازمانی را پوشش می‌دهد. در این میان، طبقه‌بندهای قانون‌محور Anthropic رویکردی مجزا هستند که بیشتر در مرحله‌ی آموزش به کار می‌روند تا زمان استقرار و پاسخ‌دهی.

مسیر تکامل حملات نیز به همان اندازه مهم است. الگوریتم‌های PAIR و TAP فرایند شناسایی (Discovery) جیل‌بریک را خودکار کرده‌اند. حمله‌ی GCG پسوندهای مقابله‌ای مبتنی بر گرادیان (Gradient) را اجرا می‌کند. حملات چندنوبتی (Multi-turn) و تعویض کد زبانی (Code-switch) از حافظه‌ی ایجنت‌ها سوءاستفاده می‌کنند. بنابراین، هر مدل زبانی مستقرشده به یک میدان آزمون تیم قرمز نیاز دارد — با محوریت ابزارهای استاندارد garak و PyRIT — که همراه با روش‌های کاهش ریسک مستندسازی‌شده و یافته‌های دارای امتیاز CVSS باشد.

شما در این پروژه یک برنامه‌ی هدف (یک مدل 8B تنظیم‌شده بر اساس دستورالعمل یا یکی از چت‌بات‌های RAG پروژه‌های قبلی) را مقاوم‌سازی می‌کنید، بیش از 6 خانواده‌ی حمله را علیه آن اجرا می‌کنید و میزان بهبود بی‌خطری را قبل و بعد از این تغییرات می‌سنجید.

مفهوم

پایپ‌لاین ایمنی از پنج لایه تشکیل شده است. پاک‌سازی ورودی (Input sanitize): حذف نویسه‌های با عرض صفر (Zero-width)، رمزگشایی (Decode) فرمت‌های base64/rot13 و نرمال‌سازی یونی‌کد. لایه‌ی خط‌مشی (Policy layer): ریل‌های ایمنی NeMo Guardrails v0.12 (تشخیص خروج از موضوع، سمی بودن محتوا و استخراج اطلاعات حساس هویتی یا PII). دروازه‌ی طبقه‌بند (Classifier gate): اعمال Llama Guard 4 روی ورودی، X-Guard روی محتوای غیرانگلیسی و ShieldGemma-2 روی ورودی‌های تصویری. مدل: مدل زبانی هدف. فیلتر خروجی (Output filter): Llama Guard 4 روی خروجی، پاک‌سازی اطلاعات PII با Presidio و الزام به ارائه‌ی ارجاع (Citation) در صورت لزوم. سطح نظارت انسانی (HITL tier): ارسال خروجی‌های دارای پرچم ریسک بالا به صف بررسی در Slack.

میدان تیم قرمز بر اساس یک اسکژولر (Scheduler) زمان‌بندی و اجرا می‌شود. PAIR و TAP جیل‌بریک‌ها را به‌طور خودکار شناسایی می‌کنند. GCG حملات پسوندی مبتنی بر گرادیان را هدایت می‌کند. حملات انکودینگ با فرمت‌های ASCII ،base64 و rot13 صورت می‌گیرند. حملات چندنوبتی هویت جعلی اتخاذ کرده و از حافظه سوءاستفاده می‌کنند. حملات تعویض کد زبانی نیز با ترکیب انگلیسی و زبان‌هایی مثل سواحیلی یا تایلندی پیاده می‌شوند. هر بار اجرای آزمون، یک فایل ساختاریافته از یافته‌ها همراه با امتیازدهی CVSS و جدول زمانی افشای آسیب‌پذیری ایجاد می‌کند.

اجرای خودانتقادی قانون‌محور (Constitutional self-critique) نوعی مداخله در زمان آموزش است. 1000 پرامپت حاوی تلاش برای رفتارهای مخرب انتخاب کنید، از مدل بخواهید پیش‌نویس اولیه‌ی پاسخ را بنویسد، آن را با تکیه بر یک قانون‌نامه‌ی کتبی (قوانین منع آسیب‌رسانی) نقد کند و سپس مدل را بر پایه‌ی این چرخه‌ی نقد مجدداً آموزش دهید. در نهایت، میزان تغییر و بهبود بی‌خطری مدل را روی یک مجموعه‌ی ارزیابی مستقل بسنجید.

معماری

request (text / image / multilingual)
      |
      v
input sanitize (strip zero-width, decode, normalize)
      |
      v
NeMo Guardrails v0.12 rails (off-domain, policy)
      |
      v
classifier gate:
  Llama Guard 4 (English)
  X-Guard (multilingual, 132 langs)
  ShieldGemma-2 (image prompts)
  Nemotron 3 Content Safety (enterprise)
      |
      v (allowed)
target LLM
      |
      v
output filter: Llama Guard 4 + Presidio PII + citation check
      |
      v
HITL tier for flagged outputs

parallel:
  red-team scheduler
    -> garak (classic attacks)
    -> PyRIT (orchestrated red team)
    -> autonomous jailbreak agent (PAIR + TAP)
    -> GCG suffix attacks
    -> multilingual / code-switch
    -> multi-turn persona adoption

output: CVSS-scored findings + disclosure timeline + before/after harmlessness delta

ابزارها و فناوری‌ها

  • طبقه‌بندهای ایمنی: Llama Guard 4 ،ShieldGemma-2 ،NVIDIA Nemotron 3 Content Safety ،X-Guard
  • فریم‌ورک گاردریل: NeMo Guardrails v0.12 به‌همراه OPA
  • پیش‌ران‌های تیم قرمز: garak (از NVIDIA)، PyRIT (از Microsoft Azure)، NVIDIA Aegis ،promptfoo
  • ایجنت‌های جیل‌بریک: PAIR (مطالعه‌ی Chao و همکاران، 2023)، حمله‌ی مبتنی بر درخت (TAP)، پسوند گرادیانی GCG
  • آموزش قانون‌محور: چرخه‌ی خودانتقادی به سبک Anthropic + یادگیری با نظارت (SFT) روی نقدها
  • پاک‌سازی اطلاعات هویتی (PII): ابزار Presidio
  • هدف آزمون: یک مدل 8B تنظیم‌شده بر اساس دستورالعمل یا چت‌بات RAG یکی از پروژه‌های دیگر
بستر ایمنی چندلایهپنج لایه پیرامون یک مدل
LAYERED SAFETY HARNESSA clean request falls straight through: sanitize, rails, classifier gate, model, output filter. A jailbreak makes it two layers deep before the classifier gate catches and deflects it. The red-team range keeps probing every layer from outside, and anything the output filter flags as high risk detours to the human review queue.پاک‌سازی ورودیریل‌ها / سیاست‌هاگیت طبقه‌بندی‌کنندهمدل هدففیلتر خروجیمسدود شدآزمون‌های تیم قرمز: garak · PyRITصف HITL
یک درخواست بی‌خطر مستقیماً عبور می‌کند: پاک‌سازی، گاردریل‌ها، گیت طبقه‌بندی‌کننده، مدل و فیلتر خروجی. یک جیل‌بریک دو لایه نفوذ می‌کند تا اینکه گیت طبقه‌بندی‌کننده آن را گرفته و منحرف می‌سازد. میدان تیم قرمز به‌طور مداوم تمام لایه‌ها را از بیرون با آزمون‌های ارزیابی می‌سنجد و هر خروجی پرخطری به صف بازبینی انسانی (HITL) هدایت می‌شود.

پیاده‌سازی از صفر

  1. آماده‌سازی مدل هدف. یک مدل 8B تنظیم‌شده بر اساس دستورالعمل را با vLLM بالا بیاورید (یا از چت‌بات RAG پروژه‌های دیگر استفاده کنید). این مدل همان برنامه‌ی تحت آزمون شماست.

  2. پوشش پایپ‌لاین ایمنی. پایپ‌لاین پنج‌لایه را دور هدف متصل کنید. مطمئن شوید هر لایه به‌صورت جداگانه قابل مشاهده و ردگیری است (ثبت اسپن (Span) برای هر لایه در Langfuse).

  3. پوشش طبقه‌بندها. مدل‌های Llama Guard 4، نسخه چندزبانه X-Guard و ابزار تصویری ShieldGemma-2 را بارگذاری کنید. برای تعیین خط مبنا (Baseline)، هر یک را روی یک مجموعه‌ی داده‌ی برچسب‌دار کوچک اجرا کنید.

  4. اسکژولر تیم قرمز. ابزارهای garak ،PyRIT، ایجنت PAIR، ایجنت TAP، اجراکننده‌ی GCG، حمله‌کننده‌ی چندنوبتی و حمله‌کننده‌ی تعویض کد را زمان‌بندی کنید؛ به‌گونه‌ای که هر کدام در صف مجزایی اجرا شوند.

  5. مجموعه‌ی حملات. شش خانواده‌ی حمله را پوشش دهید: (1) جیل‌بریک خودکار PAIR، (2) درخت حملات TAP، (3) پسوند گرادیانی GCG، (4) انکودینگ ASCII / base64 / rot13، (5) جعل هویت در چند نوبت گفت‌وگو (Turn)، و (6) تعویض کد زبانی در چند زبان. نرخ موفقیت هر خانواده را گزارش کنید.

  6. خودانتقادی قانون‌محور. 1000 پرامپت با تلاش مخرب جمع‌آوری کنید. برای هر کدام، مدل هدف پیش‌نویس اولیه‌ای از پاسخ را تولید می‌کند. یک مدل زبانی ناقد (Critic) این پاسخ را با یک قانون‌نامه‌ی مشخص («آسیب نزن»، «شواهد (Evidence) را ذکر کن»، «درخواست‌های غیرقانونی را رد کن») امتیازدهی می‌کند. پرامپت‌هایی که ناقد به آن‌ها ایراد می‌گیرد، بازنویسی می‌شوند؛ سپس مدل هدف روی این جفت‌پاسخ‌های اصلاح‌شده بر پایه‌ی نقد، فاین‌تیون می‌شود. میزان بهبود بی‌خطری را قبل و بعد از این مرحله روی یک مجموعه‌ی ارزیابی مستقل بسنجید.

  7. سنجش امتناع بیش از حد مدل. نرخ مثبت کاذب را روی یک مجموعه‌ی پرامپت بی‌خطر (مانند XSTest) بررسی کنید. مدل هدف باید در پاسخ به سوالات بی‌خطر، همچنان مفید و کارآمد باقی بماند.

  8. امتیازدهی CVSS. هر جیل‌بریک موفق را با معیار CVSS 4.0 امتیازدهی کنید (بردار حمله، پیچیدگی و میزان اثرگذاری). یک جدول زمانی افشا و برنامه‌ای برای کاهش ریسک آماده کنید.

  9. خودکارسازی محیط آزمون. تمام مراحل بالا باید با cron job به‌صورت خودکار اجرا شوند، یافته‌ها به یک صف ریخته شوند و هشدارهای افت کیفیت ناشی از امتناع بیش از حد به Slack ارسال گردند.

استفاده از ابزارهای واقعی

$ safety probe --model=target --family=PAIR --budget=50
[attacker]   PAIR agent running on target
[attack]     attempt 1/50: disguise query as academic research ... blocked
[attack]     attempt 2/50: appeal to roleplay ... blocked
[attack]     attempt 3/50: chain-of-thought coax ... SUCCEEDED
[finding]    CVSS 4.8 medium: roleplay bypass on target
[range]      7 successes out of 50 (14% success rate)

خروجی این درس

خروجی شما فایل outputs/skill-safety-harness.md است: یک پایپ‌لاین ایمنی لایه‌بندی‌شده و آماده‌ی پروداکشن، همراه با یک میدان تیم قرمز با قابلیت بازتولید و نتایج سنجش قبل و بعد از ایمن‌سازی.

ضریب معیار نحوه‌ی ارزیابی
25 پوشش سطح حملات اجرای بیش از 6 خانواده‌ی حمله در 2 زبان یا بیشتر
20 موازنه‌ی مثبت واقعی / مثبت کاذب مقایسه‌ی نرخ مسدودسازی حملات در برابر نرخ قبولی (Pass Rate) پرسش‌های بی‌خطر XSTest
20 تغییر ناشی از خودانتقادی سنجش تفاوت بی‌خطری قبل و بعد از مداخله در ارزیابی مستقل
20 مستندسازی و افشا گزارش یافته‌ها همراه با امتیازدهی CVSS و جدول زمانی افشا
15 خودکارسازی و تکرارپذیری اجرای کامل مبتنی بر cron به‌همراه سیستم هشداردهی
100

تمرین‌ها

  1. پلاگین تزریق پرامپت ابزار garak را روی یک چت‌بات RAG اجرا کنید و نرخ موفقیت حملات را با و بدون لایه‌ی فیلتر خروجی مقایسه کنید.

  2. یک خانواده‌ی حمله‌ی هفتم اضافه کنید: تزریق غیرمستقیم پرامپت (Indirect prompt injection) از طریق اسناد بازیابی‌شده. میزان دفاع اضافه‌ای را که این نوع حمله نیاز دارد اندازه بگیرید.

  3. حالت «امتناع با ارائه‌ی راهکار» (Refuse-with-help) را پیاده کنید: به‌گونه‌ای که هنگام مسدودسازی توسط گاردریل (ریل ایمنی)، مدل هدف به‌جای رد کردن سرراست، پاسخی ایمن‌تر و مرتبط را پیشنهاد دهد. تغییر ناشی از این کار را با XSTest ارزیابی کنید.

  4. شکاف پوشش چندزبانه را پیدا کنید: زبانی بیابید که مدل X-Guard در آن ضعیف عمل می‌کند و برای آن یک مجموعه‌ی داده‌ی فاین‌تیون هدفمند پیشنهاد دهید.

  5. فرایند خودانتقادی قانون‌محور را روی یک مدل 30B پیاده کنید و ببینید آیا تغییرات میزان بی‌خطری با ابعاد مدل مقیاس‌پذیر است یا خیر.

اصطلاحات کلیدی

اصطلاح باور عمومی معنای واقعی
ایمنی لایه‌بندی‌شده (Layered safety) «دفاع در عمق (Defense in depth)» گاردریل‌های چندگانه در ورودی، دروازه، خروجی و لایه‌ی نظارت انسانی (HITL)
Llama Guard 4 «طبقه‌بند ایمنی Meta» طبقه‌بند مرجع محتوای ورودی/خروجی در سال 2026
PAIR «ایجنت جیل‌بریک» مقاله‌ای (نوشته‌ی Chao و همکاران) درباره‌ی شناسایی جیل‌بریک با هدایت مدل‌های زبانی
TAP «درخت حملات (Tree-of-Attacks)» نسخه‌ای از PAIR مبتنی بر جستجوی درختی
GCG «گرادیان هماهنگ حریصانه (Greedy coordinate gradient)» حمله‌ی پسوندی مقابله‌ای بر پایه‌ی گرادیان
خودانتقادی قانون‌محور «آموزش به سبک Anthropic» پیش‌نویس مدل هدف -> امتیازدهی ناقد -> بازنویسی -> آموزش مجدد
XSTest «مجموعه‌ی آزمون ارزیابی (Probe) پرسش‌های بی‌خطر» بنچمارکی برای سنجش پس‌رفت ناشی از امتناع بیش از حد مدل
CVSS 4.0 «امتیاز شدت» سیستم امتیازدهی استاندارد آسیب‌پذیری‌ها برای یافته‌های امنیتی

برای مطالعه‌ی بیشتر

خودآزمایی

به سؤال‌ها جواب بدهید تا ببینید چقدر از درس در ذهنتان مانده است.

  1. پیش از درسایمنی چندلایه در این پروژه پایانی به چه معناست؟
  2. پیش از درسکدام طبقه‌بندی‌کننده پوشش چندزبانه را در حدود 132 زبان ارائه می‌دهد؟
  3. حین درسچرا نرخ امتناع بیش‌ازحد (over-refusal) روی یک مجموعه داده بی‌خطر مانند XSTest سنجیده می‌شود؟
  4. حین درسحلقه خودانتقادی بنیادی (constitutional self-critique loop) در این پروژه چیست؟
  5. حین درسشدت جیل‌بریک‌های موفق در گزارش یافته‌ها چگونه امتیازدهی می‌شود؟
  6. پس از درسمیدان تیم قرمز کدام شش خانواده حمله را اجرا می‌کند؟
  7. پس از درسچرا خودکارسازی میدان تست (cron + هشدارها) بخشی از شیوه‌نامه‌ی نمره‌دهی است؟

سؤالات متداول

پایپ‌لاین ایمنی پنج‌لایه در این درس از چه بخش‌هایی تشکیل شده است؟

این پایپ‌لاین شامل پاک‌سازی ورودی (حذف کاراکترهای صفر-عرض و نرمال‌سازی)، لایه‌ی خط‌مشی با NeMo Guardrails، دروازه‌ی طبقه‌بندهای ایمنی ورودی (مانند Llama Guard 4 و X-Guard)، فیلتر خروجی و لایه‌ی نظارت انسانی (HITL) برای موارد پرریسک است.

خانواده‌های اصلی حمله در میدان آزمون تیم قرمز این پروژه کدامند؟

این حملات شامل جیل‌بریک خودکار PAIR، الگوریتم درخت حملات (TAP)، پسوند گرادیانی GCG، حملات انکودینگ (ASCII و base64)، حملات چندنوبتی هویت جعلی و حملات تعویض کد زبانی در چند زبان هستند.

چگونه می‌توان مانع از امتناع بیش از حد مدل (Over-refusal) شد؟

با سنجش پیوسته نرخ مثبت کاذب بر روی مجموعه‌های آزمون استاندارد مانند XSTest و اعمال الگوی «امتناع با ارائه‌ی راهکار» (Refuse-with-help) تا رفتار کمکی مدل در پرسش‌های بی‌خطر مختل نشود.

ما رو توی گوگل بیشتر ببین

با افزودن نکست ادمین به «منابع ترجیحی» گوگل، درس‌ها و مطالب ما را در بخش اخبار برتر جستجو بیشتر می‌بینید.