أمان Claude Code: تثبيت التبعيات بإذن شبكي مؤقت
يشرح هذا الدليل كيف يحصر أمان Claude Code وصول تثبيت التبعيات إلى الشبكة في أمر واحد، ثم يغلق مسار السجل قبل مرحلتي البناء والاختبار اللاحقتين.

لم يعد تثبيت تبعية واحدة يفرض توسيع حدود الشبكة لبقية مهمة Claude Code. ففي 14 سبتمبر 2026، أضاف Claude Code 2.1.271 وصولًا شبكيًا خاصًا بكل أمر إلى الوضع التلقائي داخل بيئة العزل. وبذلك أصبح أمان Claude Code أدق: يُفتح مضيف السجل المصرّح به للتثبيت، ثم يُغلق مجددًا عند انتهاء ذلك الأمر.
ما الذي تغيّر فعليًا في أمان Claude Code؟
تعمل هنا طبقتان مختلفتان من الحماية في Claude Code، ولا تتضح قيمة التغيير إلا عند الفصل بينهما.
الوضع التلقائي يقرر ما إذا كان استدعاء الأداة مسموحًا له بالعمل. إذ يراجع مصنّف مستقل الإجراء في ضوء طلبك. ويشرح الدليل السابق للوضع التلقائي في Claude Code نموذج الأذونات العام هذا.
بيئة العزل تحدد ما يستطيع أمر shell الوصول إليه أثناء تشغيله. فهي تقيّد الكتابة إلى الملفات، وتمرّر حركة مرور الشبكة عبر وكيل يتحقق من المضيف المقصود.
يربط الإصدار 2.1.271 بين هاتين الطبقتين بصورة أوثق. بات استدعاء Bash أو PowerShell أو Monitor قادرًا على حمل قائمة allowed_domains في الوضع التلقائي المعزول. يراجع Claude Code الأمر وقائمة المضيفات المطلوبة معًا؛ فيُتاح الوصول إلى تلك المضيفات لذلك الأمر وحده، وترفض بيئة العزل أي مضيف آخر. ويوضح سجل الإصدار هذا النطاق صراحةً.
هذا الحقل المكتوب بصيغة snake_case ليس هو الإعداد sandbox.network.allowedDomains في settings.json.
قبل هذا الإصدار، كان السماح بمضيف جديد داخل بيئة العزل قد ينشئ إذنًا أوسع من المطلوب. فالموافقة اليدوية تبقى حتى نهاية الجلسة الحالية، ويمكن أن تمتد الموافقة المحفوظة إلى جلسات لاحقة. كما يستطيع الوضع التلقائي الاحتفاظ مؤقتًا بقراره بشأن مضيف ومنفذ. أما الحقل الجديد فيغيّر نطاق الوصول وقت التشغيل حتى عند إعادة استخدام قرار المصنّف: فتح الشبكة يخص الأمر الجاري فقط.
يقتصر الأثر على التركيبة التي يسميها سجل الإصدار: الوضع التلقائي، وبيئة العزل، واستدعاءات Bash أو PowerShell أو Monitor. ولا تستفيد من هذا الحد الجديد الجلسات اليدوية، أو الأوامر غير المعزولة، أو أدوات الملفات المدمجة، أو المهام التي لا تستخدم الشبكة أصلًا.
الجدوى العملية في نطاق الإذن، لا في خطة أرخص
لم يتغير سعر أي مقعد في Claude Code. ولم تعلن Anthropic رسمًا منفصلًا أو SKU جديدًا أو نتيجة أداء خاصة بالنطاقات المحددة لكل أمر.
المعادلة المفيدة هنا تقيس حجم التفويض الذي ينبغي تبريره:
standing grant = approved host × every later command that can reuse it
command-scoped grant = approved host × the reviewed command
لنفترض أن تثبيت التبعيات يحتاج إلى registry.npmjs.org. كان الخيار التشغيلي السابق محرجًا في كثير من الأحيان: إما إيقاف مهمة غير خاضعة للإشراف انتظارًا لقرار شبكي، وإما السماح بالسجل مسبقًا وقبول أن كل أمر معزول لاحق يستطيع الوصول إليه. الآن يمكن للوضع التلقائي الموافقة على ذلك المضيف مع أمر التثبيت نفسه، ثم إغلاقه قبل متابعة البناء والاختبار والتغليف والمراجعة.
يتغير بذلك بندان في ميزانية التشغيل، مع أن فاتورة الاشتراك لا تتغير. تحتاج فرق المنصات إلى استثناءات دائمة أقل عند التصميم والتنظيف، ويستطيع مراجعو الأمن تقييم زوج مكوّن من أمر ومضيف بدل افتراض أن المضيف متاح لبقية المهمة.
تبقى هناك تكلفة حوسبة في مسار المراجعة. ففي حسابات Enterprise وحسابات المزوّدين المحسوبة حسب الاستخدام، والمذكورة في وثائق Anthropic لأوضاع الأذونات، تُحتسب عمليات فحص المصنّف ضمن استهلاك الرموز وتضيف جولة اتصال. لا يقدم الإصدار قياسًا مرجعيًا للزمن، ولم يُجرَ اختبار زمني لهذا المقال؛ لذلك لا يوجد أساس صادق للادعاء بعدد ثوانٍ موفَّرة.

