Claude Code இப்போது அழிவுகரமான Git கட்டளைகளைத் தடுக்கிறது
Claude Code சமீபத்தில் ஒரு புதிய பாதுகாப்பு அம்சத்தைச் சேர்த்துள்ளது. இது இப்போது auto mode-இல் அழிவுகரமான git கட்டளைகளைத் தடுக்கிறது.
சில மாதங்களுக்கு முன்பு, ஒரு AI agent எனது வேலையைத் கிட்டத்தட்ட அழித்துவிட்டது. பழைய code-ஐப் பார்க்குமாறு நான் அதனிடம் கேட்டேன். அது git reset --hard என்ற கட்டளையை இயக்கினது. இந்த கட்டளை நான் இன்னும் commit செய்யாத அனைத்து மாற்றங்களையும் அழித்துவிட்டது. ஒரு நாள் முழுமையான வேலையை நான் இழந்தேன்.
அன்றிலிருந்து, எனது settings-இல் நான் கைமுறையாக deny rules-களைச் சேர்த்தேன். git reset அல்லது git clean போன்ற கட்டளைகள் எனது நேரடி அனுமதியின்றி இயங்குவதைத் தடுக்க விரும்பினேன்.
இப்போது, Claude Code இதைத் தானாகவே செய்கிறது. உங்கள் நோக்கத்தைக் (intent) கணிக்க இது ஒரு safety classifier-ஐப் பயன்படுத்துகிறது. நீங்கள் வேலையைத் தூக்கி எறியச் சொல்லவில்லை என்று அது கருதினால், அந்த கட்டளையைத் தடுத்து நிறுத்தும்.
முதலில், எனது கைமுறை விதிகளை (manual rules) நீக்கிவிடலாமா என்று நினைத்தேன். கருவி (tool) உங்களுக்காகச் செய்யும்போது, ஏன் கூடுதல் வேலை செய்ய வேண்டும்? பின்னர் அவற்றை ஏன் நான் வைத்திருக்க வேண்டும் என்பதை உணர்ந்தேன்.
இந்த புதிய பாதுகாப்பு அம்சம் ஒரு அனுமானம் (inference) மட்டுமே. நீங்கள் என்ன விரும்புகிறீர்கள் என்பதைக் கணிக்க முயற்சிக்கும் ஒரு மாதிரி (model) இதுவாகும். மாதிரிகள் தவறுகளைச் செய்யலாம். அந்த மாதிரி கிடைக்கவில்லை என்றால், அமைப்பு தோல்வியடையலாம் அல்லது உங்களை தவறாகத் தீர்மானிக்கலாம்.
எனது கைமுறை விதிகள் வேறுபட்டவை. அவை தீர்மானிக்கப்பட்டவை (deterministic). ஒரு விதி யூகிக்காது. அது கட்டளையுடன் ஒத்துப்போகலாம் அல்லது இல்லாமலும் போகலாம். அது நோக்கத்தின் அடிப்படையில் மாறாத ஒரு உறுதியான எல்லையாகும்.
நான் இப்போது மூன்று அடுக்கு பாதுகாப்பைப் பயன்படுத்துகிறேன்:
• நோக்கத்திற்கான classifier. இது உங்கள் இலக்குகளைப் புரிந்துகொள்கிறது. • உறுதிக்கான எனது deny rules. அவை குறிப்பிட்ட கட்டளைகளுக்கு ஒரு உறுதியான தடையை வழங்குகின்றன. • கட்டுப்பாட்டிற்கான sandbox. இது agent-ஐ உங்கள் project folder-க்குள் வைத்திருக்கிறது.
புதிய default அம்சம் சிறப்பானது, ஆனால் அது அனைத்தையும் உள்ளடக்கியது அல்ல. அது rm -rf கட்டளையைத் தடுப்பதில்லை. தரவுத்தளத்தை (database) அழிப்பதையோ அல்லது உங்கள் main branch-க்கு force-push செய்வதையோ தடுப்பதில்லை.
ஒரு கருவி புதிய default அம்சத்தைச் சேர்த்ததாலேயே உங்கள் தனிப்பயனாக்கப்பட்ட (custom) பாதுகாப்பு விதிகளை நீக்கிவிடாதீர்கள். புதிய default அம்சத்தை உங்கள் அமைப்பை (setup) ஆய்வு செய்ய ஒரு காரணமாகப் பயன்படுத்துங்கள். உங்கள் விதிகளை ஒரு backup ஆக வைத்திருங்கள் மற்றும் கருவி கவனிக்கத் தவறிய இடைவெளிகளைப் பாதுகாக்க உங்கள் கூடுதல் நேரத்தைப் பயன்படுத்துங்கள்.
'Defense in depth' என்பது அடுக்குகளை ஒன்றன் மேல் ஒன்றாக அடுக்கி வைப்பதாகும். ஒரு பிழைக்கு ஒரே ஒரு சரிபார்ப்புக்குப் பதிலாக, மூன்று வெவ்வேறு சரிபார்ப்புகள் மறுக்கும் அமைப்பே பாதுகாப்பானது.
Source: https://code.claude.com/docs/en/changelog
Optional learning community: https://t.me/GyaanSetuAi
