ఒక సాండ్‌బాక్స్ (sandbox) అనేది ఏజెంట్‌ను నిజంగా దాని పరిధిలోనే ఉంచగలిగితేనే ఉపయోగకరంగా ఉంటుంది. Claude Code 2.1.216, బ్యాక్‌గ్రౌండ్ టాస్క్, సబ్-ఏజెంట్ లేదా పునఃప్రారంభించిన సెషన్ (resumed session) తనకు కేటాయించిన డైరెక్టరీ వెలుపలికి వెళ్లకుండా అడ్డుకునేలా పలు లోపాలను సరిదిద్దింది. ఈ విడుదల ఒక కొత్త కాన్ఫిగరేషన్ స్విచ్‌ను పరిచయం చేస్తోంది, కానీ అంతకంటే ముఖ్యమైన పని అంతర్గతంగా జరిగింది: Git worktrees, symlinks మరియు ఏజెంట్ రీస్టార్ట్‌లను మరింత తెలివిగా హ్యాండిల్ చేయడం. మీరు Claude Codeని లోకల్‌గా లేదా CIలో ఉపయోగిస్తుంటే, ఈ మార్పులను కేవలం చకచకా చదివేయకుండా లోతుగా పరిశీలించడం అవసరం.

మీరు తేలికగా తీసుకోవకూడని Filesystem Toggle

వెర్షన్ 2.1.216 sandbox.filesystem.disabledని జోడిస్తుంది. దీనిని సెట్ చేసినప్పుడు, Claude Code నెట్‌వర్క్ సాండ్‌బాక్స్‌ను అమలు చేస్తూనే, తన స్వంత ఫైల్‌సిస్టమ్ ఐసోలేషన్‌ను (filesystem isolation) వదిలివేస్తుంది. మొదటి చూపులో, ఇది పర్మిషన్ ఎర్రర్లను ఆపడానికి లేదా ఫైల్ ఆపరేషన్లను వేగవంతం చేయడానికి ఒక మార్గంగా అనిపించవచ్చు. కానీ అది కాదు. మీ డిస్క్‌ను ఇప్పటికే మరొక లేయర్ రక్షిస్తున్నట్లయితే మాత్రమే మీరు ఈ సెట్టింగ్‌ను ఎనేబుల్ చేయాలి.

అంటే ప్రతి రన్ తర్వాత డిలీట్ చేయబడే డిస్పోజబుల్ కంటైనర్ (disposable container), లేదా మీ హోమ్ డైరెక్టరీకి లేదా ప్రొడక్షన్ వాల్యూమ్స్‌కు యాక్సెస్ లేని ప్రత్యేక వర్చువల్ మెషిన్ (virtual machine) అని అర్థం. మీరు macOS, Windows లేదా బేర్ Linux హోస్ట్‌పై నేరుగా Claude Codeని ఉపయోగిస్తుంటే, ఫైల్‌సిస్టమ్ ఐసోలేషన్‌ను ఆన్ లోనే ఉంచండి. నెట్‌వర్క్ సాండ్‌బాక్స్ అనేది ఫైల్‌సిస్టమ్ నియంత్రణలకు ప్రత్యామ్నాయం కాదు. ప్రాజెక్ట్ ఫోల్డర్ నుండి బయటకు వచ్చే ప్రమాదకరమైన ప్రాంప్ట్ ఇంజెక్షన్ (prompt injection) లేదా పొరపాటున ఫైల్‌ను ఓవర్‌రైట్ చేయడం వల్ల కలిగే నష్టం కంటే, సాండ్‌బాక్స్డ్ ఫైల్ యాక్సెస్ వల్ల కలిగే స్వల్ప ఇబ్బంది చాలా తక్కువ.

ఈ టోగుల్‌ను పెర్ఫార్మెన్స్ పెంచే సాధనంగా కాకుండా, ఒక కాంపాటబిలిటీ షిమ్ (compatibility shim)గా భావించండి. ఆపరేటింగ్ సిస్టమ్ లేదా ఆర్కెస్ట్రేటర్ ఇప్పటికే ఐసోలేషన్‌ను నిర్వహిస్తున్నప్పుడు మరియు Claude యొక్క స్వంత సాండ్‌బాక్స్ అనవసరమైన సంక్లిష్టతను జోడిస్తున్నప్పుడు మాత్రమే ఇది ఉపయోగపడుతుంది.

ఈ అప్‌డేట్ నిజంగా దేనిని సరిదిద్దుతుంది

