SSD Nodes Learn
تعلیمی Matt Connorتحریر: Matt Connor · اپ ڈیٹ شدہ 2026-07-25

سرور پر Claude Code محفوظ چلانا

Claude Code آپ کے صارف کی طرح ہر کمانڈ چلا سکتا ہے۔ --dangerously-skip-permissions فلیگ کیا تبدیل کرتا ہے اور سینڈ باکس سے قابلِ ضائع VPS تک اثر کو کیسے محدود رکھیں، یہ جانئیں۔

سرور پر Claude Code کو محفوظ طریقے سے چلانے کا کیا مطلب ہے

سرور پر Claude Code کو محفوظ طریقے سے چلانے کے لیے، اس کی اجازت کے اشارے (permission prompts) آن رکھیں، اسے ایک مخصوص غیر مرجّح (unprivileged) صارف کے طور پر چلائیں، اور بغیر نگرانی کے چلنے والے کاموں کو اعتماد کے بجائے ایک حقیقی حد دینا: بلٹ ان سینڈ باکس، ایک کنٹینر، یا ایک ایسا قابلِ ضائع VPS جس میں آپ کی اہم کوئی چیز نہ ہو۔ --dangerously-skip-permissions فلیگ ماڈل اور آپ کے شیل کے درمیان منظوری کے مرحلے کو ہٹا دیتا ہے۔ یہ تبادلہ بغیر نگرانی کے کام کے لیے معقول ہو سکتا ہے، لیکن صرف ایک ایسی حد کے اندر جو ایک غلط کمانڈ کے اثر کو محدود رکھے۔ یہ رہنمائی بتاتی ہے کہ فلیگ دراصل کیا تبدیل کرتا ہے، اور بڑھتی ہوئی علیحدگی کے درجات میں اس حد کو کیسے بنایا جائے۔

آپ کے سسٹم پر Claude Code کیا کر سکتا ہے

Claude Code ایک کوڈنگ ایجنٹ ہے جو آپ کے ٹرمینل میں چلتا ہے۔ یہ فائلیں پڑھتا ہے، فائلیں لکھتا ہے، اور اس صارف کی حیثیت سے شیل کمانڈز چلاتا ہے جس نے اسے شروع کیا۔ یہ ٹول کی پوری قدر یہی ہے: یہ ایک ریپوزٹری کلون کر سکتا ہے، کوڈ میں ترمیم کر سکتا ہے، ٹیسٹ چلا سکتا ہے، ناکامی کو پڑھ سکتا ہے، اور کوڈ کو ایک لوپ میں ٹھیک کر سکتا ہے، بغیر آپ کے ہر کمانڈ ٹائپ کیے۔ اگر آپ نے ابھی تک اسے سرور پر سیٹ اپ نہیں کیا ہے، تو tmux کے ساتھ VPS پر Claude Code چلانا انسٹالیشن اور سیشن ہینڈلنگ کا احاطہ کرتا ہے۔ یہ صفحہ اس طاقت کا احاطہ کرتا ہے جو آپ اسے ایک بار وہاں موجود ہونے کے بعد دیتے ہیں۔

خطرہ وہی جملہ دوسری بار پڑھنے پر ہے۔ ایک پروسیس جو آپ کے صارف کی حیثیت سے شیل کمانڈز چلاتا ہے وہ وہ سب کچھ کر سکتا ہے جو آپ کا صارف کر سکتا ہے۔ یہ ~/.ssh/id_ed25519، ~/.aws/credentials، اور ہر .env فائل پڑھ سکتا ہے جو آپ کا صارف کھول سکتا ہے۔ یہ curl چلا سکتا ہے اور ڈیٹا کو کسی بھی ہوسٹ تک بھیج سکتا ہے جس تک سرور پہنچ سکتا ہے۔ یہ git push --force چلا سکتا ہے۔ ایجنٹ کا اپنا کوئی مقصد نہیں ہوتا۔ خطرہ یہ ہے کہ کوئی کام غلط جائے، یا کام کے دوران اس نے جو متن پڑھا وہ کسی اور کے لکھے ہوئے ہدایات پر مشتمل ہو: کوئی ویب پیج جسے اس نے لایا ہو، یا کسی مسئلے میں ایک تبصرہ جسے اسے ٹھیک کرنے کے لیے کہا گیا ہو۔ دوسرے کیس کو پرامپٹ انجیکشن کہتے ہیں، اور اسی لیے "ماڈل عام طور پر سمجھدار ہوتا ہے" ایک سیکیورٹی پلان نہیں ہے۔ آپ اوسط رن کے لیے نہیں، بلکہ خراب رن کے لیے پلان بناتے ہیں۔

