في ظل التطور المتسارع لوكلاء الذكاء الاصطناعي، تبرز الحاجة إلى أدوات تتيح لهم تنفيذ الأوامر بأمان داخل بيئات التطوير. هنا يأتي دور BashBox، وهو مترجم Bash مكتوب بالكامل بلغة PHP، من تطوير Pushpak Chhajed. يهدف BashBox إلى تمكين وكلاء الذكاء الاصطناعي من تشغيل السكربتات والأوامر دون الحاجة إلى استدعاء وظائف PHP الخطيرة مثل proc_open أو exec أو shell_exec، مما يوفر طبقة أمان أساسية للمطورين.
بيئة Bash آمنة ومتحكم بها لوكلاء الذكاء الاصطناعي
يعمل BashBox عن طريق ترجمة كل أمر Bash إلى فئة PHP مقابلة، والتي تتفاعل مع نظام ملفات افتراضي. هذا يعني أن كل عملية تنفيذ تتم في بيئة معزولة تمامًا، مع إمكانية ضبط حدود صارمة لكل عملية. يدعم المترجم ميزات Bash الأساسية مثل الأنابيب (pipes) وإعادة توجيه ملفات الوصف (fd redirections) ووثائق here-docs واستبدال العمليات والجمل الشرطية وحلقات التحكم. ويأتي BashBox محملاً بـ 58 أمرًا شائعًا بما في ذلك grep وsed وsort وfind وxargs وsha256sum، بالإضافة إلى الأوامر المدمجة مثل cd وexport وsource وread وtrap.
لتعزيز الأمان والمرونة، يوفر BashBox عدة خيارات لأنظمة الملفات الخلفية (Filesystem Backends). نظام InMemoryFs الافتراضي لا يلمس القرص أبدًا، بينما تتيح أنظمة مثل OverlayFs وReadWriteFs وMountableFs التفاعل مع ملفات حقيقية على القرص، ولكن ضمن مسار جذري محدد ومعزول. تفرض هذه الأنظمة حصصًا افتراضية للقرص تبلغ 64 ميجابايت و10,000 إدخال، وتمنع عمليات تجاوز المسار (path traversal) وحقن البايتات الصفرية (null-byte injection) وروابط symlinks الافتراضية، مما يضمن بيئة تشغيل خالية من المخاطر المحتملة.
قيود التنفيذ والوصول إلى الشبكة
يسمح BashBox للمطورين بتحديد 18 إعدادًا مختلفًا ضمن فئة Limits للتحكم في تنفيذ السكربتات، بدءًا من عدد الأوامر القصوى وحلقات التكرار إلى حجم الإخراج وعمق شجرة التحليل. على سبيل المثال، يمكن تحديد 10,000 أمر لكل سكربت و10,000 تكرار لكل حلقة، مع 10 ميجابايت من الإخراج. هذا يمنع السكربتات من استهلاك موارد النظام بشكل مفرط أو تنفيذ عمليات لا نهائية.
الوصول إلى الشبكة معطل بشكل افتراضي، ولا يمكن استخدام أمر curl إلا بعد تهيئة NetworkConfig وتحديد بادئات عناوين URL المسموح بها وطرق HTTP. تتضمن الإعدادات خيار denyPrivateRanges، الذي يرفض عناوين IP الخاصة وغير العامة، لضمان عدم وصول وكلاء الذكاء الاصطناعي إلى الشبكات الداخلية أو المحلية. كما يوفر BashBox آلية لتسجيل الأوامر المخصصة، مما يتيح للمطورين إضافة وظائف مخصصة تتناسب مع احتياجاتهم.
يتطلب BashBox إصدار PHP 8.4 أو أحدث، ولا يحتوي على تبعيات Composer أخرى. وهو مرخص تحت ترخيص MIT، ويمكن العثور على شفرة المصدر والوثائق الكاملة في مستودع BashBox على GitHub. يمكن تثبيته بسهولة باستخدام composer require shipfastlabs/bashbox.
ماذا يعني هذا للمطورين؟
بالنسبة لمطوري PHP الذين يعملون على دمج وكلاء الذكاء الاصطناعي في تطبيقاتهم، يمثل BashBox أداة قوية وضرورية. فهو يوفر طريقة آمنة ومتحكم بها للسماح لوكلاء الذكاء الاصطناعي بتوليد وتنفيذ أوامر Bash، دون المخاطرة بسلامة الخادم أو البيانات. القدرة على ضبط قيود صارمة على التنفيذ ونظام الملفات والوصول إلى الشبكة تجعل BashBox مثاليًا لإنشاء بيئات ساندبوكس لوكلاء AI، خاصة عند استخدام أدوات مثل Laravel AI SDK. هذا يفتح الباب لتطبيقات AI أكثر تعقيدًا وقدرة، مع الحفاظ على معايير الأمان العالية التي نحتاجها في مشاريعنا.
المصدر: laravel-news.com