ایک سینڈ باکس صرف تب ہی مفید ہے جب وہ واقعی ایجنٹ کو باڑ کے اندر رکھے۔ Claude Code 2.1.216 ان کئی خامیوں کو دور کرتا ہے جو کسی بیک گراؤنڈ ٹاسک، سب ایجنٹ، یا دوبارہ شروع ہونے والے سیشن کو اس کی مقررہ ڈائریکٹری سے باہر نکلنے کا موقع دے سکتی ہیں۔ یہ ریلیز ایک نیا کنفیگریشن سوئچ متعارف کرواتی ہے، لیکن اصل اہم کام پسِ پردہ ہے: Git worktrees، symlinks، اور ایجنٹ ری اسٹارٹس کی بہتر ہینڈلنگ۔ اگر آپ Claude Code کو مقامی طور پر یا CI میں چلاتے ہیں، تو یہ تبدیلیاں صرف چینج لاگ کو جلدی سے دیکھنے سے کہیں زیادہ اہمیت رکھتی ہیں۔
وہ فائل سسٹم ٹوگل جسے آپ کو ہلکے میں نہیں لینا چاہیے
ورژن 2.1.216 میں sandbox.filesystem.disabled کا اضافہ کیا گیا ہے۔ جب اسے سیٹ کیا جاتا ہے، تو Claude Code نیٹ ورک سینڈ باکس کو نافذ کرتے ہوئے اپنے فائل سسٹم آئسولیشن کو چھوڑ دیتا ہے۔ پہلی نظر میں یہ پرمیشن کی غلطیوں کو روکنے یا فائل آپریشنز کو تیز کرنے کا ایک طریقہ لگتا ہے۔ لیکن ایسا نہیں ہے۔ آپ کو یہ سیٹنگ صرف اس صورت میں فعال کرنی چاہیے اگر کوئی دوسرا لیئر پہلے سے ہی آپ کی ڈسک کی حفاظت کر رہا ہو۔
اس کا مطلب ہے کہ ایک ایسا ڈسپوزایبل کنٹینر جسے ہر رن کے بعد ڈیلیٹ کر دیا جاتا ہے، یا ایک مخصوص ورچوئل مشین جس کی آپ کے ہوم ڈائریکٹری یا پروڈکشن والیومز تک رسائی نہ ہو۔ اگر آپ macOS، Windows، یا کسی سادہ Linux ہوسٹ پر براہ راست Claude Code چلاتے ہیں، تو فائل سسٹم آئسولیشن کو آن ہی رہنے دیں۔ نیٹ ورک سینڈ باکس فائل سسٹم کنٹرول کا متبادل نہیں ہے، اور سینڈ باکسڈ فائل ایکسیس کی معمولی رکاوٹ کسی حادثاتی اوور رائٹ یا کسی بدنیتی پر مبنی پرامپٹ انجیکشن سے ہونے والے نقصان سے کہیں زیادہ سستی ہے۔
اس ٹوگل کو پرفارمنس بڑھانے والے بٹن کے بجائے ایک 'کمپیٹیبلٹی شِم' (compatibility shim) کے طور پر سمجھیں۔ یہ ان ماحول کے لیے ہے جہاں آپریٹنگ سسٹم یا آرکیسٹریٹر پہلے سے ہی آئسولیشن کو سنبھالتا ہے، اور Claude کا اپنا سینڈ باکس غیر ضروری پیچیدگی پیدا کرتا ہے۔
یہ اپ ڈیٹ اصل میں کیا ٹھیک کرتی ہے
نئے سیٹنگ کے علاوہ، 2.1.216 ان کئی عملی خامیوں کو ختم کرتی ہے جو کسی ایجنٹ کو ایسی جگہوں تک پہنچنے دے سکتی ہیں جہاں اسے نہیں ہونا چاہیے۔
Worktree isolation. سب ایجنٹس اب Git کمانڈز کو اپنے ورک ٹری سے باہر کسی پیرنٹ یا سگبلنگ ڈائریکٹری میں ری ڈائریکٹ نہیں کر سکتے۔ پہلے، آپ کے پروجیکٹ کے اندر چلنے والا ایک سب ایجنٹ Git آپریشنز کو آپ کے شیئرڈ چیک آؤٹ یا قریبی ریپوزٹریز پر نشانہ بنا سکتا تھا۔ یہ اس لیے اہم ہے کیونکہ بہت سے ڈویلپرز ایک ہی پیرنٹ فولڈر کے تحت متعدد پروجیکٹس رکھتے ہیں۔ اب وہ حد پار کرنے والی کمانڈز ناکام ہو جاتی ہیں۔
.claude پاتھ پر Symlink hardening. ورک فلو تعریفیں اور شیڈول شدہ ٹاسک کنفیگریشن لکھتے وقت سم لنکس (symlinks) کا پیچھا کرتے تھے۔ ایک حملہ آور جو .claude سے، مثال کے طور پر، آپ کے شیل پروفائل یا SSH ڈائریکٹری تک ایک سم لنک بنا سکتا تھا، وہ ممکنہ طور پر ایجنٹ کو پروجیکٹ سے باہر لکھنے پر مجبور کر سکتا تھا۔ اپ ڈیٹ اس پاتھ پر سم لنکس کا پیچھا کرنے سے انکار کر کے اسے روک دیتی ہے۔
محفوظ ری وائنڈز (Safer rewinds). /rewind کمانڈ، جو آپ کو حالیہ تبدیلیوں کو واپس لانے (roll back) کی اجازت دیتی ہے، اب سم لنک شدہ اور ہارڈ لنک شدہ پاتھ کو چھوڑ دیتی ہے۔ اس حفاظتی تدبیر کے بغیر، ایک ری وائنڈ آپریشن کسی سم لنک کا پیچھا کر سکتا تھا اور آپ کی ریپوزٹری سے بہت دور کسی فائل کو اوور رائٹ کر سکتا تھا۔ Claude اب ان چھوڑے گئے پاتھ کی واضح طور پر اطلاع دیتا ہے تاکہ آپ کو معلوم ہو کہ حد برقرار رہی۔
دوبارہ شروع ہونے والے ایجنٹس اپنی پابندیوں کو برقرار رکھتے ہیں۔ بیک گراؤنڈ سیشنز جو رک جاتے ہیں اور بعد میں دوبارہ شروع کیے جاتے ہیں، پہلے ڈیفالٹ ٹول پرمیشنز پر واپس چلے جاتے تھے۔ اگر آپ نے جان بوجھ کر کسی ایجنٹ کو اس طرح محدود کیا تھا کہ وہ صرف پڑھ سکے لیکن لکھ نہ سکے، تو ری اسٹارٹ خاموشی سے وسیع تر رسائی بحال کر سکتا تھا۔ اب اصل پابندیاں برقرار رہتی ہیں اور سیشن کے ساتھ ہی بحال ہو جاتی ہیں۔
سیکیورٹی پروفائل کا انتخاب کرنا
Claude Code 2.1.216 ان کنٹرولز کو تین پروفائلز میں ترتیب دیتا ہے۔ اس کا انتخاب اس بنیاد پر کریں کہ آپ ٹول کہاں چلاتے ہیں، نہ کہ اس بنیاد پر کہ کیا تیز محسوس ہوتا ہے۔
Default. فائل سسٹم اور نیٹ ورک دونوں سینڈ باکسنگ فعال رہتی ہے۔ یہ آپ کے لیپ ٹاپ یا ورک اسٹیشن پر مقامی ترقی (local development) کے لیے صحیح انتخاب ہے۔ یہ آپ کے ہوم ڈائریکٹری، سسٹم فائلوں، اور پڑوسی پروجیکٹس کو کنٹینرز کے انتظام کے بغیر محفوظ کرتا ہے۔
Compatibility. فائل سسٹم آئسولیشن بند کر دی جاتی ہے، لیکن نیٹ ورک سینڈ باکس برقرار رہتا ہے۔ اس پروفائل کو صرف ڈسپوزایبل کنٹینرز یا VMs تک محدود رکھیں جہاں فائل سسٹم پہلے سے ہی عارضی (ephemeral) یا سختی سے محدود ہو۔ اسے اس لیے استعمال نہ کریں کیونکہ آپ ایجنٹ کو کسی محفوظ فولڈر تک رسائی دینے کے لیے پاس ورڈ ٹائپ کرنے سے تھک گئے ہیں۔
Managed Hard Gate. دونوں سینڈ باکس لیئرز آن رہتی ہیں، اور یہ پروفائل آپ کے آرکیسٹریٹر یا سیکیورٹی ٹیم کے ذریعے نافذ کردہ اضافی کنٹینر پالیسیوں کی توقع کرتا ہے۔ یہ CI پائپ لائنز، ریموٹ ڈیولپمنٹ ماحول، اور انٹرپرائز سیٹ اپس کے لیے بنایا گیا ہے جہاں 'ڈیفنس ان ڈیپتھ' (defense in depth) لازمی ہے۔
اگر آپ غیر یقینی ہیں کہ کون سا موزوں ہے، تو Default سے شروع کریں۔ آپ حفاظتی اقدامات کو بعد میں صرف اس کے بعد کم کر سکتے ہیں جب آپ نے تصدیق کر لی ہو کہ آپ کا رن ٹائم ماحول خود فائل سسٹم کو حقیقی طور پر الگ (isolate) کرتا ہے۔
اپنے ورک فلو کو خراب کیے بغیر اپ گریڈ کرنا
اسے محض ایک معمول کا پیچ (patch) نہ سمجھیں جسے آپ جمعہ کی دوپہر کو انسٹال کر دیتے ہیں۔ 2.1.216 میں اپ گریڈ کا راستہ تو سیدھا ہے، لیکن غلط کنفیگریشن (misconfiguration) کے نتائج اتنے سادہ نہیں ہیں۔
سب سے پہلے، اپنے معمول کے پیکج مینیجر یا انسٹالر کے ذریعے 2.1.216 پر اپ گریڈ کریں۔ پھر کسی بھی ایجنٹ ٹاسک کو شروع کرنے سے پہلے تین آئسولیشن پروفائلز (isolation profiles) میں سے ایک کا انتخاب کریں۔ یہ جانے بغیر کہ کون سا پروفائل ترجیح رکھتا ہے، چلتے ہوئے سیشنز میں پروفائلز کو مکس نہ کریں۔
اس کے بعد، نیچے بیان کردہ پانچ غیر تباہ کن باؤنڈری ٹیسٹ (non-destructive boundary tests) چلائیں۔ یہ تیز رفتار، اسکرپٹڈ چیکس ہیں جو ثابت کرتے ہیں کہ سینڈ باکس (sandbox) بالکل اسی طرح کام کر رہا ہے جیسا کہ پروفائل کا وعدہ ہے۔ ٹیسٹنگ کے دوران، اپنے عارضی ٹیسٹ ریپوزٹری (disposable test repository) سے باہر کی فائلوں کے لیے سینٹینل ہیشز (sentinel hashes) تیار کریں۔ سینٹینل ہیش محض کسی حساس فائل یا ڈائریکٹری کا چیک سم (checksum) ہے جسے آپ محفوظ کرنا چاہتے ہیں۔ ٹیسٹ چلانے کے بعد، ہیشز کا موازنہ کریں۔ اگر کچھ بھی تبدیل ہوا ہے، تو اس کا مطلب ہے کہ آپ کا آئسولیشن لیک ہو رہا ہے۔
اپنے لاگز (logs) کا بھی موازنہ کریں۔ Claude Code اپنی مقامی لاگز میں مسترد کیے جانے والے عمل (denials) اور سینڈ باکس کے واقعات کو لکھتا ہے۔ جب کسی بلاک شدہ ہوسٹ تک رسائی کی کوشش کی جائے یا جب کوئی سب ایجنٹ (subagent) اپنے ورک ٹری (worktree) سے باہر نکلنے کی کوشش کرے، تو واضح طور پر مسترد کیے جانے کے نشانات تلاش کریں۔ خاموش ناکامیاں (silent failures) شور مچانے والی ناکامیوں سے زیادہ خطرناک ہوتی ہیں، اس لیے تصدیق کریں کہ لاگز میں گارڈ ریلز (guardrails) کے فعال ہونے کا ذکر ہے۔
آخر میں، تبدیلی کو بتدریج نافذ کریں۔ کسی ایک پروجیکٹ یا نان پروڈکشن برانچ سے آغاز کریں۔ اپنی پوری ٹیم یا CI فلیٹ (CI fleet) پر اسے تعینات کرنے سے پہلے نئے ورژن کو ایک یا دو دن تک چلنے دیں۔
پانچ باؤنڈری ٹیسٹ جو ثابت کرتے ہیں کہ آپ کا سینڈ باکس کام کر رہا ہے
یہ ٹیسٹ ہمیشہ جعلی ڈیٹا سے بھرپور ایک عارضی ریپوزٹری کے اندر چلائیں۔ انہیں کبھی بھی پروڈکشن کوڈ، اصل کواڈز (credentials)، یا لائیو انفراسٹرکچر پر استعمال نہ کریں۔
نیٹ ورک باؤنڈری۔ دو اینڈ پوائنٹس تک پہنچنے کی کوشش کریں: ایک جسے آپ نے واضح طور پر اجازت دی ہے اور ایک جسے آپ نے بلاک کیا ہے۔ httpbin.org جیسی کسی عوامی ٹیسٹ سروس کے خلاف ایک سادہ HTTP ریکویسٹ بطور اجازت یافتہ ہدف استعمال کی جا سکتی ہے، جبکہ کسی مقامی میٹا ڈیٹا اینڈ پوائنٹ یا انٹرنل IP پر ریکویسٹ ناکام ہونی چاہیے۔ اگر بلاک شدہ ریکویسٹ کامیاب ہو جاتی ہے، تو آپ کا نیٹ ورک سینڈ باکس غلط کنفیگر ہے۔
ورک ٹری آئسولیشن۔ کسی سب ایجنٹ کے اندر سے، پیرنٹ ڈائریکٹری کو نشانہ بنانے والا Git کمانڈ چلائیں۔ مثال کے طور پر، git -C .. status آزمائیں یا ایجنٹ سے اس کے چیک آؤٹ سے باہر کی فائلوں کی تفصیل پوچھیں۔ 2.1.216 میں موجود فکس کے ساتھ، یہ ناکام ہونا چاہیے۔ سب ایجنٹ کو صرف اپنا ورک ٹری نظر آنا چاہیے۔
سم لنک ٹریپ (Symlink trap)۔ اپنے پروجیکٹ کے اندر ایک سم لنک (symlink) بنائیں جو ریپوزٹری سے باہر کسی ڈائریکٹری کی طرف اشارہ کرتا ہو، جیسے کہ /tmp/sentinel-target۔ پھر .claude پاتھ کے تحت کوئی ٹاسک یا ورک فلو محفوظ کرنے کی کوشش کریں جو اس لنک کے ذریعے ڈیٹا لکھے۔ محفوظ کرنے کے بعد، بیرونی ڈائریکٹری چیک کریں۔ اگر وہ اب بھی خالی ہے، تو اس کا مطلب ہے کہ سم لنک ہارڈننگ (symlink hardening) کام کر رہی ہے۔
ریونڈ سکپ (Rewind skip)۔ اپنی ریپوزٹری کے اندر ایک فولڈر بنائیں جس میں کسی سسٹم فائل یا دوسری ڈائریکٹری کا سم لنک ہو۔ اس فولڈر پر /rewind چلائیں۔ Claude کو ان کے پیچھے جانے کے بجائے ان سکپ کیے گئے سم لنک یا ہارڈ لنک شدہ پاتھز کی فہرست دکھانی چاہیے۔ تصدیق کریں کہ ریپوزٹری سے باہر کا ہدف غیر تبدیل شدہ رہے۔
سیشن ریسریشن (Session resurrection)۔ ایک سخت پابندی کے ساتھ بیک گراؤنڈ ایجنٹ شروع کریں، جیسے کہ فائل رائٹ ٹولز کو غیر فعال کرنا۔ سیشن کو روک دیں یا بند کر دیں، پھر اسے دوبارہ شروع کریں۔ فوری طور پر ایجنٹ سے فائل لکھوانے کی کوشش کریں۔ اگر پابندی اب بھی فعال ہے، تو اس کا مطلب ہے کہ دوبارہ شروع ہونے والے ایجنٹس کے لیے فکس کام کر رہا ہے۔ اگر ایجنٹ کو اچانک دوبارہ تمام ٹولز تک مکمل رسائی مل جائے، تو آپ اب بھی خطرے میں ہیں۔
آخری بات
Claude Code 2.1.216 آپ کو پچھلے ورژن کے مقابلے میں زیادہ لچک فراہم کرتا ہے، لیکن یہ لچک ایک واضح حکم کے ساتھ آتی ہے: بھروسہ کرنے سے پہلے تصدیق کریں۔ نیا فائل سسٹم ٹوگل (filesystem toggle) آپ کی زندگی کو حفاظت کی قیمت پر آسان بنانے کے لیے نہیں ہے۔ یہ ان انجینئرز کے لیے ہے جنہوں نے پہلے ہی اس ٹول کے نیچے ایک مضبوط بنیاد بنا رکھی ہے۔ اس ریلیز میں اصل بہتری وہ خاموش گارڈ ریلز (guardrails) ہیں جو سب ایجنٹس کو پیرنٹ ڈائریکٹریز میں گھسنے سے روکتی ہیں، جو کنفیگریشن رائٹس کے دوران سم لنکس پر عمل کرنے سے انکار کرتی ہیں، اور جو طویل وقفے کے بعد بھی قوانین کو یاد رکھتی ہیں۔
پانچوں ٹیسٹ چلائیں۔ اپنے سینٹینل ہیشز چیک کریں۔ لاگز پڑھیں۔ پھر، اور صرف تب، نئے ورژن کو اصل کام کرنے دیں۔
ماخذ: Claude Code v2.1.216 Release Notes
اختیاری لرننگ کمیونٹی: GyaanSetu on Telegram