من يستطيع الاستفادة من الميزة فورًا؟
مؤسس مستقل يدير مهمة بناء طويلة
يستطيع المؤسس أن يدع Claude Code يستعيد الحزم المثبّتة إصداراتها لمستودع SaaS، ثم يواصل الاختبارات ومراجعة الشيفرة من دون إبقاء السجل العام مفتوحًا لتلك الخطوات اللاحقة. النتيجة مهمة تستمر في التقدم من دون تحويل تنزيل ضروري واحد إلى منفذ خروج دائم طوال الجلسة.
قائد تقني في وكالة يتنقل بين مستودعات العملاء
يمكن للوكالة ربط مضيف حزم العميل بأمر التثبيت الذي يحتاج إليه، بدل حفظ استثناء آخر على مستوى المشروع. يقلل ذلك أعمال تنظيف الأذونات، ويصعّب على أمر في المرحلة التالية من المهمة إرسال شيفرة العميل إلى مضيف فُتح فقط لأعمال التبعيات.
مسؤول منصة أو أمن يشرف على وكلاء يعملون بلا متابعة
يستطيع فريق المنصة الإبقاء على قواعد المنع العامة وأقفال النطاقات المُدارة على مستوى المؤسسة، فيما تطلب الأوامر المعتادة وصولًا أضيق ضمن هذه السياسة. ويصبح سجل المراجعة أوضح: احتاج هذا الأمر إلى هذا المضيف لتنفيذ هذا الإجراء. لكنه لا يثبت أن المضيف كان آمنًا لكل ما فعله الوكيل لاحقًا.
مهندس بناء يفصل التثبيت عن الاختبار
يستطيع مهندس البناء جعل استعادة الحزم مرحلة متصلة بالشبكة، ومجموعة الاختبارات مرحلة تعمل دون اتصال. فإذا حاول اختبار مخترق أو برنامج نصي غير متوقع الاتصال بالسجل بعد انتهاء التثبيت، فلن يرث مسار الوصول الذي فُتح للأمر السابق ما لم تكن هناك قاعدة دائمة أخرى تسمح بذلك المضيف.
إعداد مضبوط الحدود لتثبيت التبعيات
تظهر الميزة بأوضح صورة في مستودع يضم ملف package-lock.json محفوظًا في نظام التحكم بالإصدارات، وتبعيات تُحل عبر سجل واحد معروف. توصي وثائق npm باستخدام npm ci للتثبيت الآلي النظيف: فهو يتطلب ملف قفل، ويفشل عند عدم تطابق القفل وملف تعريف المشروع، ويحذف مجلد node_modules الموجود، ولا يغيّر ملف تعريف المشروع أو ملف القفل. كما يمنع الخيار --ignore-scripts تشغيل برامج دورة حياة الحزم أثناء التثبيت. هذه السلوكيات موثقة لدى npm.
تحقق من إصدار Claude Code
شغّل أمر التحقق من الإصدار الوارد في سجل التغييرات:
Bashclaude --versionاستخدم الإصدار 2.1.271 أو إصدارًا أحدث يتضمن الميزة.
ابدأ الوضع التلقائي داخل بيئة عزل مغلقة افتراضيًا
في جلسة واحدة، اجمع بين الوضع التلقائي وبيئة عزل يجب أن تبدأ بنجاح ولا يمكنها إعادة محاولة أمر محظور خارج حدودها:
Bashclaude --permission-mode auto --settings '{"sandbox":{"enabled":true,"failIfUnavailable":true,"allowUnsandboxedCommands":false}}'يستخدم ذلك عناصر التحكم الموثقة
--permission-modeو--settingsوfailIfUnavailableوallowUnsandboxedCommands. في macOS تكون بيئة العزل مدمجة. أما Linux وWSL2 فيحتاجان إلىbubblewrapوsocat، بينما لا يدعم نظام العزل المدمج Windows الأصلي. ترد متطلبات الإعداد وحدود المنصات في دليل العزل.صِف مهمة التثبيت بحدود ضيقة
أرسل النص الآتي بوصفه المهمة، واستبدل مضيف السجل إذا كان ملف القفل يستخدم سجلًا خاصًا:
ثبّت بالضبط التبعيات الموجودة في
package-lock.jsonباستخدامnpm ci --ignore-scripts. لا يجوز لهذا الأمر الوصول إلا إلىregistry.npmjs.org. لا تحفظ هذا المضيف في إعدادات المشروع أو المستخدم. بعد اكتمال التثبيت، شغّل مجموعة الاختبارات كأمر مستقل بلا وصول إلى الشبكة. توقّف إذا احتاج التثبيت إلى أي مضيف آخر.لست بحاجة إلى كتابة حقل
allowed_domainsبنفسك. ينشئ Claude Code استدعاء أداة shell، ثم يراجع الوضع التلقائي المضيف المطلوب مع ذلك الاستدعاء.تأكد من أن الخطوة التالية تبدأ وشبكتها مغلقة
افتح
/sandbox، وافحص تبويب Config بعد حل الإعدادات، وتأكد من أنregistry.npmjs.orgغير موجود أصلًا ضمن قائمةallowedDomainsدائمة أو قاعدة سماح محفوظة من نوعWebFetch. بعد ذلك، دع أمر الاختبار المستقل يعمل. ينبغي لأي محاولة اتصال شبكي من ذلك الأمر اللاحق أن تحتاج إلى مجموعة نطاقات خاضعة لمراجعة جديدة، أو أن ترفضها السياسة القائمة.
ملف القفل هو التفصيل الذي يوقع كثيرين في الخطأ. فقد يشير إلى سجل خاص، أو مضيف Git، أو رابط tarball مباشر. ومجرد تسمية registry.npmjs.org لا ينقل تلك التبعيات إليه. راجع المضيفات الفعلية التي تشير إليها عناوين التبعيات بعد حلّها، وأبقِ القائمة دقيقة، ودع الأمر يتوقف عندما يطلب القفل وجهة غير متوقعة.
ما الذي لا تعالجه هذه الميزة؟
يضيّق الوصول الشبكي المحدد لكل أمر نطاق الوقت الذي يمكن فيه الوصول إلى مضيف. لكنه لا يثبت أن المضيف جدير بالثقة، ولا يفحص كل طلب مشفّر، ولا يجعل الشيفرة المنزّلة آمنة.
يرشّح الوكيل المدمج لدى Anthropic الاتصالات حسب اسم المضيف، ولا يفحص محتوى TLS افتراضيًا. داخل الأمر المصرّح به، يمكن للعملية الوصول إلى أي مسار مسموح على ذلك المضيف. كما تشترك العمليات الفرعية التي يولدها الأمر في حدود بيئة العزل نفسها؛ ولهذا يُعد npm ci --ignore-scripts مثالًا تعليميًا مفيدًا: فهو يستبعد برامج دورة حياة الحزم من خطوة التثبيت، لكنه لا يفحص الحزم التي تنزّلها أمنيًا.
وتظل السياسة المُدارة هي السلطة الأعلى التي تحكم هذه الميزة. يستطيع strictAllowlist منع أي وجهة خارج القائمة المضبوطة، كما يستطيع allowManagedDomainsOnly قصر المضيفات المسموح بها على الإعدادات المُدارة. وتستمر قواعد المنع الصريحة في الحجب؛ فالنطاقات الخاصة بالأمر لا تتجاوز هذه الضوابط.
وهناك نقطة أخرى لا ينبغي تجاهلها: إعادة المحاولة خارج بيئة العزل. يوفّر Claude Code عادةً خيارًا احتياطيًا للأوامر التي يتعذر تشغيلها داخل العزل. لذلك يكتسب ضبط allowUnsandboxedCommands على false أهميته: فهو يمنع التثبيت الفاشل من تغيير السؤال خلسةً من «إلى أي مضيف يمكن لهذا الأمر الوصول؟» إلى «هل يمكن تشغيل هذا الأمر خارج بيئة العزل؟».
ما الخطوة العملية الآن؟
تحرّك هذا الأسبوع إذا كنت تشغّل Claude Code في الوضع التلقائي لتحديث التبعيات أو الصيانة الليلية أو مهام البناء غير الخاضعة للإشراف، وتحتفظ حاليًا بسجلات الحزم في قائمة سماح واسعة لبيئة العزل. تمنحك الميزة سببًا لاختبار إمكان إزالة تلك الإدخالات الدائمة.
انتظر إذا كانت مؤسستك تستخدم سياسة شبكة مُدارة تسمح مسبقًا بالوصول إلى السجل من كل الأوامر، أو إذا كانت حاوية خارجية أو مشغّل CI يفرض أصلًا قاعدة خروج أدق لكل عملية. قد يضيف الحقل الجديد دفاعًا إضافيًا، لكنه لا يحل محل الحدود التي تديرها بالفعل.
لن تتأثر إذا كنت لا تستخدم الوضع التلقائي مع بيئة العزل، أو إذا كان العمل لا يستدعي Bash أو PowerShell أو Monitor عبر الشبكة.
الخطوة العملية بسيطة: تأكد من استخدام Claude Code 2.1.271 أو إصدار أحدث، واختر تثبيت تبعيات واحدًا بملف قفل، وشغّله في الوضع التلقائي داخل بيئة عزل مغلقة افتراضيًا، وحدد مضيف السجل المتوقع وحده، ثم أثبت أن أمر الاختبار التالي لا يستطيع إعادة استخدام ذلك المسار الشبكي. لا تُزل استثناءً دائمًا للسجل إلا بعد نجاح هذا الفحص في بيئتك.
إذا أردت قراءة التغيير التالي في المنصة بصياغة تربطه بسير العمل الذي يؤثر فيه، انضم إلى النشرة البريدية.
- آخر تحديث
- 15 سبتمبر 2026
- التصنيف
- Explained