اجازت کا نظام سادہ الفاظ میں

بنیادی حالت میں، Claude Code کام کرنے سے پہلے پوچھتا ہے۔ پروجیکٹ کے اندر فائلیں پڑھنا خاموشی سے ہوتا ہے، لیکن کسی فائل میں ترمیم کرنا یا شیل کمانڈ چلانا آپ کو پہلے درست ترمیم یا کمانڈ دکھاتا ہے اور ہاں کا انتظار کرتا ہے۔ آپ ایک عمل کو منظور کر سکتے ہیں، یا سیشن کے بقیہ حصے کے لیے اس قسم کے عمل کو منظور کر سکتے ہیں۔ یہ منظوریاں سیشن تک محدود ہوتی ہیں: CLI سے باہر نکلیں، اور اگلا سیشن دوبارہ محتاط انداز میں شروع ہوتا ہے۔ قواعد کے لیے جنہیں آپ برقرار رکھنا چاہتے ہیں، سیٹنگز فائل میں مستقل اجازت (allow)، پوچھنے (ask)، اور منع (deny) کی فہرستیں موجود ہیں۔ مثال کے طور پر: git status کی اجازت دیں، git push پر پوچھیں، .env کو پڑھنے سے منع کریں۔ منع (deny) کے قواعد ہمیشہ جیتتے ہیں۔

یہ ڈیزائن فرض کرتا ہے کہ ایک انسان ٹرمینل پر دیکھ رہا ہے، اور لیپ ٹاپ پر یہ سچ ہے۔ سرور پر، اکثر مقصد یہی ہوتا ہے کہ کوئی نہیں دیکھ رہا۔ آپ tmux کے اندر ایک طویل کام شروع کرتے ہیں اور سو جاتے ہیں، اور ایک ایجنٹ جو رات 2 بجے سوال پوچھنے کے لیے رک جائے وہ صبح تک کوئی پیش رفت نہیں کرے گا۔ یہ رکاوٹ وقت کے ساتھ ساتھ رقم بھی ضائع کرتی ہے، کیونکہ ایک غیر فعال Claude Code سیشن اپنا وارم پرامپٹ کیش کھو دیتا ہے اور اگلی باری اسے دوبارہ بنانے کی قیمت چکانی پڑتی ہے۔ یہی وہ حقیقی وجہ ہے جو لوگ سرور پر اسکپ فلیگ کی طرف رجوع کرتے ہیں، اور یہ جو مسئلہ حل کرتا ہے وہ حقیقی ہے۔ اس رہنمائی کا باقی حصہ اسے ہر حفاظتی رکاوٹ کو چھوڑے بغیر حل کرنے کے بارے میں ہے۔

--dangerously-skip-permissions کیا تبدیل کرتا ہے

claude --dangerously-skip-permissions منظوری کے مرحلے کو بند کر دیتا ہے۔ ترامیم بغیر اشارے کے ہوتی ہیں۔ شیل کمانڈز بغیر اشارے کے چلتے ہیں۔ محفوظ راستے کی جانچیں جو عام طور پر حساس مقامات کی حفاظت کرتی ہیں وہ بھی چھوڑ دی جاتی ہیں۔ آپ کے واضح منع (deny) کے قواعد اب بھی لاگو ہوتے ہیں، اور چند انتہائی اقدامات اب بھی پوچھنے کے لیے رکتے ہیں، لیکن کام کا خلاصہ سادہ ہے: جو بھی ماڈل چلانے کا فیصلہ کرتا ہے، وہ چل جاتا ہے۔

