Claude Code 2.1.221 ഇപ്പോൾ Linux, WSL2 ഉപയോക്താക്കൾക്ക് ഒരു sandboxed command അവയുടെ credential ഫയലുകൾ വായിക്കുന്നതിന് മുമ്പ് അവ മാസ്ക് (mask) ചെയ്യാൻ അനുവദിക്കുന്നു. ഈ ഫീച്ചർ കമാൻഡിന് ഒരു ഹാനレス സെന്റിനൽ കോപ്പി (harmless sentinel copy) നൽകുകയും, അനുവദനീയമായ ഒരു റിക്വസ്റ്റ് ഒരു പ്രോക്സിയിലൂടെ കടന്നുപോകുമ്പോൾ മാത്രം യഥാർത്ഥ സീക്രട്ട് (secret) മാറ്റിവെക്കുകയും ചെയ്യുന്നു.
മാസ്കിംഗ് പ്രക്രിയ (masking flow) എങ്ങനെയാണ് പ്രവർത്തിക്കുന്നത്
- Sentinel copy – ഒരു ഫയൽ മാസ്കിംഗിനായി അടയാളപ്പെടുത്തുമ്പോൾ, Claude Code യഥാർത്ഥ സീക്രട്ടിന് പകരം ഒരു placeholder string അടങ്ങിയ ഒരു ഡ്യൂപ്ലിക്കേറ്റ് ഫയൽ നിർമ്മിക്കുന്നു.
- Proxy swap – sandbox ഒരു TLS-terminating proxyയ്ക്ക് പിന്നിലാണ് പ്രവർത്തിക്കുന്നത്. sandbox
injectHostsലിസ്റ്റിലെ ഒരു എൻട്രിയുമായി പൊരുത്തപ്പെടുന്ന ഒരു റിക്വസ്റ്റ് നൽകുകയാണെങ്കിൽ, റിക്വസ്റ്റ് മെഷീനിൽ നിന്ന് പുറത്തുപോകുന്നതിന് മുമ്പ് പ്രോക്സി placeholder-ന് പകരം യഥാർത്ഥ ടോക്കൺ (token) നൽകുന്നു. - Error handling – എക്സ്ട്രാക്ഷൻ regex ഉപയോഗിച്ച് ഒരു സീക്രട്ട് കണ്ടെത്താൻ കഴിഞ്ഞില്ലെങ്കിൽ, യഥാർത്ഥ ഫയൽ വെളിവാകുന്നതിന് പകരം sandbox പ്രവർത്തനം നിർത്തിവെക്കാം (abort).
ഈ രീതി Linux, WSL2 എന്നിവയിൽ മാത്രമേ പ്രവർത്തിക്കൂ; macOS നിലവിൽ 'hard deny' ആണ് ഉപയോഗിക്കുന്നത്, അതായത് sandbox-ന് ആ ഫയൽ ഒട്ടും വായിക്കാൻ കഴിയില്ല.
സുരക്ഷിതമായ റോൾഔട്ടിനായി (rollout) ശ്രദ്ധിക്കേണ്ട കാര്യങ്ങൾ
വേർഷൻ പരിശോധിക്കുക
- നിങ്ങൾ Claude Code 2.1.221 അല്ലെങ്കിൽ പുതിയ വേർഷൻ ആണോ ഉപയോഗിക്കുന്നത് എന്ന് ഉറപ്പുവരുത്തുക. ടെർമിനലിലെ വേർഷൻ സ്ട്രിംഗ് (version string) മാത്രമാണ് വിശ്വസനീയമായ മാർഗ്ഗം; പാക്കേജ് ലോക്ക് ഫയലുകൾ തെറ്റായ വിവരം നൽകിയേക്കാം.
ഡിസ്പോസബിൾ ടോക്കണുകൾ (disposable tokens) ഉപയോഗിക്കുക
- നിങ്ങളുടെ പ്രധാനപ്പെട്ട GitHub അല്ലെങ്കിൽ ക്ലൗഡ് ക്രെഡൻഷ്യലുകൾ (credentials) ഉപയോഗിച്ച് ഒരിക്കലും പരീക്ഷണങ്ങൾ നടത്തരുത്. ഒരു ഹാനレス “canary” എൻഡ്പോയിന്റിലേക്ക് (endpoint) വിരൽ ചൂണ്ടുന്ന ഒരു ഷോർട്ട്-ലിവിംഗ് ടോക്കൺ നിർമ്മിക്കുകയും, എന്തെങ്കിലും പിഴവ് സംഭവിച്ചാൽ ഉടൻ തന്നെ അത് റദ്ദാക്കുകയും ചെയ്യുക.
ശരിയായ മാസ്കിംഗ് മോഡ് തിരഞ്ഞെടുക്കുക
| മോഡ് (Mode) | എപ്പോൾ ഉപയോഗിക്കണം |
|---|---|
| File Deny | കടുത്ത നിയന്ത്രണം (Hard block); ഏതൊരു റീഡ് ശ്രമവും പരാജയപ്പെടുന്നു. |
| Whole-File Mask | ഫയലിൽ ഒരു സീക്രട്ട് മാത്രം അടങ്ങിയിട്ടുണ്ടെങ്കിൽ (ഉദാഹരണത്തിന്, ഒരു plain-text API key). |
| Structured Mask | ഫയലിൽ സീക്രട്ടുകൾ മറ്റ് ഡാറ്റയുമായി (JSON, YAML, .netrc) കലർന്നിട്ടുണ്ടെങ്കിൽ. extract മോഡും സീക്രട്ടിനെ group 1-ൽ പിടിച്ചെടുക്കുന്ന ഒരു regex-ഉം ഉപയോഗിക്കുക. ഇത് ക്ലയന്റ് പ്രോഗ്രാമിന് ചുറ്റുമുള്ള സിന്റാക്സ് (syntax) ശരിയായി നിലനിർത്താൻ സഹായിക്കുന്നു. |
കർശനമായ എറർ നിയമങ്ങൾ നിശ്ചയിക്കുക
onExtractNoMatchഎന്നത് error എന്ന് സെറ്റ് ചെയ്യുക. regex പൊരുത്തപ്പെട്ടില്ലെങ്കിൽ sandbox പ്രവർത്തനം നിർത്തും. ഇത് ഡിഫോൾട്ട് ആയി warn എന്ന് തന്നെ നിലനിർത്തിയാൽ, യഥാർത്ഥ ഫയൽ ശ്രദ്ധിക്കപ്പെടാതെ പുറത്തുവരാൻ സാധ്യതയുണ്ട്.
TLS termination പ്രവർത്തനക്ഷമമാക്കുക
- മാസ്കിംഗ് നടപ്പിലാക്കാൻ പ്രോക്സി TLS ടെർമിനേറ്റ് ചെയ്യണം. TLS termination ഇല്ലെങ്കിൽ, പ്രോക്സിക്ക് റിക്വസ്റ്റ് പേലോഡ് (payload) കാണാൻ കഴിയില്ല, അതിനാൽ മാറ്റം (substitution) നടക്കുകയുമില്ല.
ഹോസ്റ്റ് സ്കോപ്പ് (host scope) പരിമിതപ്പെടുത്തുക
- നിങ്ങളുടെ
allowedDomains-ൽ നിന്നുള്ള വ്യക്തമായ ഹോസ്റ്റ് പേരുകൾ ഉപയോഗിച്ച്injectHostsപൂരിപ്പിക്കുക.*.example.comപോലുള്ള വൈൽഡ്കാർഡുകൾ (wildcards) ഒഴിവാക്കുക; വിപുലമായ പാറ്റേണുകൾ അറ്റാക്ക് സർഫസ് (attack surface) വർദ്ധിപ്പിക്കുകയും മാസ്കിംഗിന്റെ ഉദ്ദേശ്യം ഇല്ലാതാക്കുകയും ചെയ്യും.
ഫലം പരിശോധിക്കുക
- യഥാർത്ഥ ടോക്കൺ എവിടെയെങ്കിലും പ്രത്യക്ഷപ്പെടുന്നുണ്ടോ എന്ന് പരിശോധിക്കാൻ ലോഗുകൾ (logs), പ്രോസസ്സ് ആർഗ്യുമെന്റുകൾ (process arguments), എറർ മെസ്സേജുകൾ എന്നിവ പരിശോധിക്കുക. ആ ആർട്ടെഫാക്റ്റുകളിൽ (artefacts) സെന്റിനൽ (sentinel) മാത്രമായിരിക്കണം കാണപ്പെടേണ്ട മൂല്യം.
നിങ്ങൾ ശ്രദ്ധിക്കേണ്ട പരിമിതികൾ
മാസ്കിംഗ് ടോക്കണിനെ സുരക്ഷിതമാക്കുന്നത് sandboxed കമാൻഡിന്റെ ഫയൽ സിസ്റ്റം വ്യൂവിൽ നിന്ന് മാത്രം ആണ്. ഇത് കമാൻഡിനെ ഇഷ്ടാനുസൃതമായ നെറ്റ്വർക്ക് കോളുകൾ (network calls) നടത്തുന്നതിൽ നിന്ന് തടയുന്നില്ല, കൂടാതെ പ്രിവിലേജ്ഡ് ആക്സസ് (privileged access) ഉള്ള Claude-ന്റെ ഇൻബിൽറ്റ് ടൂളുകളിൽ നിന്ന് സംരക്ഷണം നൽകുന്നതുമില്ല.
ചുരുക്കത്തിൽ
Claude Code 2.1.221-ലെ ക്രെഡൻഷ്യൽ മാസ്കിംഗ് ഫീച്ചർ, സീക്രട്ടുകൾ sandboxed പ്രോസസ്സുകളിൽ നിന്ന് അകറ്റി നിർത്താൻ Linux, WSL2 ഡെവലപ്പർമാർക്ക് പ്രായോഗികമായ ഒരു മാർഗ്ഗം നൽകുന്നു.