కొత్త సెట్టింగ్‌తో పాటు, 2.1.216 ఏజెంట్ వెళ్లకూడని చోటుకు వెళ్లకుండా అడ్డుకునే పలు ఆచరణాత్మక లోపాలను (practical holes) మూసివేస్తుంది.

Worktree isolation. సబ్-ఏజెంట్లు ఇకపై Git కమాండ్‌లను తమ స్వంత worktree వెలుపల ఉన్న పేరెంట్ లేదా సిబ్లింగ్ డైరెక్టరీకి రీడైరెక్ట్ చేయలేరు. గతంలో, మీ ప్రాజెక్ట్ లోపల నడుస్తున్న సబ్-ఏజెంట్, Git ఆపరేషన్లను మీ షేర్డ్ చెకౌట్ లేదా పక్కనే ఉన్న రిపోజిటరీలకు మళ్లించే అవకాశం ఉండేది. చాలా మంది డెవలపర్లు బహుళ ప్రాజెక్ట్‌లను ఒకే పేరెంట్ ఫోల్డర్ కింద ఉంచుతారు కాబట్టి ఇది చాలా ముఖ్యం. ఇప్పుడు ఆ బౌండరీలను దాటే కమాండ్‌లు విఫలమవుతాయి.

.claude పాత్ వద్ద Symlink hardening. వర్క్‌ఫ్లో నిర్వచనాలు (workflow definitions) మరియు షెడ్యూల్ చేయబడిన టాస్క్‌లు కాన్ఫిగరేషన్‌ను రాసేటప్పుడు symlinksని అనుసరించేవి. .claude నుండి మీ షెల్ ప్రొఫైల్ లేదా SSH డైరెక్టరీకి ఒక symlinkని సృష్టించగలిగే అటాకర్, ఏజెంట్‌ను ప్రాజెక్ట్ వెలుపల ఫైల్‌లను రాసేలా చేయవచ్చు. ఈ అప్‌డేట్ ఆ పాత్ వద్ద symlinksని అనుసరించడాన్ని నిరాకరించడం ద్వారా దీనిని అడ్డుకుంటుంది.

Safer rewinds. ఇటీవలి మార్పులను వెనక్కి తీసుకురావడానికి (roll back) ఉపయోగించే /rewind కమాండ్, ఇప్పుడు symlinked మరియు hard-linked పాత్‌లను స్కిప్ చేస్తుంది. ఈ రక్షణ లేకపోతే, rewind ఆపరేషన్ ఒక symlinkని అనుసరించి మీ రిపోజిటరీకి చాలా దూరంలో ఉన్న ఫైల్‌ను ఓవర్‌రైట్ చేసే అవకాశం ఉంది. బౌండరీ సరిగ్గా పనిచేసిందని మీకు తెలియజేయడానికి, Claude ఇప్పుడు ఆ స్కిప్ చేసిన పాత్‌లను స్పష్టంగా రిపోర్ట్ చేస్తుంది.

Resumed agents తమ పరిమితులను కొనసాగిస్తాయి. ఆపివేసి, తర్వాత మళ్ళీ ప్రారంభించిన బ్యాక్‌గ్రౌండ్ సెషన్లు పాత పద్ధతిలో డిఫాల్ట్ టూల్ పర్మిషన్లకు మారుతూ ఉండేవి. మీరు ఏజెంట్‌కు కేవలం చదవడానికి మాత్రమే అనుమతి ఇచ్చి, రాయడానికి (write) నిరోధించి ఉంటే, రీస్టార్ట్ చేసినప్పుడు అది మళ్ళీ పూర్తి యాక్సెస్‌ను ఇచ్చేసే ప్రమాదం ఉండేది. ఇప్పుడు అసలు పరిమితులు సెషన్‌తో పాటే భద్రపరచబడతాయి మరియు పునరుద్ధరించబడతాయి.

సెక్యూరిటీ ప్రొఫైల్‌ను ఎంచుకోవడం

Claude Code 2.1.216 ఈ నియంత్రణలను మూడు ప్రొఫైల్‌లుగా విభజించింది. మీరు టూల్‌ను ఎక్కడ ఉపయోగిస్తున్నారు అనే దాని ఆధారంగా వీటిని ఎంచుకోండి, ఏది వేగంగా ఉంటుందో దాని ఆధారంగా కాదు.

Default. ఫైల్‌సిస్టమ్ మరియు నెట్‌వర్క్ సాండ్‌బాసింగ్ రెండూ యాక్టివ్‌గా ఉంటాయి. మీ ల్యాప్‌టాప్ లేదా వర్క్‌స్టేషన్‌పై లోకల్ డెవలప్‌మెంట్ కోసం ఇది సరైన ఎంపిక. ఇది కంటైనర్‌లను నిర్వహించాల్సిన అవసరం లేకుండానే మీ హోమ్ డైరెక్టరీ, సిస్టమ్ ఫైల్‌లు మరియు పక్కనే ఉన్న ప్రాజెక్ట్‌లను రక్షిస్తుంది.

