ما يستطيعه برنامج ميم على جهازك
منقول من الكتاب المرجعي: docs/handbook/language/11-security.md · الإيداع 7a52f6c
القاعدة. برنامج ميم يعمل بصلاحيات من يشغّله كاملة، بلا عزل، كأي برنامج. لا تشغّل برنامجاً لا تثق بمصدره.
(السجلّ الكامل في v1-readiness.md (وثيقة في مستودع المجمّع)، القسم 5.)
| القدرة | عبر | ما يمنعها اليوم |
|---|---|---|
| قراءة الملفات وكتابتها وحذفها، وإنشاء المجلدات وسردها | ملفات |
--no-system (منذ 0.7.0) |
| قراءة متغيرات البيئة والوسائط | نظام |
--no-system (منذ 0.7.0) |
| أي دالة C في أي مكتبة (شبكة، تشغيل أوامر…) | خارجي |
--no-ffi (لبرنامج المستخدم) |
| إفساد الذاكرة وسلوك غير معرَّف | خطر، بلا_فحص |
--no-unsafe |
| استهلاك المعالج والذاكرة بلا حد | حلقة | حدود نظام التشغيل وحدها |
| كتابة رموز تحكم إلى الطرفية | اطبع |
لا شيء |
--no-ffi و--no-unsafe يمنعان بخطأ ترجمة قبل أي تنفيذ:
خطر: م = احجز_خام(عدد, 1)المثال أعلاه يعمل بلا الخيارين ولا يطبع شيئاً. مع --no-unsafe يرفضه المجمّع برمز 2:
[خطأ دلالي] سطر 1:1 - المنطقة 'خطر' ممنوعة بالخيار --no-unsafeوتصريح خارجي مع --no-ffi:
[خطأ دلالي] سطر 1:1 - تصريح 'خارجي' ممنوع بالخيار --no-ffiوتصريح استورد ملفات أو استورد نظام مع --no-system، في الملف الرئيسي أو في ملف يستورده:
[خطأ دلالي] برنامج.م:1:1 - الوحدة 'ملفات' ممنوعة بالخيار --no-systemالقيود المعروفة. الخيارات الثلاثة تخص برنامج المستخدم لا المكتبة القياسية. ولا شيء في المجمّع يحدّ المعالج والذاكرة:
الملعب يحدّهما بالحاوية (playground.md (وثيقة في مستودع المجمّع)).
في الملعب
رابط إلى قسم «في الملعب»الملعب يشغّل البرنامج على خادم بالمجمّع الحقيقي في حاوية جديدة لكل تشغيل. الحدود نهائية،
وعقد الواجهة كله في playground-api.md (وثيقة في مستودع المجمّع):
| الحد | القيمة |
|---|---|
| خيارات المجمّع | --no-unsafe --no-ffi --no-system --debug-mem دائماً |
| الوحدات | رياضيات وعشوائي وحدهما (--no-system يرفض ملفات ونظام بخطأ ترجمة)؛ برنامج من ملف واحد |
| الزمن | 5 ثوانٍ معالجاً، و8 ثوانٍ حائطاً من بدء الحاوية (بدؤها والترجمة نحو نصف ثانية) |
| الخرج | 64 ك.ب لكلٍّ من stdout وstderr؛ عنده يُقطع ويُوقف البرنامج |
| الذاكرة | 512 م.ب بلا swap |
| العمليات | 64 |
| الشبكة | لا شيء |
| حجم المصدر | 64 ك.ب (ما زاد يُرفض) |
| جسم الطلب | 96 ك.ب (ما زاد 413) |
| المعدل لكل عنوان | 5 تشغيلات متتالية، ثم 20 في الدقيقة (429) |
| التزامن والطابور | عامّان للخدمة (الافتراضي 2 و8؛ على الخادم 4 و16)؛ ما زاد 503 |
بلا مدخل (stdin مغلق) ولا وسائط ولا متغيرات بيئة. الحالة: الخدمة منجزة ومختبرة ولم تُنشر بعد.