Prompt Injection چیست؟
مدل زبانی ورودی را بهصورت متن پردازش میکند و ممکن است دستورهای داخل محتوای ورودی را با دستورهای مجاز سیستم اشتباه بگیرد. Prompt Injection تلاش میکند همین مرز را مخدوش کند.
در Direct Prompt Injection، کاربر مستقیماً ورودی مخرب را وارد میکند. در Indirect Prompt Injection، دستور مخرب داخل سند، ایمیل، صفحه وب، Knowledge Base، فایل یا محتوای بازیابیشده توسط RAG قرار میگیرد.
این تهدید را باید در کنار امنیت هوش مصنوعی سازمانی، کنترل دسترسی و طراحی ابزارها دید.
Prompt Injection مستقیم
نمونهای مانند «دستورهای قبلی را نادیده بگیر و...» مستقیماً تلاش میکند اولویت دستورهای سیستم را تغییر دهد.
صرف Block کردن چند عبارت راهکار کامل نیست؛ مهاجم میتواند از زبان، قالب یا مسیرهای متفاوت برای رساندن همان هدف استفاده کند. باید ورودی، Context، ابزار و خروجی در چند لایه کنترل شوند.
Prompt Injection غیرمستقیم
در این حالت محتوای مخرب از مسیر داده وارد میشود، نه لزوماً از پیام مستقیم کاربر. یک سند، ایمیل، صفحه وب، فایل یا قطعه بازیابیشده از Knowledge Base میتواند حاوی دستورهایی باشد که مدل آنها را بهاشتباه دستور اجرایی تلقی کند.
در سامانههای RAG، محتوای بازیابیشده باید داده تلقی شود، نه دستور معتبر. جداسازی محتوای بیرونی از دستورهای سیستم و بررسی منبع اهمیت زیادی دارد.
چرا RAG مشکل را کاملاً حل نمیکند؟
RAG به مدل Context میدهد، اما همان Context نیز میتواند مخرب باشد. RAG و Fine-tuning بهتنهایی Prompt Injection را از بین نمیبرند.
در نتیجه کنترل منبع، Permission-aware Retrieval، اعتبارسنجی خروجی و محدودسازی اقدامات باید در کنار Retrieval طراحی شوند.
Prompt Injection و AI Agent
وقتی Agent ابزار دارد، خطر از «پاسخ اشتباه» به «اقدام اشتباه» گسترش پیدا میکند. ابزارهایی مانند Email، CRM، Database، File System، API و Workflow میتوانند پیامد عملی داشته باشند.
Agent باید فقط ابزارهای مجاز و پارامترهای محدودشده را ببیند. اقدام حساس نیز باید به تأیید انسان یا Policy مشخص وابسته باشد.
راهکارهای کاهش ریسک
هیچکدام بهتنهایی حل کامل مسئله نیستند. هدف، کاهش احتمال سوءاستفاده و محدود کردن دامنه اثر خطا یا حمله است.
- Least Privilege
- Tool Allowlist
- Input / Content Isolation
- Output Validation
- Human Approval
- Permission-aware Retrieval
- Logging و Monitoring
- Guardrails
- محدود کردن اقدامات حساس
کاربرد Prompt Injection در سازمان
این ریسک در دستیار اسناد، سامانههای RAG، Agentهای متصل به ابزار، پشتیبانی مشتری و ابزارهای داخلی باید ارزیابی شود. هرچه سیستم به منابع بیشتر و عملیات بیشتری دسترسی داشته باشد، طراحی مرزهای اعتماد مهمتر میشود.
Prompt Injection در آیوان
در معماری سازمانی آیوان، دسترسی مدل و Agent به دادهها و ابزارها باید بر اساس هویت، سطح دسترسی و سیاستهای مشخص محدود شود. امنیت Prompt فقط یک لایه از این معماری است و نباید جایگزین کنترل دسترسی یا نظارت عملیاتی شود.
پرسشهای متداول
Prompt Injection چیست؟
Prompt Injection تلاش میکند رفتار یا خروجی مدل را با ورودی یا محتوای مخرب برخلاف سیاست تعریفشده تغییر دهد.
Direct و Indirect Prompt Injection چه تفاوتی دارند؟
در نوع Direct ورودی مخرب مستقیماً از کاربر میآید؛ در نوع Indirect این دستور داخل سند، ایمیل، وب یا محتوای بازیابیشده قرار میگیرد.
آیا RAG جلوی Prompt Injection را میگیرد؟
خیر. Context بازیابیشده نیز میتواند مخرب باشد و RAG بهتنهایی این تهدید را حذف نمیکند.
آیا Agentها در برابر Prompt Injection خطر بیشتری دارند؟
وقتی Agent به ابزار و سامانه متصل است، حمله میتواند از پاسخ نادرست به اقدام نادرست گسترش پیدا کند.
آیا میتوان Prompt Injection را کاملاً حذف کرد؟
حذف کامل قابل تضمین نیست؛ باید با معماری، دسترسی محدود، اعتبارسنجی، ثبت رویداد و تأیید انسانی ریسک را کاهش داد.
منابع و مطالعه بیشتر
- OWASP GenAI Security ProjectLLM01:2025 Prompt InjectionSecurity Guidance
- NISTArtificial Intelligence Risk Management Framework: Generative Artificial Intelligence ProfileRisk Management Guidance