Compatibility. ఫైల్‌సిస్టమ్ ఐసోలేషన్ ఆఫ్ చేయబడుతుంది, కానీ నెట్‌వర్క్ సాండ్‌బాక్స్ అలాగే ఉంటుంది. ఫైల్‌సిస్టమ్ ఇప్పటికే తాత్కాలికమైనది (ephemeral) లేదా కచ్చితమైన పరిధిలో ఉన్న డిస్పోజబుల్ కంటైనర్‌లు లేదా VMల కోసం మాత్రమే ఈ ప్రొఫైల్‌ను ఉపయోగించండి. ఏజెంట్‌కు ప్రొటెక్టెడ్ ఫోల్డర్‌ను యాక్సెస్ చేయడానికి పాస్‌వర్డ్‌లు టైప్ చేయడం వల్ల కలిగే విసుగు వల్ల దీనిని వాడకండి.

Managed Hard Gate. రెండు సాండ్‌బాక్స్ లేయర్‌లు ఆన్ లోనే ఉంటాయి మరియు ఈ ప్రొఫైల్ మీ ఆర్కెస్ట్రేటర్ లేదా సెక్యూరిటీ టీమ్ ద్వారా అమలు చేయబడే అదనపు కంటైనర్ పాలసీలను ఆశిస్తుంది. ఇది CI పైప్‌లైన్‌లు, రిమోట్ డెవ్ ఎన్విరాన్‌మెంట్‌లు మరియు డిఫెన్స్ ఇన్ డెప్త్ (defense in depth) తప్పనిసరిగా ఉండాల్సిన ఎంటర్‌ప్రైజ్ సెటప్‌ల కోసం రూపొందించబడింది.

మీకు ఏది సరిపోతుందో తెలియకపోతే, Defaultతో ప్రారంభించండి. మీ రన్‌టైమ్ ఎన్విరాన్‌మెంట్ నిజంగా ఫైల్‌సిస్టమ్‌ను స్వయంగా ఐసోలేట్ చేస్తోందని మీరు ధృవీకరించిన తర్వాత మాత్రమే రక్షణను తగ్గించుకోవచ్చు.

మీ వర్క్‌ఫ్లోను దెబ్బతీయకుండా అప్‌గ్రేడ్ చేయడం

దీనిని శుక్రవారం మధ్యాహ్నం మీరు ఇన్‌స్టాల్ చేసే సాధారణ ప్యాచ్‌లా భావించకండి. 2.1.216 లో అప్‌గ్రేడ్ మార్గం సరళంగా ఉంటుంది, కానీ తప్పుగా కాన్ఫిగర్ చేస్తే వచ్చే పరిణామాలు అంత సులభం కాదు.

మొదట, మీ సాధారణ ప్యాకేజీ మేనేజర్ లేదా ఇన్‌స్టాలర్ ద్వారా 2.1.216 కి అప్‌గ్రేడ్ చేయండి. ఆ తర్వాత, ఏవైనా ఏజెంట్ టాస్క్‌లను ప్రారంభించే ముందు మూడు ఐసోలేషన్ ప్రొఫైల్స్‌లో (isolation profiles) ఒకదాన్ని ఎంచుకోండి. ఏ ప్రొఫైల్‌కు ప్రాధాన్యత ఉంటుందో అర్థం చేసుకోకుండా, రన్ అవుతున్న సెషన్ల మధ్య ప్రొఫైల్స్‌ను కలపకండి.

తర్వాత, క్రింద వివరించిన ఐదు నాన్-డిస్ట్రక్టివ్ బౌండరీ టెస్ట్‌లను (non-destructive boundary tests) రన్ చేయండి. ఇవి శాండ్‌బాక్స్ (sandbox) ప్రొఫైల్ వాగ్దానం చేసినట్లుగా పనిచేస్తుందో లేదో నిరూపించే వేగవంతమైన, స్క్రిప్టెడ్ తనిఖీలు. టెస్టింగ్ సమయంలో, మీ డిస్పోజబుల్ టెస్ట్ రిపోజిటరీ వెలుపల ఉన్న ఫైల్‌ల కోసం సెంటినెల్ హాష్‌లను (sentinel hashes) రూపొందించండి. సెంటినెల్ హాష్ అంటే మీరు రక్షించాలనుకుంటున్న ఒక సెన్సిటివ్ ఫైల్ లేదా డైరెక్టరీ యొక్క చెక్‌సమ్ (checksum) మాత్రమే. టెస్ట్‌లను రన్ చేసిన తర్వాత, హాష్‌లను పోల్చి చూడండి. ఏదైనా మారితే, మీ ఐసోలేషన్ సరిగ్గా లేదని (leaking) అర్థం.

