تا حالا محتاط بودیم: Sandbox بومی، Allow/Deny و Hook. حالا میخواهیم کل لایه Permission را برداریم — ولی «امن». این یعنی Bypass Permissions Mode، همان چیزی که با flag ترسناکش میشناسی. رمز امن ماندن این است: بهجای اعتماد به Permission، محیط اجرای مدل را کنترل کنیم.
فعال کردن Bypass و آنچه باقی میماند
claude --dangerously-skip-permissionsیا در `settings.json` مقدار `defaultMode` را روی `bypassPermissions` بگذار. اما چند چیز مهم حتی در این حالت پابرجاست:
- **Sandbox هنوز فعال است** (اگر روشنش کرده باشی) — فقط دستورهای بیرون Sandbox خودکار Allow میشوند. توصیه اکید: حداقل Sandbox بومی را روی ماشین خودت نگه دار.
- **Deny List هنوز محترم است.** `rm` در Deny List؟ همچنان رد میشود. در این حالت Deny List حتی مهمتر میشود.
- **Hook های PreToolUse هنوز شلیک میشوند** و میتوانی Tool Call ها را Intercept کنی.
مشکل بزرگتر: دسترسی به کل ماشین
حتی داخل Sandbox، مدل به کل ماشین و هرچه روی آن نصب است دسترسی دارد. اگر AWS CLI با دسترسی Admin نصب و Authenticated باشد، مدل میتواند دستور بزند. کابوس واقعی: مدل با Terraform زیرساختت را پاک کند چون روی این ماشین لاگین بودی.
اولویت شماره یک در اجرای حلقه، آرامش خیال است. راهحل ایدهآل: محیطی که مدل در آن اجرا میشود را «محکم» کنترل کنیم و در همان محیط ایزوله، به مدل دسترسی «نامحدود» بدهیم.
گزینهها برای ایزولهسازی
**Docker Sandbox رسمی:** کل Sandbox بومی را با یک Container کامل جایگزین میکند (`docker sandbox run claude`). جداسازی خوبی بین Host و Container میدهد، ولی هنوز خیلی آزمایشی و بهگفته سازنده، فعلاً مناسب اجرای حلقه نیست.
**YoloBox:** یک Container داکر معمولی که ایجنت را اجرا میکند، با چند قابلیت که زندگی توسعهدهنده را راحت میکند:
brew install ... yolobox # نصب
yolobox claude # اجرای Claude داخل Containerاولین بار Image دانلود میشود و باید دوباره Authenticate کنی — چون YoloBox فقط پوشه پروژه را Mount میکند، نه Home را. مدل فایلهای کانفیگش را پیدا نمیکند و مثل نصب تازه رفتار میکند. ولی راهحل دارد:
yolobox claude --claude-config --git-configاین کانفیگ Claude و Git را از Host به Container کپی میکند. حالا YoloBox داکر، Git، GitHub CLI و Node را داخل خودش دارد. پس میتوانی حلقه را هم داخلش اجرا کنی:
yolobox # وارد شل Container شو
node ralph.js # حلقه داخل جعبه امنسفارشیسازی جعبه
YoloBox با یک فایل کانفیگ ساده، سفارشی میشود:
# .yolobox.toml
[customize]
packages = ["php@8.3"]حالا `php --version` داخل Container کار میکند (۸.۳). Dockerfile Fragment هم ممکن است، ولی سازنده سری عمداً همان فایل کانفیگ ساده را ترجیح داد.
برای اتصال به دیتابیس:
yolobox --share-docker
docker ps # سوکت Host داخل جعبه Mount شده
# حالا میتوانی از مدل بخواهی یک Container MySQL بسازد
# و چند YoloBox مختلف همان دیتابیس را شریک شوندایجنت داخل جعبه Root هم هست، پس هر پکیجی لازم داشت خودش نصب میکند.
یک هشدار امنیتی مهم
اجرای ایجنت داخل YoloBox یعنی بین Host و Container لایه جداسازی داری، پس میتوانی با Permission آزادتر باشی. **اما** Container بهصورت پیشفرض اینترنت کامل دارد — یعنی هنوز در معرض Exfiltration و Prompt Injection هستی؛ فقط ماشین Host ات سالم میماند. برای ایزوله کامل:
yolobox --no-network # حتی curl google.com هم شکست میخورداستفاده از این کاملاً به سطح امنیت موردنیازت بستگی دارد. جمعبندی: YoloBox به تو اجازه میدهد با خیال راحت لیبرال باشی، بی آنکه نگران فاجعه روی ماشین اصلی باشی.
به زبان ساده
Permission را برمیداری، ولی مدل را در یک جعبه داکر میگذاری که Home و AWS CLI هوست را نمیبیند. داخل جعبه آزاد است؛ بیرون جعبه در امان.
مثال واقعی
کابوس: مدل با Terraform زیرساخت را پاک کند چون روی لپتاپ به AWS لاگین بودی. داخل YoloBox دستور `aws` پیدا نمیشود. `rm` هنوز از Deny List رد میشود. با `--no-network` حتی curl هم شکست میخورد.