كل المقالات

وكيل البرمجة يقرأ مفاتيح ⁨SSH⁩ الخاصة بك: كيف تضع له حدودًا

الأمان · 3 دقيقة قراءة ·

افتح الطرفية التي يعمل فيها وكيل البرمجة واسأل سؤالًا واحدًا: بأي مستخدم تعمل هذه الأوامر؟ الجواب هو أنت. حين ينفّذ الوكيل npm install أو cat فهو يملك مجلدك الرئيسي كاملًا، ومفاتيح ⁨SSH⁩، وكل ملف .env في كل مشروع نسخته يومًا، وبيانات دخول ⁨git⁩ والسحابة المحفوظة في إعداداتك. لهذا يستحق خبر ⁨GitHub⁩ في 2026-10-07 الانتباه: العزل المحلي لـ ⁨Copilot⁩ أصبح متاحًا للجميع.

نص في ⁨README⁩ أو في تذكرة وكيل البرمجة يعمل بصلاحياتك مفاتيح ⁨~/.ssh⁩ ملفات ⁨.env⁩ بيانات دخول ⁨git⁩ ما تقرؤه أنت يقرؤه هو
لا حدود على الإطلاق. سطر واحد مزروع يكفي ليصبح حسابك كله في متناول الوكيل.

الخطر في النص الذي يقرؤه الوكيل

هذا كلام عام لا يخص منتجًا بعينه. الوكيل يقرر ما ينفّذه بناءً على ما يقرؤه، وهو يقرأ كثيرًا مما لم تكتبه أنت: صفحة ويب جلبها، تذكرة فتحها شخص ما، تعليق داخل مكتبة تعتمد عليها، ملف ⁨README⁩ في مستودع نسخته للتو. إذا طلب منه أي نص من هذه أن يطبع ملفًا أو يرسل شيئًا إلى مكان ما، فقد ينفّذ، لأن الطلب يبدو له جزءًا من المهمة. هذا هو حقن الأوامر. لن تراجع كل سطر يقرؤه الوكيل، فالسؤال المفيد ليس هل سيُخدع، بل ماذا يستطيع أن يصل إليه حين يُخدع.

ما الذي يقيّده عزل ⁨GitHub⁩

بحسب ⁨GitHub⁩، الأدوات والأوامر التي يشغّلها ⁨Copilot⁩ تعمل بوصول مقيّد إلى نظام الملفات والشبكة وبيانات الدخول وبقية قدرات النظام، وفق سياسات يضعها المطوّر أو المؤسسة. الميزة متاحة في ⁨Copilot CLI⁩ وتطبيق ⁨Copilot⁩ وجلسات ⁨VS Code⁩ التي تستخدم ⁨Agent Host⁩، دون تكلفة إضافية على اشتراك ⁨Copilot⁩. وتذكر الشركة ما يمكن التحكم فيه: الملفات والمجلدات التي تقرؤها تلك الأوامر أو تعدّلها، والوصول إلى الإنترنت والشبكة المحلية وبيانات دخول ⁨Git⁩ و ⁨GitHub CLI⁩، وعزل الأدوات المحلية مثل خوادم ⁨MCP⁩ المحلية وخوادم اللغات حيث يكون ذلك مدعومًا. وتستطيع المؤسسات أن تفرض العزل وتثبّت سياسات لا يستطيع المطوّر إضعافها.

تحت ذلك تقنية تسميها ⁨GitHub⁩ ⁨Microsoft eXecution Container (MXC)⁩، تحوّل سياسة عزل واحدة إلى ضوابط النظام الأصلية في ⁨Windows⁩ و ⁨macOS⁩ و ⁨Linux⁩. وتنبّه الشركة إلى نقطة أوافقها: النموذج وعزل الأدوات مسألتان منفصلتان، فالسياسة تنطبق على ما يُنفَّذ أيًّا كان النموذج الذي يقود.

حدود العزل وكيل البرمجة مجلد المشروع فقط عناوين مسموح بها فقط ⁨~/.ssh⁩ و ⁨.env⁩ وبيانات ⁨git⁩ خارج المتناول السياسة تحدد ما يصل إليه، لا الأمر النصي
الوكيل نفسه والنص المزروع نفسه. ما يستطيع لمسه تحدده الآن سياسة كتبتها قبل أن يبدأ.

طبقات تنقلها إلى أي وكيل

هذه عادات عامة وليست إعدادات من إعلان ⁨GitHub⁩، وكل واحدة تغلق بابًا مختلفًا:

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

الخطوة التالية تأخذ عشر دقائق: شغّل طرفية بالمستخدم نفسه الذي يعمل به الوكيل، واكتب قائمة بما يستطيع قراءته، بدءًا من ⁨~/.ssh⁩ ومجلد إعدادات السحابة وملفات ⁨.env⁩ في مشاريعك. كل ما في القائمة في متناول الوكيل اليوم. إن كنت تستخدم ⁨Copilot⁩ ففعّل العزل وابدأ بقواعد الملفات وبيانات الدخول، وإن كنت تستخدم وكيلًا آخر فابنِ السياج نفسه بحاوية تطوير ورمز وصول محدود. المصدر: سجل تغييرات ⁨GitHub⁩ عن العزل المحلي لـ ⁨Copilot⁩.

ملاحظات القراء

  1. لا توجد ملاحظات بعد. الأولى دائمًا الأجرأ.
باغي دير حاجة بحال هذي؟ نقدر نعاونك. راسلني على واتساب