تزریق دستورالعمل (Prompt Injection) در LLM و امنیت حفاظتی (Guardrail)

مدل‌های زبانی بزرگ (LLMها) مرز مشخصی بین دستورالعمل‌ها و داده‌ها ندارند. هر آنچه در پنجره بافت (context window) قرار دارد، جریانی واحد از توکن‌هاست. تزریق دستورالعمل زمانی رخ می‌دهد که داده‌های مهاجم در نقش دستورالعمل عمل کنند. شما نمی‌توانید تنها با فیلتر کردن به امنیت برسید؛ بلکه باید با استراتژی «دفاع در عمق» (defense-in-depth) آن را مدیریت کنید.

شکست دفاع‌های رایج:

حملات ASCII Smuggling یک تهدید بزرگ محسوب می‌شوند. این روش از کاراکترهای نامرئی مانند تگ‌های یونیکد (Unicode Tags) یا فاصله‌های با عرض صفر (zero-width spaces) برای پنهان کردن دستورالعمل‌ها استفاده می‌کند. مدل آن‌ها را می‌خواند، اما انسان چیزی نمی‌بیند. این امر امکان جعل هویت و استخراج داده‌ها (data exfiltration) را از طریق ایمیل یا تقویم فراهم می‌کند.

چگونه از اپلیکیشن خود دفاع کنید:

امنیت یک نقص در خط لوله (pipeline) است، نه فقط یک نقص در مدل. راه حل در کد اپلیکیشن شما نهفته است.

Source: https://dev.to/geekaara/llm-prompt-injection-guardrail-security-glm

Optional learning community: https://t.me/GyaanSetuAi