اگر به یک عامل هوش مصنوعی اجازه دهید روی سیستم شما کد بزند، یا با یک «تکمیلکنندهٔ متن پیشرفته» طرف هستید یا با موجودی که هر لحظه ممکن است به طور تصادفی کل کلیدهای SSH شما را پاک کند. برای حل این تضاد، شوبهان روی (Shobhan Roy)، پژوهشگری با درجهٔ دکترا، سیستمی طراحی کرده است که Claude Code — عامل کدنویسی مبتنی بر خط فرمان شرکت Anthropic — را درون یک کانتینر توسعهٔ داکر (Docker dev container) در محیط WSL حبس میکند. این پیکربندی تضمین میکند که عامل میتواند کد بزند و دستورات محاسباتی را اجرا کند، بدون اینکه هرگز با سیستم میزبان تماس داشته باشد.
این رویکرد در زمانی ارائه میشود که توسعهدهندگان از رابطهای چت ساده فاصله گرفته و به سمت عاملهای خودمختاری میروند که کل چرخهٔ عمر پروژه را مدیریت میکنند. همانطور که در تحلیل قبلی ما دربارهی ابزارهایی مثل DejaView برای مدیریت جلسات کلود اشاره کردیم، صنعت اکنون از «نظارت بر خروجی AI» به «ایمنسازی اقدامات AI» تغییر مسیر داده است. طبق بررسی این معماری، خطر اصلی دیگر یک هکر بیرونی نیست، بلکه یک «همکار مشتاق» است؛ سیستمی احتمالی که ممکن است در تلاش برای کمک به شما، یک دستور grep یا cat گسترده روی مدارک حساس و اعتبارنامهها (credentials) اجرا کند. این دغدغهها بهویژه پس از آنکه حفرههای امنیتی در Claude Code دسترسی ریشه به کدهای محرمانه را ممکن کرد، اهمیت دوچندان یافت.
مدل دفاعی سه لایه
به نقل از مستندات این پروژه، روی یک معماری امنیتی لایهبندی شده را پیاده کرده است. هدف او این است که «دارایی A» (سیستم میزبان) و «دارایی B» (فایلهای محدود شده پروژه) را محافظت کند، در حالی که به عامل دسترسی کامل به «دارایی C» (کدبیس عمومی) را میدهد.

۱. لایه سخت (اجرایی در سطح هسته): این لایه در فایل devcontainer.json تعریف میشود. از Bind-mountهای محدود (scoped) استفاده میکند تا عامل فقط پوشههای خاص و تعریف شدهای را ببیند. همچنین با دستور --cap-drop=ALL تمام قابلیتهای لینوکس را میگیرد و با --security-opt no-new-privileges جلوی ارتقای دسترسی عامل برای بازگشت به سطح Root را میگیرد.
۲. لایه نیمهسخت (موتور مجوزها): این بخش از طریق settings.json مدیریت میشود و منطق «رد اولویت دارد بر پذیرش» (deny-beats-allow) را اجرا میکند. برای مثال، در حالی که عامل اجازه دارد دستور make را برای بیلد پروژه اجرا کند، هر تلاشی برای خواندن یا cat کردن یک فایل در دایرکتوریهای محدود، توسط این موتور مسدود میشود.
۳. لایه نرم (قرارداد رفتاری): یک فایل به نام CLAUDE.md به عنوان مجموعهای از دستورالعملها عمل میکند که مدل در ابتدای هر جلسه آن را میخواند. این فایل از عامل میخواهد به «قصد» و نیت قوانین پایبند باشد تا از ترفندهای تغییر مسیر شل (shell-redirection) یا استفاده از لینکهای نمادین (symlinks) برای دور زدن فیلترهای تطبیق الگو (pattern matcher) استفاده نکند.
پیادهسازی فنی و محدودیتها
این سیستم روی ویندوز و از طریق WSL 2 اجرا میشود تا هسته لینوکس را به عنوان زیرساخت فراهم کند. به گزارش شوبهان روی، او بهطور صریح از Mount کردن سوکت داکر (/var/run/docker.sock) اجتناب کرده است، زیرا اشاره میکند که انجام این کار عملاً دسترسی Root سیستم میزبان را به عامل میداد. برای سختتر کردن محیط، پوشههای /tmp و /run به صورت tmpfs در حافظه (in-memory) با پرچم noexec تنظیم شدهاند تا عامل نتواند کدهای دانلود یا تزریق شده را اجرا کند؛ هرچند او ذکر میکند که برای پشتههای علمی پایتون که نیاز به ساخت Wheelهای محلی (native wheel builds) دارند، این محدودیت را کمی تسهیل کرده است.

