أمان الطرفية
فخ '$HOME': وكلاء البرمجة بالذكاء الاصطناعي يحتاجون إلى صناديق رمل، لا إلى مطالبات 'allow?'
يحظر صندوق رمل الطرفية في Qoder ما يقارب مئة أمر وكيل مدمر يوميًا. الحالات التي تقف خلف هذا الحظر تشرح لماذا تفشل مطالبات 'allow?': مجلد مشروع باسم $HOME، وعملية تنظيف استهدفت /root، ونقرة كادت تكلف قرصًا كاملًا.
Emmanuel Fabrice Omgbwa Yasse بمساعدة الذكاء الاصطناعي
2026-08-13 · قراءة 7 دقائق

يمر مليون أمر طرفية عبر صندوق رمل Qoder يوميًا، وفقًا لأرقام الفريق نفسه. يتم رصد ما يزيد قليلًا على عشرة آلاف أمر؛ وما يقارب المئة أمر يلمس شيئًا لم يكن ينبغي لمسه، وهو ما يكفي في سطر واحد لتدمير أسبوع من عمل مطور.
يمكن للهلوسات أن تخلط بين مجلد مشروع ومجلد مؤقت؛ ويمكن لعدم تطابق البيئة أن يعيد توجيه عملية تنظيف نحو مسار نظام. يوثّق تقرير Qoder الحالتين معًا، ويجادل بأنه عندما ينفّذ وكيل أوامر نيابةً عنك، فإن نافذة 'allow?' ليست كافية.
مليون أمر يوميًا، ومئة حادث وشيك
الحالة الأولى هي عملية تنظيف على Windows سارت في الاتجاه الخاطئ. نفّذ الوكيل cmd /c "rmdir /s /q "C:\Users\...\SuperMarioGame\src"". القصد: تنظيف ملفات. تعامل النموذج مع مجلد مصدر المشروع باعتباره شيئًا يمكن التخلص منه، وrmdir /s /q يحذف بشكل متكرر دون تأكيد. يبدو الأمر كعملية تطوير عادية، وهذا ما يجعله خطيرًا.
الحالة الثانية هي عدم تطابق البيئة، ولا حاجة إلى مهاجم. طلب مطور من الوكيل تشغيل سكربت تنظيف البناء يحتوي على rm -rf "$OUTPUT/root". محليًا، كان $OUTPUT يشير إلى مخرجات البناء؛ ولكن عندما نفّذ الوكيل السكربت، لم يكن المتغير قد حُمّل، فتوسّع $OUTPUT إلى قيمة فارغة، وأصبح الأمر rm -rf "/root". رفض صندوق الرمل عملية الكتابة: /root لم يكن ضمن قائمة السماح في مساحة العمل.
فخ '$HOME': عندما لا يحمي 'allow?' شيئًا
هناك حالة ثالثة يعلّقها فريق Qoder على جداره. طلب مطور من الذكاء الاصطناعي تنظيف الملفات المؤقتة في جذر المشروع. كان المشروع يحتوي على مجلد فرعي باسم $HOME. ولّد النموذج الأمر rm -rf "$HOME": وهو للعين عملية حذف داخل المشروع. في اللحظة التي تعاملت معها الصدفة، توسّع $HOME ليصبح المجلد الرئيسي الفعلي للمستخدم.
لقد ظهرت نافذة التأكيد بالفعل. ونقر المطور على تأكيد، معتقدًا أنه يوافق على حذف مجلد مشروع. كاد القرص يُمسح بالكامل. ولم يعد نظام التشغيل قادرًا على الإقلاع.
تلك القصة هي الحجة ذاتها. لا يمكن لنافذة حوار أن تعرض إلا ما يعتقد المستخدم أن الأمر يعنيه؛ أما الصدفة فتنفّذ ما يعنيه الأمر بعد التوسع. لا شيء في زر يسد هذه الفجوة. قوائم الحظر تطابق السلاسل النصية، والسلاسل النصية يمكن تجاوزها: فـ cmd /c "rmdir /s /q" يقوم بالعمل نفسه الذي تقوم به rm -rf دون أن يبدو مشابهًا لها إطلاقًا، والسكربت المغلف يخفي اسم الأمر تمامًا. تضع نوافذ الحوار القرار في يد شخص نقر عبر مئات النوافذ، وينقر في الغالب بشكل انعكاسي. وبمجرد الموافقة، يعمل الأمر بصلاحيات المستخدم الكاملة: الملفات، الشبكة، البيئة، موارد النظام.
Cursor وCodex وClaude Code: الصناعة تتجاوز نوافذ الحوار
استعرض Qoder أمان الطرفية في أدوات البرمجة الرئيسية بالذكاء الاصطناعي. تنفيذ الأوامر في الطرفية أصبح أمرًا أساسيًا؛ أما العزل الصندوقي فيلحق به الآن؛ والسؤال المفتوح هو آلية التراجع عند فشله. يدعم Cursor التنفيذ المعزول بسياسات للشبكة ونظام الملفات وقائمة سماح في sandbox.json، بشكل أصلي على macOS وLinux، مع اعتماد Windows على WSL2. يكشف Codex عن سياسات على مستوى نظام التشغيل لكتابة الملفات والشبكة والموافقات، وهو سطح موجه لسطر الأوامر أولًا للمستخدمين المحترفين. يستخدم Claude Code أداة Seatbelt على macOS وbubblewrap على Linux لتقليل نوافذ الإذن.
| الأداة | آلية العزل | الوضع على Windows | تركيز التصميم |
|---|---|---|---|
| Cursor | شبكة ونظام ملفات وسياسات قائمة سماح عبر sandbox.json | يتطلب WSL2 | أصلي على macOS وLinux |
| Codex | سياسات على مستوى نظام التشغيل لكتابة الملفات والشبكة والموافقات | سطح سياسات يوجّه لسطر الأوامر أولًا | المستخدمون المحترفون والأتمتة |
| Claude Code | Seatbelt على macOS، وbubblewrap على Linux | غير مفصّل في الاستعراض | نوافذ أقل وتنفيذ محدود |
| Qoder | sandbox-exec + Seatbelt، وbubblewrap، ورموز Rust مقيّدة مخصصة | أصلي، منذ Windows 7 | خط أنابيب من أربع طبقات بالإضافة إلى المراجعة بالذكاء الاصطناعي |
الخلاصة: لم تعد نوافذ الإذن وحدها عنصر التحكم الأساسي. ما يميّز الأدوات هو تغطية المنصات ومدى سلاسة التراجع إلى تأكيد المستخدم. يدمج Qoder الآلية الأنسب على مستوى نظام التشغيل لكل منصة، بحيث تعمل الحماية دون أن يتعلم المستخدمون تفاصيل التنفيذ.
أربع طبقات، ثم نظرة ثانية
قبل التنفيذ، يمر كل أمر عبر خط أنابيب: تقييم المخاطر بواسطة نموذج لغوي كبير LLM، وتحليل متعدد المنصات، وتغليف الصندوق الرملي، وعزل نظام التشغيل. يحكم نموذج لغوي كبير على النية وقت التوليد؛ وتتولى ثلاثة محللات AST التعامل مع PowerShell وBash/Zsh وCMD، لتفكيك الأوامر إلى أسماء ووسائط منظمة. ترصد قائمة مدمجة أوامر rm وformat وdel وrmdir.
تفقد قوائم الحظر مبررها عند طبقة AST. يمكن لحقن الأوامر (Prompt Injection) أن يجعل النموذج يولّد whoami `rm -rf /`. للعين هو whoami؛ لكن المحلل يستخرج اسمي أوامر ويلتقط rm داخل backticks. التحليل البنيوي يرى ما لا يستطيع مطابقة السلاسل رؤيته.
لكن سؤال «هل هذا الأمر خطير؟» ليس هو السؤال الذي يحدد تجربة المطور. السؤال هو ماذا نفعل حياله. الأمر المرصود ليس بالضرورة مدمرًا: حذف ملف مُلتزَم ومتتبَّع في git يمكن استعادته؛ أما حذف مسار مبني من متغير غير محلول فلا يمكن. لذلك أطلقت Qoder طبقة مراجعة بالذكاء الاصطناعي (AI Review)، وهي استدعاء ثانٍ خفيف لنموذج يحكم على النتيجة لا على النية، في نقطتين. عند مدخل الصندوق الرملي، يستلم حالة git للمستودع كسياق بلغة طبيعية للاستدلال على قابلية الاستعادة؛ فإذا كانت النتيجة آمنة يُنفَّذ داخل الصندوق الرملي، وإلا تظهر نافذة تأكيد. عند بوابة رفع الصلاحيات، عندما يفشل تنفيذ الصندوق الرملي ويطلب النموذج إعادة التشغيل بصلاحيات كاملة، يكون أكثر تحفظًا ولا يتحقق إلا مما إذا كانت ملفات النظام خارج مساحة العمل قد تتضرر؛ فإذا لم تتضرر يُسمح، وإلا تظهر نافذة أخرى.
تعمل المراجعتان بدرجة حرارة منخفضة، وتعيدان JSON يتضمن حكمًا وسببًا، وتمهلان 10 ثوانٍ مع ثلاث محاولات إعادة. عدم التماثل مقصود: عندما تكون الميزة معطلة، يكون الإعداد الافتراضي عند المدخل هو السماح، بينما يكون الافتراضي عند رفع الصلاحيات هو الحظر؛ وفي حال تعذر الوصول، يُحظر كل شيء. نافذة إضافية رخيصة الثمن؛ أما أمر مدمر لم يُرصد فليس كذلك.
كانت Windows الجزء الأصعب
على macOS، يعيد Qoder استخدام sandbox-exec، مولّدًا سياسات Seatbelt من خط أساس يرفض افتراضيًا. أضاف Git حالات حافة: صلاحيات كتابة للملفات المؤقتة وملفات الأجهزة، و.git للقراءة فقط بحيث يعمل git log وgit diff بينما يتطلب git commit وgit push رفع صلاحيات. يبلغ الحمل الإضافي عند بدء التشغيل 43 إلى 72 مللي ثانية، أي أقل من 5% في الأوامر التي تستغرق ثوانٍ. يستخدم Linux أداة bubblewrap: نظام ملفات الجذر للقراءة فقط، ومسارات حساسة مغطاة بنظام tmpfs فارغ، وقطع الشبكة بعلامة واحدة.
لا تملك Windows مكافئًا جاهزًا لهذا، ويصفه Qoder بأنه الجزء الأصعب في المشروع. قيّم الفريق 15 تقنية عزل، من Hyper-V وWindows Sandbox إلى AppContainer وSandboxie؛ ولم يناسب سوى القليل قيود بيئة التطوير المتكاملة IDE: تواتر الاستدعاء المرتفع، وزمن بدء التشغيل، والتوافق مع الإصدارات السابقة. النتيجة هي حل مخصص بلغة Rust، يعمل منذ Windows 7 مع بدء تشغيل على مستوى المللي ثانية، باستخدام رموز مقيدة بحيث تكتب العمليات الفرعية إلى المسارات المصرح بها فقط. خسر AppContainer: كان يوفر عزلًا أقوى، لكنه صعب في التفويض الديناميكي ولا يعمل إلا على Windows 8 وما فوق. أظهرت جولتا اختبار متوسط حمل إضافي 7.7%، يتركز على بدء تشغيل العمليات؛ وكان تشغيل PowerShell أبطأ بنحو 19%، أي ما يقارب 4.8 ثوانٍ إضافية لكل استدعاء.
العزل الصندوقي كبنية تحتية للوكلاء
التحول الأكبر هو في الغرض من الصندوق الرملي. اعتاد الوكلاء توليد الأكواد، مع تمركز المخاطر في مراجعة الأكواد. أما الآن فينفّذون أوامر، ويعدّلون ملفات، ويستدعون مهارات، ويصلون إلى الشبكة، لذا يتعين على بيئة التطوير المتكاملة أن تتحمل مسؤولية أمان التنفيذ. يؤطر Qoder الصندوق الرملي للطرفية باعتباره بنية تحتية لإطار عمل الوكلاء: فرصة أقل لمطور منفرد لحذف مشروعه؛ وبالنسبة للفرق، نقطة بداية للحوكمة والتدقيق. خارطة الطريق: تجاوزات سياسات يحددها المستخدم ولكل أمر على حدة، وتوزيع للمؤسسات، وتقارير سجلات تدقيق.
تشير أدوات الوكلاء الأخرى من Alibaba إلى الاتجاه نفسه. تخلّى Qoder 1.0 عن بيئة التطوير أحادية مساحة العمل لصالح أشجار عمل معزولة (worktrees) حتى تتوقف المهام المتوازية عن التصادم، وقلّص محرك الذاكرة محدود النطاق لديه رموز الإدخال بنسبة 40% وفقًا لبيانات A/B من Alibaba. يحجب Anolisa v0.3 التعليمات الضارة المخفية في المدخلات الخارجية، ويفحص الأكواد التي يولدها الوكلاء قبل تشغيلها، ويوقّع مهارات الطرف الثالث توقيعًا تشفيريًا. الرهان: جولة المنافسة القادمة لوكلاء البرمجة ستكون على العملية، وليس على الأداء الخام للنماذج.
- المصدر : The '$HOME' trap: AI coding agents need sandboxes, not 'allow?' prompts — 2026-03-25
أهم أخبار التقنية في 3 دقائق كل صباح
بريد إلكتروني واحد، كل يوم عمل، بما يهم فعلاً في الذكاء الاصطناعي والتقنية.