سرور پر فلیگ کی دو باتیں اہم ہیں۔ پہلی، یہ اس وقت بلاک ہو جاتا ہے جب Claude Code Linux اور macOS پر root یا sudo کے تحت چلتا ہے، کیونکہ بغیر اشارے کے root مشین پر کسی بھی فائل یا سروس کو تبدیل کر سکتا ہے۔ ایجنٹ کو بہرحال اپنا غیر مرجّح (unprivileged) اکاؤنٹ درکار ہوتا ہے، اور فلیگ اس کی نفاذ کرتا ہے۔ دوسری، فلیگ ماڈل کے رویے کو کسی بھی طرح تبدیل نہیں کرتا۔ یہ انسان کو لوپ سے ہٹا دیتا ہے اور کچھ بھی نہیں بدلتا، اس لیے ہر وہ غلطی جو ایک اشارہ روک لیتا تھا وہ اب چل جاتی ہے۔

تو یہ ہے سچا حساب۔ اگر آپ اجازتیں چھوڑ دیتے ہیں، تو سیکیورٹی کا سوال "کیا ایجنٹ کوئی برا کام کرے گا" سے بدل کر "ایک برا کام کتنا نقصان پہنچا سکتا ہے" ہو جاتا ہے۔ آپ ہر فیصلے کو کنٹرول کرنے کی کوشش چھوڑ دیتے ہیں اور اثر کے دائرے (blast radius) کو کنٹرول کرنا شروع کر دیتے ہیں۔ روک تھام (containment) ہی جواب ہے، اور یہ درجات میں آتی ہے۔

بلٹ ان Claude Code سینڈ باکس

درجات سے پہلے، یہ جان لیں کہ Claude Code اب اپنے چلائے جانے والے کمانڈز کے لیے ایک OS لیول کا سینڈ باکس فراہم کرتا ہے، اور یہ ان زیادہ تر وجوہات کو ختم کر دیتا ہے جن کی وجہ سے لوگ اسکپ فلیگ کی طرف رجوع کرتے تھے۔ Linux پر یہ فائل سسٹم کی علیحدگی کے لیے bubblewrap استعمال کرتا ہے، اس کے ساتھ network ٹریفک کو پراکسی کے ذریعے روٹ کرنے کے لیے socat۔ سینڈ باکس کے اندر، ایک کمانڈ صرف پروجیکٹ ڈائریکٹری اور ایک سیشن ٹیمپ ڈائریکٹری میں لکھ سکتی ہے، اور یہ نیٹ ورک تک صرف ایک پراکسی کے ذریعے پہنچ سکتی ہے جو ہر ڈومین کی اجازت کی فہرست کے خلاف جانچ کرتا ہے۔ پہلی بار جب کمانڈ کوئی نیا ڈومین چاہتی ہے، تو Claude Code آپ سے پوچھتا ہے۔

اسے ایک سیشن کے اندر /sandbox کمانڈ کے ساتھ آن کریں۔ Ubuntu اور Debian پر، پہلے اس کے لیے درکار دو پیکیجز انسٹال کریں:

sudo apt install bubblewrap socat

Ubuntu 24.04 اور اس کے بعد کے ورژنز پر، ڈیفالٹ AppArmor پالیسی bubblewrap کو اس کے درکار یوزر نیمسپیس بنانے سے روکتی ہے۔ سینڈ باکس پینل آپ کو بتاتا ہے جب کوئی چیز غائب ہو، اور Claude Code سینڈ باکسنگ دستاویزات میں وہ مختصر AppArmor پروفائل موجود ہوتا ہے جو اسے ٹھیک کرتا ہے۔

سینڈ باکس میں ایک آٹو-الاؤ موڈ ہے: سینڈ باکس والی کمانڈز بغیر کسی اشارے کے چلتی ہیں، کیونکہ نافذ کردہ حد اب وہ کام کرتی ہے جو اشارہ پہلے کرتا تھا۔ وہ کمانڈز جو سینڈ باکس کے اندر نہیں چل سکتیں وہ عام اجازت کے بہاؤ پر واپس آ جاتی ہیں، اس لیے واقعی غیر معمولی اقدامات اب بھی پوچھتے ہیں۔ زیادہ تر سرور ورک فلو کے لیے یہ اسکپ فلیگ کی درست متبادل ہے، کیونکہ آپ کو کسی بھی حد کے بجائے OS کی نافذ کردہ حد کے ساتھ بہت کم سوالات ملتے ہیں۔

