OpenBot: بنية وكلاء المتصفح وضوابطهم وحدود الأمان
تقييم وثائقي لبوابة OpenBot والسياسات وسجلات التدقيق والتحكم البشري وما يجب اختباره قبل ربط حسابات حقيقية.
يعتمد هذا المقال على الوثائق العامة. الأمثلة المقترحة ليست نتائج عملاء، ولم نجر اختبارات استخدام للمنتج لهذا المقال.
OpenBot: بنية وكلاء المتصفح وضوابطهم وحدود الأمان
الإجابة المختصرة
OpenBot مشروع مفتوح المصدر لزملاء عمل بالذكاء الاصطناعي. لكل Bot متصفح وملفات وأدوات، وتُمرر الإجراءات عبر بوابة تقيّم السياسة وتكتب سجل تدقيق. التصميم يهتم بالأمان، لكن المشروع ما زال يتطور. النتيجة المناسبة هي فحص الضوابط، لا افتراض الأمان للإنتاج. ابدأ ببيئة قابلة للحذف، وأذونات محدودة، وإنسان قادر على التدخل والإيقاف.
تصف CopilotKit ملفات تعريف للمتصفح ومساحة عمل وأدوات ممنوحة وسجل إجراءات. يتولى خادم Hono المصادقة والسياسات والتدقيق والإضافات والقنوات، بينما حاسوب الوكيل جزء منفصل. هذه حدود تصميم مفيدة وليست دليلاً على أمان نشر معين.
هذه مراجعة للوثائق. لم ننسخ المستودع أو نشغّل Docker أوPodman أو نفحص قاعدة البيانات أو نختبر تجاوز السياسات أو نقيس موثوقية المتصفح.
كيف تعمل البنية؟
مراجعة 7 أكتوبر: الإصدار v0.1.1
تُظهر ملاحظات v0.1.1 أنه الأحدث، بدلاً من v0.0.15 بوصفه المرجع الحالي. تصف إصلاحات لإخفاء الأسرار من أوامر shell المسجلة، وتقييد أسماء مضيف loopback، والتعامل مع المضيف العام في وضع المستخدم الواحد، وسلوك Stop والإلغاء. تذكر أيضاً تقييد عناوين بيانات تعريف السحابة ومعالجة TLS لقواعد البيانات المُدارة. هذه أقوال فريق الصيانة، وليست نتائج اختبارات أجريناها.
بعد الترقية أعد اختبار إخفاء الأسرار ورفض الوجهات الخاصة والمصادقة وإيقاف العمل الجاري. افحص السجلات قبل إرسالها إلى الدعم، فقد تتضمن بيانات دخول. رقم إصدار أحدث لا يضمن نشرًا آمناً.
سياق سابق: تغييرات v0.0.15
تصف الملاحظات السابقة وصولاً اختيارياً للنماذج باستخدام OAuth من Google أوxAI، وتحسينات إعداد سطح المكتب وإصلاح بدء التشغيل في Windows. كان الوصول بمفتاح API مستمراً. هذا سياق تاريخي، لا ادعاء بأن الإصدار ما زال الأحدث أو أننا اختبرنا ميزاته.
يتطلب OAuth ملف بيانات اعتماد مضبوطاً؛ لا يظهر الخيار من دون الإعداد. ويتطلب تسجيل Google عميل سطح المكتب المسجل ومشروع الحصة. تنزيل التطبيق لا يوفر كل المتطلبات. تشمل الملاحظات اختيار المنفذ المحلي تلقائياً، وتثبيت إصدار Bun، وتصحيح مسار Compose في Windows.
حدّ حذف مهم: إعادة ضبط سطح المكتب الموصوفة تحذف وحدة تخزين قاعدة بيانات النشر القديم. احفظ السجلات المطلوبة واحصل على موافقة المالك قبل استخدامها. ثبت الإصدار المختبر وأعد اختبار الرفض والتدخل والتدقيق بعد الترقية. سهولة الإعداد لا تثبت عزلًا أقوى أو جاهزية للإنتاج.
يعرض README واجهة التطبيق وخادم البوابة وحاسوب الوكيل الذي يشغل Chromium وملفات التعريف ومساحة العمل وخدمات Bot أوالمشرف. تحل البوابة الوجهة، وتقيّم السياسة، وتسجل القرار، ثم تستدعي الحاسوب. ينبغي إبقاء نقاط الحاسوب الدنيا خاصة لمنع تجاوز البوابة.
| الطبقة | الوظيفة الموصوفة | ما يجب إثباته في التجربة |
|---|---|---|
| الهوية والأذونات | وصول صريح للأدوات والموصلات | سحب الإذن يمنع العمل عبر جميع المسارات |
| البوابة | الوجهة والسياسة والسجل قبل التنفيذ | تطابق السجل مع الهدف والمعاملات والنتيجة |
| الحاسوب | متصفح وملفات ومساحة مستقلة | عدم الوصول إلى الإنتاج أو ملفات Bot آخر |
| التحكم البشري | توقف Bot أثناء قيادة الإنسان | توقف تغييرات shell والملفات والخلفية أيضاً |
| التشغيل | إرشادات Compose وKubernetes والأسرار | مسؤول واضح للتحديث والنسخ والسجلات والشبكة |
ما يبدو جيداً في الوثائق
السياسة قبل الإجراء
تصف الملاحظات قواعد CEL تعمل بمنطق الرفض عند الخطأ: يجب ألا تسمح القاعدة المعطوبة أو غير المعروفة بالعمل بصمت. بذلك يصبح اقتراح النموذج طلباً يفحصه نظام مستقل. اختبر رفض فتح صفحة وأمر shell وكتابة ملف واستدعاء إضافة. يجب تسمية القاعدة وتسجيل الرفض دون تسريب أسرار.
حاسوب وملف تعريف لكل Bot
قد يقلل الفصل الوصول العرضي بين المهام ويجعل إعادة الضبط أوضح. لكنه لا يلغي مخاطر حساب حقيقي. ملف متصفح متصل بلوحة إنتاج يملك وصول إنتاج، مهما كان اسم الحاوية.
تدقيق يشمل الرفض والفشل
تسجيل المسموح والمرفوض والفاشل أفضل من تسجيل النقرات الناجحة وحدها. احفظ المستخدم المبادر وBot والوجهة والقرار والمعاملات بعد إخفاء الأسرار والنتيجة والوقت. حدد من يقرأ السجل أو يصدره.
تدخل الإنسان
يسمح “take the wheel” بقيادة المتصفح أثناء توقف Bot، بما في ذلك تسجيل الدخول. ليس نظام موافقات كاملاً. تحقق من توقف shell والملفات والعمل المجدول، ومن معرفة الإنسان بالحساب المفتوح وأذوناته.
ما لم يثبت بعد
لا تكفي الوثائق لإثبات جاهزية الإنتاج أو شهادة أمن أو sandbox مضمون أو أداء مستقر. لا تستنتج من الرسم وحده أن:
هذه شروط قبول تُختبر في بيئتك، وليست حقائق يثبتها README.
- حقن التعليمات لا يمكن أن يخدع Bot؛
- المتصفح لا يستطيع بلوغ خدمة داخلية؛
- سجل التدقيق يظل كاملاً عند تعطل الشبكة؛
- الحاوية تحقق متطلباتك التنظيمية أو العزل؛
- القواعد تشمل كل أداة أو موصل جديد؛
- الوكيل يتوقف بعد انتهاء المهلة بدل إعادة المحاولة.
تجربة أولى يمكن التحكم بها
اختر عملاً قابلاً للتراجع: فرز بريد اصطناعي، أو تسمية تذاكر اختبار، أو جمع معلومات عامة في ملف. لا تبدأ بالمصارف أو الرواتب أو حذف العملاء أو نشر الإنتاج أو بريد حساس.
- 1. احصر جميع المسارات: ملف المتصفح وshell والملفات وأدوات MCP والإضافات والخروج إلى الشبكة والمواعيد. سجل أقصى ضرر لكل مسار. المسار غير المعروف يعني أن التجربة غير جاهزة.
- 2. ابدأ بالرفض: دون إرسال خارجي أو أوامر حذف أو بيانات دخول إنتاج أو وصول لبيانات تعريف داخلية. أضف سماحاً محدوداً في كل مرة، وراجع السياسة مثل الكود واحفظ إصداراتها.
- 3. اختبر الرفض والمقاطعة والتعافي: وجهة محظورة، ملف Bot آخر، أمر غير معتمد وإعادة إجراء بعد timeout. تدخل أثناء تسجيل الدخول، وأوقف العمل، واسحب الإذن وأعد تشغيل الخدمة. سجل ما حدث وهل يمكن إعادة بناء القصة من التدقيق.
- 4. افحص النتيجة الحقيقية: طابق صورة المتصفح وURL والسجل النهائي وسطر التدقيق. نجاح الأداة لا يثبت التغيير المقصود. عند timeout افحص الحساب قبل المحاولة كي لا تكرر الإرسال.
من الطلب إلى إجراء مسجل
تدفق قبول مقترح، لا تشغيل حقيقي لـOpenBot. المثال قائمة دعم اصطناعية.
- 1. حدد الحدود: حساب مؤقت وقائمة اختبار وإجراء قراءة/كتابة محدود ومالك معلوم. يسمح Bot بتسمية تذاكر وحفظ ملاحظة، لا بريد أوفواتير عملاء. توقف إذا لزم حساب إنتاج أو مسار شبكة غير موثق.
- 2. مرر الطلب بالبوابة: يجب تحديد الهدف وفحص السياسة وتسجيل القرار قبل التنفيذ. اسمح بالتسمية وارفض تصدير تذاكر غير مرتبطة مع اسم القاعدة. توقف إذا أمكن الوصول للحاسوب مباشرة أو غاب السجل.
- 3. قاطع بأمان: تولّ القيادة وأوقف العمل واسحب الإذن مع فحص المتصفح وshell. بعد تسجيل الإنسان للدخول يبقى Bot متوقفاً حتى إعادة التحكم صراحة. توقف إن استمرت كتابة ملفات أو مهام مجدولة.
- 4. طابق الأدلة: راجع التدقيق والنتيجة وفرق الملف وحالة الحساب. يجب رؤية تغيير واحد وملاحظة مع إخفاء الأسرار وتوثيق التعافي. توقف إن بقيت النتيجة مجهولة بعد timeout أو تعذر تصديرها.
أسئلة أمنية
هل هو أكثر أماناً من برنامج أتمتة عادي؟
السياسة والتدقيق والتدخل أكثر وضوحاً في التصميم. الفائدة مشروطة بخضوع جميع المسارات لها. قارن حالات السماح والرفض والتدخل والتعافي، لا نجاح نقرة واحدة.
هل يمكن استخدام بيانات الدخول الحالية؟
يصف المشروع ملفات متصفح وتدخلاً بشرياً لتسجيل الدخول. توافق حساب أوMFA أوسياسة مؤسسية يعتمد على البيئة. استخدم حساباً مخصصاً قليل الصلاحيات وافحص حفظ بيانات الدخول وتدويرها وإلغاء الوصول قبل استيراد جلسة.
هل هو جاهز للإنتاج؟
المستودع والإصدارات دليل على مشروع نشط لا شهادة نضج. راجع الكود وصور الحاويات والتبعيات والإعداد وثبت النسخ. نفذ تحليل تهديد واختبار استعادة نسخة احتياطية وتمرين حادث قبل ربط أنظمة مالية أوعملاء.
ماذا تختبر شركة صغيرة في الهند أوالولايات المتحدة؟
ابدأ بقراءة عامة وبيانات اصطناعية: بحث صفحات، تصنيف قائمة تجريبية أومسودة للموافقة. قلل البيانات، واحصل على الموافقة حيث تلزم، وحدد مالك الحساب ومتطلبات الاحتفاظ المحلية ومن يستطيع الإيقاف.
الخلاصة
الفكرة المفيدة هي وضع حد للسياسة والتدقيق بين اقتراح النموذج والحاسوب الحقيقي. يصلح ذلك أساساً لتجربة محدودة، لا ضماناً عاماً. لا تمنح بيانات دخول إنتاج قبل اختبار جميع طرق الفعل والرفض والمقاطعة والتعافي والسجلات.
المصادر
- ملاحظات v0.1.1
- ملاحظات v0.0.15
- README الرسمي
- الإصدارات الرسمية
- وثائق البنية
- تحديث CopilotKit v0.0.5
- OWASP: أمن الوكلاء
مصادر المعلومات
هذه المصادر الرسمية للمقال الأصلي. كثير من صفحاتها باللغة الإنجليزية.