మీ లాగ్‌లను (logs) కూడా పోల్చి చూడండి. Claude Code తన లోకల్ లాగ్‌లలో డినైయల్స్ (denials) మరియు శాండ్‌బాక్స్ ఈవెంట్‌లను రాస్తుంది. బ్లాక్ చేయబడిన హోస్ట్‌ను చేరుకోవడానికి ప్రయత్నించినప్పుడు లేదా సబ్ ఏజెంట్ (subagent) తన వర్క్‌ట్రీ (worktree) నుండి బయటకు వెళ్ళినప్పుడు స్పష్టమైన రిజెక్షన్ల కోసం వెతకండి. సైలెంట్ ఫెయిల్యూర్స్ (silent failures) కంటే ఎర్రర్స్ స్పష్టంగా కనిపించడం మేలు, కాబట్టి గార్డ్‌రైల్స్ (guardrails) పని చేస్తున్నాయని లాగ్‌ల ద్వారా నిర్ధారించుకోండి.

చివరగా, ఈ మార్పును క్రమంగా అమలు చేయండి. ఒకే ప్రాజెక్ట్ లేదా నాన్-ప్రొడక్షన్ బ్రాంచ్‌తో ప్రారంభించండి. మీ మొత్తం టీమ్ లేదా CI ఫ్లీట్‌కు (CI fleet) విస్తరించడానికి ముందు కొత్త వెర్షన్‌ను ఒక రోజు లేదా రెండు రోజులు రన్ చేయనివ్వండి.

మీ శాండ్‌బాక్స్ పనిచేస్తుందని నిరూపించే ఐదు బౌండరీ టెస్ట్‌లు

ఈ టెస్ట్‌లను ఎల్లప్పుడూ నకిలీ డేటాతో నిండిన ఒక డిస్పోజబుల్ రిపోజిటరీలో మాత్రమే రన్ చేయండి. వీటిని ఎప్పుడూ ప్రొడక్షన్ కోడ్, రియల్ క్రెడెన్షియల్స్ లేదా లైవ్ ఇన్‌ఫ్రాస్ట్రక్చర్‌కు ఉపయోగించకండి.

నెట్‌వర్క్ బౌండరీ (Network boundary). రెండు ఎండ్‌పాయింట్‌లను చేరుకోవడానికి ప్రయత్నించండి: ఒకటి మీరు స్పష్టంగా అనుమతించినది మరియు మరొకటి మీరు బ్లాక్ చేసినది. httpbin.org వంటి పబ్లిక్ టెస్ట్ సర్వీస్‌కు చేసే సాధారణ HTTP రిక్వెస్ట్ అనుమతించబడిన టార్గెట్‌గా పనిచేస్తుంది, అయితే లోకల్ మెటాడేటా ఎండ్‌పాయింట్ లేదా ఇంటర్నల్ IPకి చేసే రిక్వెస్ట్ విఫలం కావాలి. ఒకవేళ బ్లాక్ చేయబడిన రిక్వెస్ట్ విజయవంతమైతే, మీ నెట్‌వర్క్ శాండ్‌బాక్స్ తప్పుగా కాన్ఫిగర్ చేయబడింది.

వర్క్‌ట్రీ ఐసోలేషన్ (Worktree isolation). ఒక సబ్ ఏజెంట్ నుండి, పేరెంట్ డైరెక్టరీని లక్ష్యంగా చేసుకుని ఒక Git కమాండ్‌ను రన్ చేయండి. ఉదాహరణకు, git -C .. status ప్రయత్నించండి లేదా ఏజెంట్‌ను దాని చెక్‌అవుట్ వెలుపల ఉన్న ఫైల్‌లను వివరించమని చెప్పండి. 2.1.216 లోని ఫిక్స్‌తో, ఇది తప్పనిసరిగా విఫలం కావాలి. సబ్ ఏజెంట్ కేవలం తన స్వంత వర్క్‌ట్రీని మాత్రమే చూడగలగాలి.

