محتوای نمونه
مقالات آموزشی

تزریق دستور (Prompt Injection) در سامانه‌های مبتنی بر مدل‌های زبانی

تزریق دستور یکی از مهم‌ترین تهدیدات سامانه‌های مبتنی بر مدل‌های زبانی است که در آن ورودی‌های دست‌کاری‌شده، رفتار مدل را برخلاف خواست طراح تغییر می‌دهند.

۷ مهر ۱۴۰۵زمان مطالعه: ۲ دقیقهسطح: متوسط

مدل‌های زبانی بزرگ، دستورالعمل‌ها و داده‌ها را در قالب متن دریافت می‌کنند و مرز روشنی میان این دو وجود ندارد. همین ویژگی، امکان تزریق دستور را فراهم می‌کند: متنی که به‌ظاهر داده است، اما مدل آن را به‌عنوان دستور تفسیر می‌کند.

انواع تزریق دستور

  • مستقیم: کاربر با نوشتن دستورهای خاص تلاش می‌کند محدودیت‌های تعیین‌شده برای مدل را دور بزند.
  • غیرمستقیم: دستورهای مخرب در محتوای خارجی مانند صفحه وب، ایمیل یا سندی قرار می‌گیرد که مدل در حین کار آن را می‌خواند.

چرا خطرناک است؟

اگر مدل به ابزارها، داده‌ها یا قابلیت انجام اقدام (مانند ارسال ایمیل یا اجرای دستور) دسترسی داشته باشد، تزریق دستور می‌تواند به نشت اطلاعات یا انجام اقدامات ناخواسته منجر شود.

راهکارهای کاهش ریسک

  • دسترسی مدل به ابزارها و داده‌ها را به حداقل لازم محدود کنید.
  • برای اقدامات حساس، تأیید انسانی در نظر بگیرید.
  • خروجی مدل را پیش از استفاده در بخش‌های دیگر سامانه اعتبارسنجی کنید.
  • محتوای خارجی را نامطمئن فرض کنید و آن را از دستورالعمل‌های سامانه جدا نگه دارید.
  • رفتار سامانه را پایش و با سناریوهای حمله آزمون کنید.

هیچ راهکار واحدی تزریق دستور را به‌طور کامل حذف نمی‌کند؛ بنابراین طراحی لایه‌لایه و محدود کردن پیامد سوءاستفاده، رویکرد اصلی است.