The AI / news

وكلاء الذكاء الاصطناعي في بايثون : كيفية عزل تنفيذ الكود باستخدام الحاويات والمايكرو في إم

وكلاء الذكاء الاصطناعي في بايثون : كيفية عزل تنفيذ الكود باستخدام الحاويات والمايكرو في إم
3 دقيقة للقراءة

إن وكيل The AI / news الذي يكتب وينفذ كوده الخاص يكون آمناً فقط بقدر أمان البيئة التي يعمل فيها هذا الكود. في برنامج تعليمي نشره Machine Learning Mastery، يوضح المؤلف كيفية عزل هذا الكود وفقاً لثلاث مستويات: عملية فرعية مقيدة، وحاوية Docker مؤمنة، و مايكرو في إم Firecracker، ثم يقارن بين أمانها وزمن التأخير.

العملية الفرعية هي المستوى الأخف: إنها عملية تابعة محدودة في وقت الحوسبة والذاكرة وحجم الملفات، لكنها تشارك نواة النظام وملفات الجهاز المضيف. تضيف الحاوية مساحات أسماء ومجموعات تحكم (cgroups)، لكنها تبقى مجموعة عمليات على نواة المضيف. تذكر المقالة أنه في نوفمبر 2025، سمحت ثلاث ثغرات في محرك التنفيذ runc للمهاجمين بالخروج من الحاويات. أما المايكرو في إم، فتمنح كل بيئة نواتها الخاصة، خلف برنامج Hypervisor الذي يشغل الآلات الافتراضية.

يعتمد الجهاز على أداة واحدة، run_python، يتم توفيرها للوكيل. يمر كل كود ينتجه النموذج عبر كائن «sandbox» مزود بطريقة run(code)، بحيث أن تغيير مستوى العزل لا يعدل الوكيل. يتطلب البرنامج التعليمي Python 3.10 أو أحدث، ونظام Linux أو WSL لمستوى العملية الفرعية، وDocker للحاوية، وحساباً ومفتاح واجهة برمجة تطبيقات E2B للمايكرو في إم. مفتاح واجهة برمجة تطبيقات Anthropic مفيد للوكيل، لكن يمكن الاستغناء عنه للاختبارات.

ست هجمات متطابقة ضد كل مستوى

لمقارنة المستويات الثلاثة، يتم تنفيذ نفس البرامج العدائية الستة: حلقة لا نهائية، تخصيص 512 ميغابايت من الذاكرة، «فيضان تفريع» لـ 200 عملية، كتابة ملف بحجم 50 ميغابايت، قراءة ملف بيانات اعتماد مزيف، والاتصال بخدمة داخلية مزيفة. تعتبر الهجوم محظوراً عندما لا تظهر الكلمة الشاهدة في المخرجات، أو، بالنسبة للحلقة اللانهائية، عندما ينتهي وقت التنفيذ.

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

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

زمن التأخير واختيار المستوى

يجب أن تكون العملية الفرعية هي الأسرع، لأنها تطلق بايثون فقط. بالنسبة للمستويين الآخرين، يوضح المؤلف أن الأرقام المنشورة هي ادعاءات وليست ضمانات: تشير مقالة استشهد بها إلى أن E2B تبدأ في حوالي 150 مللي ثانية، بينما تصف AWS و Docker عمليات إطلاق شبه فورية لمنتجات المايكرو في إم الخاصة بهما. يسمح البرنامج النصي bench.py بقياس الوسيط وأطول وقت على عشر عمليات تنفيذ لبرنامج print(1) على الجهاز الخاص.

يوصي المؤلف بحصر العملية الفرعية على الكود الموثوق به، مثل البرامج النصية الشخصية للتطوير، والحاوية المؤمنة للحالات التي يتم فيها التحكم بالمضيف والمخاطر منخفضة، مع الحرص على تحديث runc. تفرض المايكرو في إم نفسها للكود القادم من عدة مستخدمين، ولأي شيء يتعلق بالأسرار، وعندما يحتاج الوكيل إلى بناء وتنفيذ حاويات بنفسه، وهو ما تتعامل معه الحاويات التقليدية بشكل سيء وفقاً لـ Docker. أطلقت Docker مساحاتها المحصنة Docker Sandboxes على المايكرو في إم في أبريل 2026، وتوفر AWS Lambda MicroVMs التي تحتفظ بحالتها حتى 8 ساعات وتتوقف عند الخمول. وفقاً لـ Docker، يجب تحديد الملفات وقواعد الشبكة والأسرار بواسطة البنية التحتية، وليس من قبل الوكيل، قبل تنفيذه.

S’abonner
Notification pour
guest

0 Commentaires
Le plus ancien
Le plus récent Le plus populaire
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x