برای رصد رفتار عامل در زمان اجرای بدون نظارت (unattended runs)، یک هوک پایتونی سفارشی به نام audit.py طراحی شده است که تمام دستورات Bash را در یک فایل به نام .audit.log ثبت میکند. این امکان به توسعهدهنده اجازه میدهد دقیقاً بازبینی کند که پس از اتمام هر تکه-کار (task chunk)، چه اتفاقاتی رخ داده است.
یک اقدام امنیتی حیاتی دیگر، مربوط به ویژگی «حالت خودکار» (Auto mode) است که توسط Anthropic پیاده شده است. بر اساس یک پست مهندسی شرکت آنتروپیک در تاریخ ۲۵ مارس ۲۰۲۶، طبقهبند داخلی آنها برای تأییدهای خودکار، نرخ «مثبت کاذب» ۱۷ درصدی برای اقدامات «بیشازحد مشتاقانه» دارد. این بدان معنایست که تقریباً یکی از هر شش اقدام ریسکپذیر میتواند از لایههای ایمنی داخلی عبور کند، و همین موضوع نیاز به یک سندباکس خارجی را توجیه میکند.
بررسی «نشتیها»
روی صادقانه میگوید که این جعبه کاملاً آببند نیست. چون کانتینر از هسته میزبان مشترک است، بیشتر یک «کاهندهٔ شعاع انفجار» (blast-radius reducer) است تا یک ماشین مجازی (VM) کامل. شبکه باز میماند تا عامل بتواند به مخازن پکیجها و API مدل دسترسی داشته باشد و این یعنی نشت دادهها (Data Exfiltration) در صورت هک شدن عامل، همچنان یک ریسک تئوریک است.
علاوه بر این، چون هر دو موجودیتِ عامل و کامپایلر با کاربر claudeuser اجرا میشوند، مجوزهای استاندارد فایل لینوکس مثل chmod 600 نمیتوانند تفاوت بین یک فرآیند بیلد قانونی و یک دستور cat سرگردان از سوی AI را تشخیص دهند. در اینجا دفاع واقعی دوباره به لایه دوم (موتور مجوزها) باز میگردد. این رویکرد لایهبندی شده یادآور راهکارهای هفتگانه برای سختسازی ابزارهای دیتابیس Claude Code است که امنیت محیطهای تولیدی را هدف قرار دادهاند.
برای کسانی که قصد پیادهسازی این سیستم را دارند، کل این تنظیمات در قالب یک مخزن استارتری با مجوز MIT به نام claude-docker-sandbox در دسترس است. کاربران میتوانند در حدود ۱۰ دقیقه با متصل کردن Mountهای مربوط به پروژههای محلی خود، این محیط را مستقر کنند.
این تغییر معماری، بار امنیتی را از «بررسی انسانی تکتک پرامپتها» — که به دلیل خستگی کاربر حتماً شکست میخورد — به یک مرز ساختاری منتقل میکند. توسعهدهنده با پذیرش چند نشتی حسابشده (مثل شبکه باز)، همکاری را با عاملی به دست میآورد که میتواند بهطور خودمختار در کدبیسهای علمی بزرگ خطاها را تعقیب کند، بدون اینکه هویت سیستم میزبان به خطر بیفتد.
آنچه این موضوع برای کل این حوزه به معنا دارد، گذار به «خودمختاری محدود» (Constrained Autonomy) است. ما میبینیم که بهرهورترین عاملها آنهایی نیستند که بیشترین مجوزها را دارند، بلکه آنهایی هستند که مرزهای شفافتر و قابلاجرایی دارند. در واقع، هدف نهایی دستیابی به بهرهوری است، مشابه آنچه در تحلیل ناتان یلین درباره افزایش سرعت مهندسی کد از طریق دسترسی مستقیم به API دیدیم.
بسته به مدل تهدید (threat model) خاص شما، گام بعدی ممکن است بررسی پروفایلهای seccomp یا AppArmor برای محدود کردن بیشتر رابط هسته، یا پیادهسازی یک لیست سفید (allowlist) برای ترافیک خروجی جهت کنترل محل ارسال دادهها توسط عامل باشد.
گام بعدی شما
- اگر از Claude Code استفاده میکنید، مخزن
claude-docker-sandboxرا برای ایزولهسازی محیط توسعه خود بررسی کنید. - برای افزایش امنیت، پروفایلهای seccomp یا AppArmor را برای محدود کردن بیشتر رابط هسته مطالعه کنید.
- یک لیست سفید (Allowlist) برای ترافیک خروجی شبکه تعریف کنید تا کنترل کنید عامل دادهها را به کجا ارسال میکند.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو