يتيح إصدار Claude Code 2.1.221 الآن لمستخدمي Linux وWSL2 إخفاء ملفات بيانات الاعتماد قبل أن يتمكن أي أمر يعمل في بيئة معزولة (sandboxed command) من قراءتها. تقوم هذه الميزة بتزويد الأمر بنسخة "حارس" (sentinel copy) غير ضارة، ثم تستبدلها بالسر الحقيقي فقط عندما يمر طلب مسموح به عبر وكيل (proxy).
كيف تبدو عملية الإخفاء
- نسخة الحارس (Sentinel copy) – عندما يتم تحديد ملف للإخفاء، يقوم Claude Code بإنشاء نسخة مكررة تحتوي على سلسلة نصية مؤقتة (placeholder) بدلاً من السر الفعلي.
- التبديل عبر الوكيل (Proxy swap) – تعمل البيئة المعزولة (sandbox) خلف وكيل يقوم بإنهاء اتصال TLS. إذا أصدرت البيئة المعزولة طلباً يطابق إدخالاً في قائمة
injectHosts، يقوم الوكيل باستبدال النص المؤقت بالرمز (token) الحقيقي قبل أن يغادر الطلب الجهاز. - معالجة الأخطاء – إذا فشل التعبير النمطي (regex) الخاص بالاستخراج في العثور على سر، يمكن للبيئة المعزولة إيقاف العملية بدلاً من الاستمرار مع بقاء الملف الأصلي مكشوفاً.
يعمل هذا النهج فقط على Linux وWSL2؛ أما نظام macOS فيعتمد حالياً خيار الرفض القاطع (hard deny) بشكل افتراضي، مما يعني أن البيئة المعزولة لا يمكنها قراءة الملف على الإطلاق.
قائمة التحقق لعملية إطلاق آمنة
التحقق من الإصدار
- تأكد من أنك تشغل Claude Code الإصدار 2.1.221 أو أحدث. سلسلة الإصدار في الطرفية (terminal) هي الطريقة الوحيدة الموثوقة؛ فقد تكون ملفات قفل الحزم (package lock files) مضللة.
استخدام رموز مؤقتة (disposable tokens)
- لا تجرب أبداً باستخدام بيانات اعتماد GitHub أو السحابة الأساسية الخاصة بك. أنشئ رمزاً قصير الأمد يشير إلى نقطة نهاية "canary" غير ضارة، وقم بإلغائه فوراً إذا حدث خطأ ما.
اختر وضع الإخفاء المناسب
| الوضع | متى يُستخدم |
|---|---|
| File Deny | حظر قاطع؛ تفشل أي محاولة قراءة. |
| Whole-File Mask | الملف يحتوي على سر واحد فقط (مثل مفتاح API بنص مجرد). |
| Structured Mask | الملف يمزج الأسرار مع بيانات أخرى (JSON، YAML، .netrc). استخدم وضع extract وتعبير نمطي (regex) يلتقط السر في المجموعة 1 (group 1). هذا يحافظ على صحة البنية المحيطة للبرنامج العميل. |
ضبط قواعد صارمة للأخطاء
- اضبط
onExtractNoMatchعلى error. إذا لم يتطابق التعبير النمطي، تتوقف البيئة المعزولة. تركها على الوضع الافتراضي warn قد يسمح للملف الأصلي بالتسرب دون ملاحظته.
تفعيل إنهاء TLS
- يجب أن يقوم الوكيل بإنهاء اتصال TLS لإجراء عملية التبديل. بدون إنهاء TLS، لن يتمكن الوكيل من رؤية حمولة الطلب (request payload) ولن تتم عملية الاستبدال أبداً.
تضييق نطاق المضيف (host scope)
- قم بتعبئة
injectHostsبأسماء مضيفين صريحة منallowedDomainsالخاصة بك. تجنب استخدام الرموز العامة (wildcards) مثل*.example.com؛ فالأنماط الواسعة تزيد من سطح الهجوم وتفشل الغرض من الإخفاء.
التحقق من النتيجة
- افحص السجلات (logs)، ووسائط العمليات (process arguments)، ورسائل الخطأ بحثاً عن أي ظهور للرمز الحقيقي. يجب أن تكون نسخة الحارس (sentinel) هي القيمة الوحيدة التي تظهر في تلك الملفات الناتجة.
الحدود التي يجب أن تضعها في اعتبارك
يؤمن الإخفاء الرمز فقط من منظور نظام الملفات الخاص بالأمر المعزول. وهو لا يمنع الأمر من إجراء مكالمات شبكة عشوائية، كما أنه لا يحمي من أدوات Claude المدمجة التي قد تمتلك وصولاً متميزاً (privileged access).
الخلاصة
توفر ميزة إخفاء بيانات الاعتماد في Claude Code 2.1.221 لمطوري Linux وWSL2 طريقة عملية لإبقاء الأسرار بعيداً عن العمليات المعزولة.
