Claude Code ఇప్పుడు వినాశకరమైన Git కమాండ్లను నిరోధిస్తుంది

Claude Code ఇటీవల ఒక కొత్త భద్రతా ఫీచర్‌ను జోడించింది. ఇది ఇప్పుడు ఆటో మోడ్‌లో వినాశకరమైన git కమాండ్లను నిరోధిస్తుంది.

కొన్ని నెలల క్రితం, ఒక AI ఏజెంట్ నా పనిని దాదాపు తుడిచిపెట్టేసింది. పాత కోడ్‌ను చూడమని నేను దానికి అడిగాను. అది git reset --hard రన్ చేసింది. ఈ కమాండ్ నా అన్-కమిటెడ్ (uncommitted) మార్పులన్నింటినీ తుడిచివేసింది. నేను ఒక రోజంతా చేసిన పనిని కోల్పోయాను.

అప్పటి నుండి, నేను నా సెట్టింగ్స్‌లో మాన్యువల్‌గా 'deny rules'ను జోడించాను. నా ప్రత్యక్ష అనుమతి లేకుండా git reset లేదా git clean వంటి కమాండ్లు రన్ కాకుండా నేను ఆపాలనుకున్నాను.

ఇప్పుడు, Claude Code దీనిని ఆటోమేటిక్‌గా చేస్తుంది. ఇది మీ ఉద్దేశాన్ని (intent) అంచనా వేయడానికి ఒక 'safety classifier'ను ఉపయోగిస్తుంది. మీరు మీ పనిని పారేయాలని కోరలేదని అది భావిస్తే, అది ఆ కమాండ్‌ను నిలిపివేస్తుంది.

మొదట, నేను నా మాన్యువల్ రూల్స్‌ను తొలగించాలని అనుకున్నాను. టూల్ స్వయంగా చేస్తున్నప్పుడు నేను ఎందుకు అదనపు పని చేయాలి? కానీ, వాటిని ఎందుకు ఉంచుకోవాలో నాకు అర్థమైంది.

ఈ కొత్త భద్రతా ఫీచర్ ఒక ఇన్ఫరెన్స్ (inference). ఇది మీరు ఏమి కోరుకుంటున్నారో అంచనా వేయడానికి ప్రయత్నించే ఒక మోడల్. మోడల్స్ తప్పులు చేయవచ్చు. ఒకవేళ మోడల్ అందుబాటులో లేకపోతే, సిస్టమ్ విఫలం కావచ్చు లేదా మిమ్మల్ని తప్పుగా అర్థం చేసుకోవచ్చు.

నా మాన్యువల్ రూల్స్ భిన్నమైనవి. అవి డిటర్మినిస్టిక్ (deterministic). ఒక రూల్ అంచనా వేయదు. అది కమాండ్‌కు సరిపోవచ్చు లేదా సరిపోకపోవచ్చు. అది ఉద్దేశం (intent) ఆధారంగా ఎప్పటికీ మారని ఒక కచ్చితమైన నియమం.

నేను ఇప్పుడు మూడు రకాల రక్షణ పొరలను (layers of defense) ఉపయోగిస్తున్నాను:

• ఉద్దేశం కోసం క్లాసిఫైయర్ (classifier). ఇది మీ లక్ష్యాలను అర్థం చేసుకుంటుంది. • ఖచ్చితత్వం కోసం నా 'deny rules'. ఇవి నిర్దిష్ట కమాండ్ల కోసం ఒక బలమైన రక్షణను అందిస్తాయి. • నియంత్రణ కోసం శాండ్‌బాక్స్ (sandbox). ఇది ఏజెంట్‌ను మీ ప్రాజెక్ట్ ఫోల్డర్ లోపలే ఉంచుతుంది.

కొత్త డిఫాల్ట్ సెట్టింగ్ బాగుంది, కానీ అది అన్నింటినీ కవర్ చేయదు. ఇది rm -rfను ఆపదు. ఇది డేటాబేస్ వైప్‌ను (database wipe) ఆపదు. ఇది మీ మెయిన్ బ్రాంచ్‌కు 'force-push' చేయడాన్ని ఆపదు.

ఒక టూల్ కొత్త డిఫాల్ట్‌ను జోడించినంత మాత్రాన మీ కస్టమ్ సేఫ్టీ రూల్స్‌ను తొలగించకండి. కొత్త డిఫాల్ట్‌ను మీ సెటప్‌ను ఆడిట్ (audit) చేయడానికి ఒక కారణంగా ఉపయోగించండి. మీ రూల్స్‌ను బ్యాకప్‌గా ఉంచుకోండి మరియు టూల్ మిస్ అయిన లోపాలను పూరించడానికి మీ అదనపు సమయాన్ని ఉపయోగించండి.

'Defense in depth' అంటే పొరలను ఒకదానిపై ఒకటి అమర్చడం. ఒకే ఒక తనిఖీ కంటే, మూడు వేర్వేరు తనిఖీలు తప్పును నిరోధించే వ్యవస్థే అత్యంత సురక్షితమైనది.

Source: https://code.claude.com/docs/en/changelog

Optional learning community: https://t.me/GyaanSetuAi