Claude Code 2.1.221 अब Linux और WSL2 उपयोगकर्ताओं को किसी sandboxed command द्वारा credential files को पढ़े जाने से पहले उन्हें mask करने की सुविधा देता है। यह feature command को एक हानिरहित sentinel copy प्रदान करता है और वास्तविक secret को केवल तभी बदलता है जब एक अनुमत (allowed) request एक proxy के माध्यम से गुजरती है।

Masking flow कैसा दिखता है

  1. Sentinel copy – जब किसी file को masking के लिए चिह्नित किया जाता है, तो Claude Code एक duplicate बनाता है जिसमें वास्तविक secret के बजाय एक placeholder string होती है।
  2. Proxy swap – Sandbox एक TLS-terminating proxy के पीछे चलता है। यदि sandbox एक ऐसी request जारी करता है जो injectHosts list के किसी entry से मेल खाती है, तो request के मशीन से बाहर निकलने से पहले proxy placeholder को वास्तविक token से बदल देता है।
  3. Error handling – यदि extraction regex secret खोजने में विफल रहता है, तो sandbox मूल file को उजागर (exposed) करने के बजाय प्रक्रिया को रोक (abort) सकता है।

यह approach केवल Linux और WSL2 पर काम करता है; macOS वर्तमान में default रूप से 'hard deny' पर सेट है, जिसका अर्थ है कि sandbox file को बिल्कुल भी नहीं पढ़ सकता है।

सुरक्षित rollout के लिए checklist

Version की पुष्टि करें

  • पुष्टि करें कि आप Claude Code 2.1.221 या उससे नया version चला रहे हैं। Terminal में version string ही एकमात्र विश्वसनीय तरीका है; package lock files भ्रमित कर सकती हैं।

Disposable tokens का उपयोग करें

  • अपने प्राथमिक GitHub या cloud credentials के साथ कभी भी प्रयोग न करें। एक short-lived token बनाएँ जो एक हानिरहित “canary” endpoint की ओर संकेत करता हो और यदि कुछ गलत हो जाए तो उसे तुरंत revoke कर दें।

सही masking mode चुनें

Mode कब उपयोग करें
File Deny Hard block; कोई भी read attempt विफल हो जाता है।
Whole-File Mask File में एक ही secret होता है (जैसे, एक plain-text API key)।
Structured Mask File में secrets अन्य डेटा (JSON, YAML, .netrc) के साथ मिश्रित होते हैं। extract mode और एक regex का उपयोग करें जो secret को group 1 में capture करता हो। यह client program के लिए आस-पास के syntax को valid रखता है।

सख्त error rules सेट करें

  • onExtractNoMatch को error पर सेट करें। यदि regex मेल नहीं खाता है, तो sandbox रुक जाता है। इसे default warn पर छोड़ने से मूल file बिना किसी सूचना के लीक हो सकती है।

TLS termination सक्षम करें

  • Swap करने के लिए proxy को TLS terminate करना चाहिए। TLS termination के बिना, proxy request payload को नहीं देख सकता और substitution कभी नहीं होता है।

Host scope को सीमित करें

  • injectHosts को अपने allowedDomains से स्पष्ट hostnames के साथ भरें। *.example.com जैसे wildcards से बचें; व्यापक patterns attack surface को बढ़ा देते हैं और masking के उद्देश्य को विफल कर देते हैं।

परिणाम की पुष्टि करें

  • वास्तविक token के किसी भी रूप के लिए logs, process arguments, और error messages को स्कैन करें। उन artefacts में sentinel ही एकमात्र value होनी चाहिए जो सामने आए।

सीमाएँ जिन्हें आपको ध्यान में रखना चाहिए

Masking token को केवल sandboxed command के file-system view से सुरक्षित करती है। यह command को मनमाने (arbitrary) network calls करने से नहीं रोकती है, और न ही यह Claude के उन built-in tools से सुरक्षा प्रदान करती है जिनके पास privileged access हो सकता है।

निष्कर्ष

Claude Code 2.1.221 का credential-masking feature Linux और WSL2 developers को sandboxed processes से secrets को दूर रखने का एक व्यावहारिक तरीका प्रदान करता है।