اس کی حدود کے بارے میں ایماندار رہیں۔ ڈیفالٹ کے طور پر ایک سینڈ باکس والی کمانڈ اب بھی فائل سسٹم کا زیادہ تر حصہ پڑھ سکتی ہے، بشمول کریڈینشل فائلیں، جب تک کہ آپ ان راستوں کو منع نہ کریں؛ sandbox.credentials سیٹنگ بالکل اسی کے لیے موجود ہے۔ نیٹ ورک پراکسی ڈومین ناموں کی جانچ کرتا ہے اور ٹریفک کا خود جائزہ نہیں لیتا، اس لیے github.com جیسی ایک وسیع اجازت ڈیٹا باہر لے جانے کی گنجائش چھوڑتی ہے۔ Docker اس کے اندر کام نہیں کرتا۔ سینڈ باکس فلر کو کافی حد تک بہتر کرتا ہے۔ یہ علیحدگی کی مکمل حد نہیں ہے، اسی لیے نیچے دیے گئے درجات اب بھی اہم ہیں۔

روک تھام کا سیڑھی

تین درجے، علیحدگی کے بڑھتے ہوئے ترتیب میں۔ سب سے کم درجہ منتخب کریں جو باکس پر موجود باقی چیزوں سے میل کھاتا ہو۔

درجہ 1: ایک مخصوص غیر مرجّح (unprivileged) صارف۔ ایجنٹ کو اپنا اکاؤنٹ، اپنا ہوم ڈائریکٹری، اپنا پروجیکٹ ڈائریکٹری ملتا ہے، اور کوئی sudo نہیں:

sudo adduser --disabled-password --gecos "" agent

اکاؤنٹ کی حد ایجنٹ کو آپ کی فائلوں سے باہر رکھتی ہے: آپ کی SSH کلیدوں اور مشین پر موجود ہر دوسرے پروجیکٹ سے۔ یہ اسکپ فلیگ کو بالکل قابلِ استعمال بھی بناتا ہے، کیونکہ فلیگ root کے طور پر چلنے سے انکار کرتا ہے۔ یہ وہی اصول ہے جو ہر سروس کو ایک غیر مرجّح صارف کے طور پر چلانے کا ہے، جسے ایک ایجنٹ پر لاگو کیا گیا ہے۔ جس چیز کو درجہ 1 محدود نہیں کرتا وہ ہے نیٹ ورک، اور باکس پر موجود وہ کچھ بھی جو ہر کوئی پڑھ سکتا ہے۔

درجہ 2: ایک کنٹینر۔ Anthropic ایک ریفرنس devcontainer شائع کرتا ہے جو Claude Code کو غیر root صارف کے طور پر چلاتا ہے، فائر وال قواعد کے ساتھ جو ان ہوسٹس کو محدود کرتے ہیں جن تک ایجنٹ پہنچ سکتا ہے، اور ایک کنٹینر جو آپ خود بناتے ہیں وہ بھی یہی کام کرتا ہے۔ فائل سسٹم صرف ان والیومز تک سکڑ جاتا ہے جو آپ ماؤنٹ کرتے ہیں، اور باہر نکلنا (egress) صرف اس تک سکڑ جاتا ہے جو کنٹینر کے قواعد اجازت دیتے ہیں۔ جب سرور پر دیگر سروسز موجود ہوں جن کی آپ کو پرواہ ہے تو یہ درست درمیانی درجہ ہے۔ اس کی حد یہ ہے کہ کنٹینرز ہوسٹ کرنیل شیئر کرتے ہیں، اور ایک لاپرواہ ماؤنٹ حد کو ختم کر دیتا ہے؛ کنٹینر کو /var/run/docker.sock دیں اور یہ پورے ہوسٹ تک پہنچ سکتا ہے۔