సిమ్‌లింక్ ట్రాప్ (Symlink trap). మీ ప్రాజెక్ట్ లోపల రిపోజిటరీ వెలుపల ఉన్న డైరెక్టరీకి పాయింట్ చేసే ఒక సిమ్‌లింక్‌ను (symlink) సృష్టించండి, ఉదాహరణకు /tmp/sentinel-target. ఆ తర్వాత, ఆ లింక్ ద్వారా డేటాను రాసేలా .claude పాత్ కింద ఒక టాస్క్ లేదా వర్క్‌ఫ్లోను సేవ్ చేయడానికి ప్రయత్నించండి. సేవ్ చేసిన తర్వాత, బయట ఉన్న డైరెక్టరీని తనిఖీ చేయండి. అది ఇంకా ఖాళీగా ఉంటే, సిమ్‌లింక్ హార్డెనింగ్ (symlink hardening) సరిగ్గా పనిచేస్తున్నట్లు లెక్క.

రివైండ్ స్కిప్ (Rewind skip). సిస్టమ్ ఫైల్ లేదా మరొక డైరెక్టరీకి సిమ్‌లింక్‌ను కలిగి ఉన్న ఫోల్డర్‌ను మీ రిపోలో సెటప్ చేయండి. ఆ ఫోల్డర్‌పై /rewind రన్ చేయండి. Claude వాటిని అనుసరించడానికి బదులుగా, స్కిప్ చేయబడిన సిమ్‌లింక్డ్ లేదా హార్డ్-లింక్డ్ పాత్‌లను జాబితా చేయాలి. రిపో వెలుపల ఉన్న టార్గెట్ ఏమాత్రం ప్రభావితం కాలేదని నిర్ధారించుకోండి.

సెషన్ రెజురేక్షన్ (Session resurrection). ఫైల్-రైట్ టూల్స్‌ను డిసేబుల్ చేయడం వంటి కఠినమైన పరిమితితో ఒక బ్యాక్‌గ్రౌండ్ ఏజెంట్‌ను ప్రారంభించండి. సెషన్‌ను పాజ్ చేయండి లేదా ఆపండి, ఆపై దానిని తిరిగి ప్రారంభించండి (resume). వెంటనే ఏజెంట్‌తో ఒక ఫైల్‌ను రాయించడానికి ప్రయత్నించండి. పరిమితి ఇంకా అమలులో ఉంటే, రీజ్యూమ్ చేయబడిన ఏజెంట్‌ల కోసం చేసిన ఫిక్స్ పనిచేస్తున్నట్లు అర్థం. ఒకవేళ ఏజెంట్‌కు అకస్మాత్తుగా మళ్ళీ పూర్తి టూల్ యాక్సెస్ లభిస్తే, మీరు ఇంకా రిస్క్‌లో ఉన్నారని అర్థం.

ముగింపు

Claude Code 2.1.216 మునుపటి వెర్షన్ల కంటే మీకు ఎక్కువ ఫ్లెక్సిబిలిటీని ఇస్తుంది, కానీ ఆ ఫ్లెక్సిబిలిటీతో పాటు ఒక స్పష్టమైన ఆదేశం కూడా వస్తుంది: నమ్మే ముందు నిర్ధారించుకోండి. కొత్త ఫైల్‌సిస్టమ్ టోగుల్ (filesystem toggle) భద్రతను పణంగా పెట్టి మీ జీవితాన్ని సులభతరం చేయడానికి లేదు. ఇది ఇప్పటికే టూల్ కింద ఒక దృఢమైన పునాదిని నిర్మించిన ఇంజనీర్ల కోసం ఉద్దేశించబడింది. ఈ రిలీజ్‌లో నిజమైన మెరుగుదలలు ఏమిటంటే—సబ్ ఏజెంట్‌లు పేరెంట్ డైరెక్టరీలలోకి చొరబడకుండా ఆపే సైలెంట్ గార్డ్‌రైల్స్, కాన్ఫిగరేషన్ రైటింగ్ సమయంలో సిమ్‌లింక్‌లను అనుసరించడానికి నిరాకరించేవి, మరియు సుదీర్ఘ విరామం తర్వాత కూడా నియమాలను గుర్తుంచుకునేవి.

ఆ ఐదు టెస్ట్‌లను రన్ చేయండి. మీ సెంటినెల్ హాష్‌లను తనిఖీ చేయండి. లాగ్‌లను చదవండి. ఆ తర్వాతే, కొత్త వెర్షన్‌ను నిజమైన పనుల కోసం ఉపయోగించండి.

మూలం: Claude Code v2.1.216 Release Notes

ఐచ్ఛిక లెర్నింగ్ కమ్యూనిటీ: GyaanSetu on Telegram