أمان Claude Code: تثبيت التبعيات بإذن شبكي مؤقت

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

Tuesday, September 15, 2026Omid Saffari
أمان 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.

عنصر التحكممدة السريانأثره في الأوامر اللاحقة
allowed_domains الخاص بالأمراستدعاء واحد خضع للمراجعة من Bash أو PowerShell أو Monitorلا ينتقل الوصول تلقائيًا. يحتاج كل أمر لاحق إلى مراجعة مضيفاته المطلوبة على حدة.
sandbox.network.allowedDomainsكل أمر معزول ما دام الإعداد ساريًايكون الوصول إلى المضيف المحدد متاحًا بالفعل، لذا تستطيع الأوامر اللاحقة الوصول إليه أيضًا.
قاعدة سماح محفوظة من نوع WebFetch(domain:...)الجلسات المقبلة التي تحمّل القاعدةيصبح المضيف إعدادًا دائمًا، لا استثناءً لمهمة واحدة.
sandbox.network.deniedDomainsكل اتصال معزول تنطبق عليه القاعدةتظل قاعدة المنع صاحبة الأولوية، حتى داخل نطاق أوسع مسموح به بنمط شامل.

قبل هذا الإصدار، كان السماح بمضيف جديد داخل بيئة العزل قد ينشئ إذنًا أوسع من المطلوب. فالموافقة اليدوية تبقى حتى نهاية الجلسة الحالية، ويمكن أن تمتد الموافقة المحفوظة إلى جلسات لاحقة. كما يستطيع الوضع التلقائي الاحتفاظ مؤقتًا بقراره بشأن مضيف ومنفذ. أما الحقل الجديد فيغيّر نطاق الوصول وقت التشغيل حتى عند إعادة استخدام قرار المصنّف: فتح الشبكة يخص الأمر الجاري فقط.

يقتصر الأثر على التركيبة التي يسميها سجل الإصدار: الوضع التلقائي، وبيئة العزل، واستدعاءات 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.

  1. تحقق من إصدار Claude Code

    شغّل أمر التحقق من الإصدار الوارد في سجل التغييرات:

    Bash
    claude --version

    استخدم الإصدار 2.1.271 أو إصدارًا أحدث يتضمن الميزة.

  2. ابدأ الوضع التلقائي داخل بيئة عزل مغلقة افتراضيًا

    في جلسة واحدة، اجمع بين الوضع التلقائي وبيئة عزل يجب أن تبدأ بنجاح ولا يمكنها إعادة محاولة أمر محظور خارج حدودها:

    Bash
    claude --permission-mode auto --settings '{"sandbox":{"enabled":true,"failIfUnavailable":true,"allowUnsandboxedCommands":false}}'

    يستخدم ذلك عناصر التحكم الموثقة --permission-mode و--settings وfailIfUnavailable وallowUnsandboxedCommands. في macOS تكون بيئة العزل مدمجة. أما Linux وWSL2 فيحتاجان إلى bubblewrap وsocat، بينما لا يدعم نظام العزل المدمج Windows الأصلي. ترد متطلبات الإعداد وحدود المنصات في دليل العزل.

  3. صِف مهمة التثبيت بحدود ضيقة

    أرسل النص الآتي بوصفه المهمة، واستبدل مضيف السجل إذا كان ملف القفل يستخدم سجلًا خاصًا:

    ثبّت بالضبط التبعيات الموجودة في package-lock.json باستخدام npm ci --ignore-scripts. لا يجوز لهذا الأمر الوصول إلا إلى registry.npmjs.org. لا تحفظ هذا المضيف في إعدادات المشروع أو المستخدم. بعد اكتمال التثبيت، شغّل مجموعة الاختبارات كأمر مستقل بلا وصول إلى الشبكة. توقّف إذا احتاج التثبيت إلى أي مضيف آخر.

    لست بحاجة إلى كتابة حقل allowed_domains بنفسك. ينشئ Claude Code استدعاء أداة shell، ثم يراجع الوضع التلقائي المضيف المطلوب مع ذلك الاستدعاء.

  4. تأكد من أن الخطوة التالية تبدأ وشبكتها مغلقة

    افتح /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

فضّل هذا الموقع في Google

إضافة omidsaffari.com كمصدر مفضّل في بحث Google