درجہ 3: ایک مخصوص VPS۔ سب سے مضبوط درجہ سب سے سیدھا ہے: ایجنٹ کو ایک پوری مشین دیں جس میں آپ کی اہم کوئی چیز نہ ہو۔ ایک چھوٹا VPS ماہانہ چند ڈالر میں آتا ہے۔ اسے ایک نئے VPS پر پہلے دس منٹ کی رن بک کے ساتھ سیٹ اپ کریں، صاف حالت کا اسنیپ شاٹ لیں، اور ایجنٹ کو کام کرنے دیں۔ وہاں کوئی اور چیز نہیں رہتی۔ کوئی ذاتی SSH کلید نہیں، صرف ایک ڈپلائے کلید جو ایک ریپوزٹری تک محدود ہو۔ کوئی کلاؤڈ کریڈینشلز نہیں، کوئی پروڈکشن ڈیٹا نہیں۔ جب کوئی رن غلط جائے، یا جب آپ صرف ایک صاف آغاز چاہیں، تو منٹوں میں اسنیپ شاٹ بحال کریں یا باکس کو تباہ کر کے دوبارہ بنائیں۔ اثر کا دائرہ (blast radius) کرایہ ہے۔ یہ وہ سیٹ اپ ہے جہاں --dangerously-skip-permissions خوفناک ہونا بند ہو جاتا ہے، کیونکہ بدترین ممکنہ نتیجہ ایک دوبارہ بنائی گئی سرور اور ایک منسوخ کردہ ٹوکن ہے۔

درجات اسٹیک ہوتے ہیں۔ ایک سینڈ باکس والا ایجنٹ، جو ایک غیر مرجّح صارف کے طور پر، ایک قابلِ ضائع VPS پر چل رہا ہو، اس کی لاگت تقریباً کچھ زیادہ نہیں ہوتی اور یہ ناکامی کی کہانیوں کو بورنگ بنا دیتا ہے۔ بورنگ ہونا ہی مقصد ہے۔

کریڈینشلز کی حفاظت کریں

وہ قاعدہ جو باقی سب کچھ ادا کرتا ہے: ایجنٹ کے صارف کو ان رازوں کو پڑھنے کے قابل نہیں ہونا چاہیے جو کسی اور چیز سے تعلق رکھتی ہوں۔

API کلید ایجنٹ کو دیں اور کچھ نہیں۔ اسے ایجنٹ کے صارف کی ملکیت والی فائل میں موڈ 600 کے ساتھ رکھیں، اور جب شیل شروع ہو تو اسے لوڈ کریں:

install -m 600 /dev/null /home/agent/claude.env
echo 'export ANTHROPIC_API_KEY=your-key-here' >> /home/agent/claude.env
echo 'source ~/claude.env' >> /home/agent/.bashrc

