
بزرگترین ریسک AI Agent پاسخ اشتباه نیست؛ عملی است که با مجوز زیاد انجام میدهد. وقتی Agent به فایل، Shell، دیتابیس یا MCP Server وصل میشود، متن نامطمئن میتواند به مسیر اجرای ابزار برسد. امنیت باید در لایه ابزار و مجوز اعمال شود، نه در یک Prompt هشداردهنده.
Prompt Injection چگونه به ابزار میرسد؟
دستور مخرب ممکن است داخل صفحه وب، Issue، سند RAG یا خروجی یک ابزار باشد. مدل نمیتواند همیشه آن را از دستور اصلی جدا کند. هر داده بازیابیشده را نامطمئن فرض کنید و اجازه تصمیم امنیتی را به متن نسپارید.
اصل دسترسی کمینه برای MCP
- هر MCP Server فقط ابزارهای لازم همان Agent را ارائه کند.
- ابزار خواندن و نوشتن جدا باشد.
- مسیر فایل به Workspace مشخص محدود شود.
- دیتابیس با Role فقطخواندنی و Schema محدود وصل شود.
- شبکه خروجی فقط مقصدهای مجاز را ببیند.
- Token هر پروژه مستقل، کوتاهعمر و قابل لغو باشد.
Human Approval کجا اجباری است؟
حذف داده، پرداخت، ارسال پیام عمومی، Push به شاخه محافظتشده، تغییر DNS و هر عملیات production باید قبل از اجرا خلاصه روشن و تأیید صریح داشته باشد. تأیید کلی ابتدای Session برای همه عملیات بعدی کافی نیست.
برای هر Agent یک کلید و بودجه جدا بسازید.
مدل مجاز، سقف مصرف، نرخ درخواست و تاریخ انقضا را پیش از اتصال مشخص کنید.
Secret را چگونه نگه داریم؟
کلید API را در Prompt، Repository، فایل نمونه یا تنظیمات عمومی MCP قرار ندهید. Secret را سمت سرور تزریق کنید و Log را پیش از ذخیره پاکسازی کنید. برای هر محیط و هر Agent کلید جدا با بودجه و مدل مجاز بسازید.
Schema ابزار یک مرز امنیتی است
ورودی آزاد مانند command: string سطح حمله بزرگی دارد. ابزارهای محدود مانند restart_service(project_id) یا read_logs(project_id, lines) قابل اعتبارسنجی و Audit هستند. Server باید مالکیت Project را مستقل از خروجی مدل بررسی کند.
بودجه و Loop را محدود کنید
- حداکثر تعداد گام و Tool Call؛
- Timeout کل Task و هر ابزار؛
- سقف توکن و هزینه روزانه؛
- توقف در تکرار خطا؛
- Circuit Breaker برای provider یا ابزار ناپایدار.
امنیت RAG
سند بازیابیشده میتواند دستور مخرب داشته باشد. متن بازیابیشده را بهعنوان «منبع» برچسب بزنید، Tool Call را از آن مشتق نکنید و Citation را در پاسخ نگه دارید. فایل آپلودشده نیز باید از نظر نوع، اندازه و بدافزار بررسی شود.
چکلیست پیش از production
- فهرست ابزارها و مالک هر ابزار ثبت شده است.
- مجوز Server مستقل از مدل بررسی میشود.
- عملیات حساس تأیید مرحلهای دارد.
- Secret در Log و Trace حذف میشود.
- هزینه، زمان و تعداد گام محدود است.
- لغو Token و توقف اضطراری آزمایش شده است.
- Prompt Injection در صفحه و سند تست شده است.
برای اجرای مدل با کلید محدود و بودجه جدا، API هوش مصنوعی پاستا را ببینید. برای اتصال Agentهای کدنویسی به عملیات مجاز پاستا نیز راهنمای MCP پاستا نقطه شروع است.