اجعل omidsaffari.com مصدرًا مفضّلًا، وسيرفعه Google لك في Top Stories وAI Overviews وAI Mode.

مقالات ذات صلة
Vercel AI SDK: متى يدفع اشتراكك تكلفة وكيل البرمجة؟

Vercel AI SDK: متى يدفع اشتراكك تكلفة وكيل البرمجة؟

يشرح الدليل كيف يختار Vercel AI SDK بين اشتراكك وواجهة المزوّد وAI Gateway، وما يبقى من تكلفة Sandbox، مع إعداد عملي وآمن لتشغيل Claude Code.15 سبتمبر 2026Explained
أتمتة المتصفح عبر Cloudflare: نطاقات معتمدة ومراجعة بلا تحكم

أتمتة المتصفح عبر Cloudflare: نطاقات معتمدة ومراجعة بلا تحكم

دليل عملي لتقييد جلسات Cloudflare Browser Run بالنطاقات المعتمدة، وتمكين العميل من متابعة التنفيذ عبر Live View للقراءة فقط، مع شرح التكلفة والقيود.14 سبتمبر 2026Explained
تكلفة وكيل صوتي بالذكاء الاصطناعي مع GPT-Live-1: ما الذي تدفعه فعلاً؟

تكلفة وكيل صوتي بالذكاء الاصطناعي مع GPT-Live-1: ما الذي تدفعه فعلاً؟

يضع GPT-Live-1 سعراً واضحاً للصوت، لكن فاتورة المكالمة تشمل الاستدلال والأدوات والاتصال الهاتفي. إليك طريقة حساب التكلفة الفعلية لكل مكالمة ناجحة.14 سبتمبر 2026Explained
ميزة Appshots في ChatGPT تختصر نسخ السياق على Windows

ميزة Appshots في ChatGPT تختصر نسخ السياق على Windows

تشرح ميزة Appshots في ChatGPT على Windows كيف ترفق النافذة الموجودة في المقدمة بالمحادثة، وتقلّل نسخ السياق يدويًا، وما ينبغي مراجعته قبل مشاركة البيانات.14 سبتمبر 2026Explained
ملفات FastAPI الثابتة على Vercel: كيف يخفض CDN استهلاك Functions

ملفات FastAPI الثابتة على Vercel: كيف يخفض CDN استهلاك Functions

تعرّف إلى طريقة نقل Vercel لملفات FastAPI الثابتة إلى CDN، وما الذي ينخفض في استهلاك Functions والفاتورة، وما يبقى محسوبًا من الطلبات ونقل البيانات.13 سبتمبر 2026Explained
تدوير مفاتيح API في OpenAI: خطة لتفادي انقطاع الخدمة

تدوير مفاتيح API في OpenAI: خطة لتفادي انقطاع الخدمة

دليل عملي لتدوير مفاتيح API في OpenAI قبل انتهاء الصلاحية، مع تحديد المسؤوليات وتقدير تكلفة الصيانة واختبار المفتاح البديل من دون تعطيل الخدمات.13 سبتمبر 2026Explained
صلاحيات Vercel Connect: من يملك بيانات الاعتماد المشتركة؟

صلاحيات Vercel Connect: من يملك بيانات الاعتماد المشتركة؟

تمنح صلاحيات Vercel Connect فرق Pro وEnterprise حدًا واضحًا لإدارة الموصلات المشتركة. تعرّف كيف توزّع الأدوار وتحافظ على سير بناء التطبيقات.13 سبتمبر 2026Explained
فهرسة ملفات R2 بلا امتداد: ماذا يغيّر تحديث Cloudflare AI Search؟

فهرسة ملفات R2 بلا امتداد: ماذا يغيّر تحديث Cloudflare AI Search؟

يشرح هذا الدليل كيف يفهرس Cloudflare AI Search ملفات R2 بلا امتداد عبر Content-Type الصحيح، وما يبقى من تدقيق البيانات الوصفية والمزامنة والتحقق.12 سبتمبر 2026Explained
النشرة البريدية

رسالة واحدة، كل يوم أحد.أنظمة تعمل، لا آراء ساخنة.

أسبوعية. بلا إزعاج. يمكنك إلغاء الاشتراك متى شئت.