پھر دوسری سمت بند کریں۔ Debian اور Ubuntu پر، ہوم ڈائریکٹریز اکثر باکس پر موجود ہر صارف کے پڑھنے کے قابل بنائے جاتے ہیں، اس لیے اپنے کو سخت کریں: chmod 750 /home/youruser۔ ls -ld /home/* کے ساتھ جانچ کریں اور جو کچھ بھی ایجنٹ کا اکاؤنٹ لسٹ کر سکتا ہے اسے ٹھیک کریں۔

ہر ٹوکن کو محدود کریں۔ ایک باریک بین GitHub ٹوکن جو ایک ریپوزٹری تک محدود ہو، یا ایک فی ریپوزٹری ڈپلائے کلید، کا مطلب ہے کہ لیک ہونے والا کریڈینشل ایک پروجیکٹ کو نقصان پہنچاتا ہے نہ کہ آپ کے پورے اکاؤنٹ کو۔ اگر آپ سینڈ باکس استعمال کرتے ہیں، تو اس کی کریڈینشل سیٹنگز شامل کریں تاکہ ~/.ssh اور ~/.aws پڑھنے کے لیے بھی منع کر دیے جائیں۔ اور پروڈکشن کریڈینشلز کو باکس سے بالکل دور رکھیں، کیونکہ ایک ایجنٹ اس راز کو لیک نہیں کر سکتا جو کبھی وہاں موجود ہی نہیں تھا۔

Git حفاظتی جال ہے

ایجنٹ کی ہر تبدیلی قابلِ جائزہ اور قابلِ واپسی ہونی چاہیے، اور git آپ کو دونوں مفت دیتا ہے اگر ایجنٹ ایک برانچ پر کام کرتا ہے:

git switch -c agent/refactor-auth

بعد میں رن کا جائزہ git diff main...agent/refactor-auth کے ساتھ لیں، جو اچھا ہو اسے مارج کریں، اور اگر رن کہیں نہ گیا ہو تو برانچ ڈیلیٹ کر دیں۔ فورج کی طرف سے مین برانچ کی حفاظت کریں، تاکہ ایجنٹ کا ٹوکن اس میں پش نہ کر سکے اور کہیں بھی فورس پش نہ کر سکے۔ کمٹ ہسٹری اس وقت کے آڈٹ لاگ کے طور پر بھی کام کرتی ہے جبکہ آپ سو رہے تھے، جو کسی بھی مقدار میں ٹرمینل اسکرول بیک سے زیادہ قیمتی ہے۔

نیٹ ورک اثر کے دائرے (blast radius) کا حصہ ہے

ایک ایجنٹ curl چلا سکتا ہے۔ یہ جملہ پورے باہر نکلنے (egress) کا مسئلہ ہے: جو کچھ ایجنٹ پڑھ سکتا ہے، وہ اسے کہیں بھیج بھی سکتا ہے، اور پرامپٹ انجیکشن والا ایجنٹ شاید ایسا کرے۔ ایک عام غیر مرجّح صارف اسے بالکل محدود نہیں کرتا، کیونکہ کوئی بھی صارف اس چیز تک پہنچ سکتا ہے جس تک سرور پہنچ سکتا ہے۔ سینڈ باکس اسے اپنی پراکسی کے ذریعے ڈومین کے حساب سے محدود کرتا ہے۔ ایک کنٹینر اسے اپنے فائر وال قواعد کے ساتھ محدود کر سکتا ہے۔ ایک مخصوص VPS سب سے پہلے لیک ہونے والی چیز کو ہی محدود کر دیتا ہے، جو تینوں میں سب سے مضبوط جواب ہے۔

egress کو صرف ufw کے ساتھ حل کرنے کی کوشش نہ کریں۔ ufw ڈیفالٹ کے طور پر تمام آؤٹ گوئنگ ٹریفک کی اجازت دیتا ہے، اور آؤٹ باؤنڈ قواعد لکھنا جو اب بھی apt، npm، git، اور Claude API کی اجازت دیں، یہ ایک پیچیدہ کام ہے جو خاموشی سے ٹوٹ جاتا ہے۔ اس کے بجائے سینڈ باکس، کنٹینر، یا مشین لیول پر حد منتخب کریں، جہاں ایک ڈومین اجازت فہرست یا ایک خالی مشین اسی کام کو صاف ستھرے انداز میں کرتی ہے۔

اگر آپ Claude Code چلانے کے بجائے API کے خلاف اپنا ایجنٹ بنا رہے ہیں، تو وہی سوچ تبدیل کیے بغیر لاگو ہوتی ہے۔ VPS پر Claude کے ساتھ AI ایجنٹ بنانا اس راستے کا احاطہ کرتا ہے، اور اس کا ایجنٹ اسی مخصوص صارف، اسی محدود ٹوکنز، اور اسی قابلِ ضائع باکس کا حقدار ہے۔

پہلے باکس کو سخت کریں

آپ جو بھی درجہ منتخب کریں، مشین کو خود ایجنٹ کے آنے سے پہلے بنیادی باتوں کی ضرورت ہے: صرف SSH کلیدز، no root login، ایک ڈیفالٹ منع (default-deny) فائر وال، خودکار سیکیورٹی اپڈیٹس۔ اپنی چیک لسٹ یہاں بنائیں اور اسے ایک بار مکمل کریں:

ToolHarden the box before the agent moves in

FAQ

کیا --dangerously-skip-permissions کو سرور پر استعمال کرنا محفوظ ہے؟

اپنے آپ میں نہیں۔ فلیگ ہر منظوری کا اشارہ ہٹا دیتا ہے، اس لیے پہلی غلط کمانڈ اسی وقت چل جاتی ہے جیسے ہی ماڈل اسے پیدا کرتا ہے۔ یہ ایک قابلِ دفاع تبادلہ تب بن جاتا ہے جب اثر کے دائرے (blast radius) کو محدود کیا جائے: کم از کم ایک مخصوص غیر مرجّح صارف، اور واقعی بغیر نگرانی کے کام کے لیے ایک کنٹینر یا ایک قابلِ ضائع VPS جو ایک پروجیکٹ اور ایک محدود ٹوکن رکھتا ہو۔ اسے کسی ایسی مشین پر کبھی استعمال نہ کریں جو پروڈکشن کریڈینشلز یا ایسا ڈیٹا رکھتی ہو جسے آپ نہیں کھو سکتے۔

کیا Claude Code میں سینڈ باکس ہے؟

ہاں۔ Claude Code شیل کمانڈز کے لیے ایک بلٹ ان سینڈ باکس فراہم کرتا ہے، جسے /sandbox کمانڈ کے ساتھ کھولا جاتا ہے۔ یہ Linux پر bubblewrap اور macOS پر Seatbelt استعمال کرتا ہے، پروجیکٹ ڈائریکٹری تک لکھنے کو محدود کرتا ہے، اور نیٹ ورک تک رسائی کو ایک پراکسی کے ذریعے روٹ کرتا ہے جو صرف منظور شدہ ڈومینز کی اجازت دیتا ہے۔ اس کا آٹو-الاؤ موڈ سینڈ باکس والی کمانڈز بغیر اشارے کے چلاتا ہے، اس لیے یہ اسکپ فلیگ کی طرح رکاوٹیں کم کرتا ہے جبکہ ایک OS کی نافذ کردہ حد کو برقرار رکھتا ہے۔ یہ علیحدگی کی مکمل حد نہیں ہے، اس لیے بغیر نگرانی کے رن کے لیے اسے ایک مخصوص صارف یا مخصوص مشین کے ساتھ جوڑیں۔

اسکپ فلیگ root کے طور پر چلنے سے کیوں انکار کرتا ہے؟

کیونکہ بغیر اجازت کے اشارے کے root سسٹم پر کسی بھی فائل اور سروس کو تبدیل کر سکتا ہے، Claude Code --dangerously-skip-permissions کو بلاک کرتا ہے جب یہ Linux اور macOS پر root یا sudo کے تحت چلتا ہے۔ حل اس جانچ سے لڑنا نہیں ہے۔ ایجنٹ کے لیے ایک غیر مرجّح صارف بنائیں اور اسے وہاں چلائیں؛ وہ اکاؤنٹ حد روک تھام کی پہلی اور سستی ترین پرت ہے۔

کیا Claude Code میری SSH کلیدوں اور .env فائلوں کو پڑھ سکتا ہے؟

یہ وہ سب کچھ پڑھ سکتا ہے جو جس صارف کی حیثیت سے یہ چل رہا ہوتا ہے وہ پڑھ سکتا ہے، اور سینڈ باکس کی ڈیفالٹ پالیسی بھی کریڈینشل راستوں کو پڑھنے کی اجازت دیتی ہے جب تک آپ انہیں منع نہ کریں۔ لہذا ایجنٹ کو اپنے صارف کے طور پر چلائیں، اپنے ہوم ڈائریکٹری کو موڈ 750 یا سخت رکھیں، سینڈ باکس سیٹنگز میں کریڈینشل راستوں کو منع کریں، اور پروڈکشن رازوں کو مشین سے بالکل دور رکھیں۔ وہ راز جو باکس نے کبھی نہیں رکھا اسے پڑھا یا لیک نہیں کیا جا سکتا۔

Claude Code کو بغیر نگرانی کے چلانے کا محفوظ ترین طریقہ کیا ہے؟

ایک سستا مخصوص VPS جو صرف ایجنٹ کام کے لیے استعمال ہو: دس منٹ میں سخت کیا گیا، صاف اسنیپ شاٹ لیا گیا، Claude Code کو ایک غیر مرجّح صارف کے تحت سینڈ باکس آن کر کے چلایا گیا، ایک موڈ 600 فائل جو API کلید رکھتی ہو، ایک فی ریپوزٹری ڈپلائے کلید، اور تمام کام برانچز پر ہو جنہیں آپ مارج کرنے سے پہلے جائزہ لیتے ہیں۔ اگر کوئی رن غلط جائے، تو آپ ایک ٹوکن منسوخ کرتے ہیں اور اسنیپ شاٹ بحال کرتے ہیں، اور آپ کی ملکیت کی کوئی اور چیز متاثر نہیں ہوتی۔