اجرای امن ایجنتهای AI با Docker Sandboxes
خلاصهٔ کاملتر
قبلاً وقتی میخواستی یه ایجنت کدنویسی مثل Claude Code یا Codex رو تو حالت skip permissions اجرا کنی، عملاً بهش دسترسی کامل به کل سیستمت رو میدادی؛ اگه یهجا اشتباه میکرد یا با یه محتوای وب پرامپتاینجکت میشد، میتونست فایل پاک کنه یا کلید API رو لو بده. Docker Sandboxes همین مشکل رو حل میکنه: هر ایجنت تو یه micro VM جدا اجرا میشه، یعنی یه ماشین مجازی سبک با کرنل لینوکس مخصوص خودش که با هایپروایزر از سختافزار ایزوله شده، نه یه کانتینر معمولی که کرنل هاست رو با بقیه شریک میشه.
دسترسی به فایلها پوشهبهپوشه تنظیم میشه: ایجنت تو پوشه کاری خودش میتونه بخونه و بنویسه، ولی اگه بخواد بیرون از اون پوشه چیزی بسازه یا تغییر بده، نوشتنش بیسروصدا بلاک میشه؛ تو تستها ایجنتی که سعی کرده یه پوشه بالاتر فایل بسازه، فکر میکرده موفق شده، در حالی که اون فایل اصلاً بیرون از قفس ساخته نشده بود. بعضی پوشهها رو هم میشه فقط-خواندنی گذاشت (مثلاً برای فایلهای مرجع) و بقیه رو کامل قابل نوشتن.
برای شبکه هم سه حالت هست: باز (بدون محدودیت)، بسته (کلاً قطع)، و متعادل که پیشفرضه و از قبل دسترسی به یه لیست گسترده از سرویسها مثل OpenAI، Anthropic، AWS و Google رو باز گذاشته و بقیه دامنهها رو میبنده. میشه این قوانین رو برای هر سندباکس جدا هم عوض کرد؛ مثلاً یه سندباکس تازهساز تا وقتی خودت یه دامنه رو صریحاً اضافه نکنی، اجازه درخواست بهش رو نمیده.
یکی از جالبترین بخشهاش هم پروکسیکردن کلیدهای APIـه: کلید واقعی رو تو ابزار سندباکس ثبت میکنی، ایجنت تو محیط خودش فقط یه مقدار جایگزین (placeholder) میبینه، و کلید اصلی فقط لحظهای که درخواست داره از سندباکس بیرون میره جایگزین میشه؛ یعنی حتی اگه ایجنت لو بره، کلید واقعی هیچوقت داخل محیطش نبوده.
این ابزار محدود به ایجنتهای کدنویسی معروف نیست؛ یه حالت shell خام هم داره که برای تست فریمورکهای ایجنت دلخواه یا کدهای ناشناس گیتهاب قبل از اعتماد کردن بهشون رو سیستم اصلی مناسبه. مدیریت همهچیز هم با یه ابزار خطفرمان به اسم sbx انجام میشه که رایگانه، و یه سیستم early-access هم برای ساختن قالبهای آماده (kits) با تنظیمات، متغیرها و قوانین شبکه از پیشتعریفشده داره.
نکات کلیدی:
- Docker Sandboxes یه micro VM با کرنل لینوکس مجزاست، نه یه کانتینر معمولی؛ ایزولهسازی با هایپروایزر و در سطح سختافزاره.
- دسترسی فایل پوشهبهپوشه تنظیم میشه؛ نوشتن بیرون از پوشه مجاز بیسروصدا شکست میخوره.
- سه حالت شبکه وجود داره: open، closed و balanced (پیشفرض، با لیست سفید برای OpenAI، Anthropic، AWS و Google).
- کلیدهای API با پروکسی مدیریت میشن؛ ایجنت فقط placeholder میبینه و کلید واقعی فقط لحظه خروج درخواست جایگزین میشه.
- یه حالت shell خام هم برای تست ایجنتهای سفارشی یا کدهای ناشناس هست، و ابزار خطفرمان sbx رایگانه.




