تخطَّ إلى المحتوى

الأمان

في فبراير 2025، كشفت LayerX Security Research عن ثغرة حرجة لتنفيذ التعليمات البرمجية عن بُعد بدون نقر في إطار عمل إضافات Claude Desktop (DXT) من Anthropic. تعمل الإضافات بدون بيئة معزولة وبصلاحيات نظام كاملة، حيث تعمل كجسور تنفيذ بين النموذج اللغوي ونظام التشغيل المحلي.

تشترط العديد من فرق الأمن المؤسسية الآن أن تعمل أدوات البرمجة بالذكاء الاصطناعي فقط داخل أجهزة افتراضية مخصصة أو حاويات أو بيئات قابلة للإتلاف — وليس مباشرة على نقاط النهاية المؤسسية.

تلبي حاوية التطوير هذه ذلك المتطلب.

+------------------------------------------------+
| Host Machine (corporate endpoint) |
| |
| - No AI tool binaries installed |
| - No AI tool extensions or plugins |
| - Only Docker is required |
| |
| +------------------------------------------+ |
| | Docker Container (isolated) | |
| | | |
| | AI tools run here: | |
| | - Claude Code CLI | |
| | - Codex | |
| | | |
| | No access to: | |
| | x Host filesystem | |
| | x Host keychain / credential store | |
| | x Host clipboard | |
| | x Host network interfaces | |
| | x Other host applications | |
| +------------------------------------------+ |
+------------------------------------------------+

عدم وجود وحدات تخزين مُثبتة من المضيف

Section titled “عدم وجود وحدات تخزين مُثبتة من المضيف”

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

عدم وجود مخازن اعتماد مشتركة

Section titled “عدم وجود مخازن اعتماد مشتركة”

لا تملك الحاوية أي وصول إلى سلسلة مفاتيح macOS أو مدير اعتماد Windows أو ملفات تعريف المتصفح أو وكيل SSH الخاص بالمضيف. يتم حقن مفاتيح SSH عند بدء التشغيل عبر متغير بيئة مُرمّز بـ base64 وتوجد فقط داخل الحاوية.

لا تشارك حاويات Docker حالة الحافظة مع المضيف. لا يمكن تسريب البيانات عبر النسخ/اللصق.

تتواصل الحاوية مع العالم الخارجي عبر أحد وضعي المصادقة المدعومين:

  • وضع وكيل LiteLLM — اتصال HTTPS صادر إلى وكيل LiteLLM الخاص بك عبر NAT الخاص بـ Docker.
  • وضع OAuth — اتصال HTTPS صادر مباشرة إلى Anthropic عبر NAT الخاص بـ Docker.

لا تملك الحاوية أي وصول إلى أنفاق VPN أو واجهات الشبكة المؤسسية أو الخدمات الأخرى على المضيف.

يمكن تدمير البيئة بأكملها وإعادة إنشائها في ثوانٍ. تعامل مع الحاوية على أنها قابلة للإتلاف.

Terminal window
docker compose down -v
docker compose pull && docker compose up -d

تشغّل هذه البيئة أدوات الذكاء الاصطناعي كـواجهات سطر أوامر فقط. لا توجد تطبيقات سطح مكتب، ولا إضافات متصفح، ولا أُطر عمل DXT. الثغرة التي دفعت إلى نموذج العزل هذا لا تنطبق على استخدام سطر الأوامر داخل حاوية.

يطبّق ملف docker-compose.yml عدة تدابير دفاع متعمق:

  • إسقاط القدرات — يتم إسقاط جميع قدرات Linux (cap_drop: ALL)، ثم تتم إعادة إضافة الحد الأدنى فقط: CHOWN وDAC_OVERRIDE وFOWNER (لإصلاح أذونات وحدات التخزين في نقطة الدخول)، وSETUID/SETGID (لأمر sudo)، وNET_RAW (لأوامر ping/tcpdump)، وNET_ADMIN (لأدوات التقاط الحزم مثل Wireshark وbettercap).
  • حدود الموارد — يتم تقييد وحدة المعالجة المركزية (4 أنوية) والذاكرة (8 جيجابايت) وعدد العمليات (4096) عبر mem_limit وcpus وpids_limit لمنع هجمات استنفاد الموارد.
  • tmpfs لمجلد /tmp — يُثبَّت مجلد /tmp كـ tmpfs بحجم 256 ميجابايت، مما يحتفظ بالملفات المؤقتة في الذاكرة ويمنعها من البقاء في طبقة الكتابة الخاصة بالحاوية.
  • التحقق من TLS مُفعّل افتراضياً — لم يتم تعيين NODE_TLS_REJECT_UNAUTHORIZED، لذا يتحقق Node.js من شهادات TLS افتراضياً. يمكن للمستخدمين الذين يحتاجون لقبول شهادات موقعة ذاتياً (مثلاً لوكيل داخلي) الاشتراك بإضافة NODE_TLS_REJECT_UNAUTHORIZED=0 إلى ملف .env الخاص بهم.
  • قناع umask لمفتاح SSH — تُكتب المفاتيح الخاصة بـ SSH تحت umask 077، لذا لا يكون الملف قابلاً للقراءة من الجميع أبداً — حتى لفترة وجيزة — بين الإنشاء واستدعاء chmod.

أدوات اختبار الأمان والاختراق

Section titled “أدوات اختبار الأمان والاختراق”

تتضمن الحاوية حوالي 80 أداة أمان واختبار اختراق مُثبتة مسبقاً لسيناريوهات الاختبار المصرّح بها. الأدوات منظمة حسب الفئة:

الفئةالأدوات (أمثلة)
تحليل الشبكةtshark، wireshark، masscan، hping3، bettercap (amd64)، netdiscover
ماسحات الويبnikto، sqlmap، dirb، whatweb، sslscan، OWASP ZAP، dalfox، feroxbuster
كلمات المرور والمصادقةhydra، john، hashcat، medusa، ncrack
الهندسة العكسيةradare2، Ghidra، gdb، binwalk، strace، ltrace
الاستطلاعsubfinder، amass، httpx، nuclei، gau، waybackurls، recon-ng، spiderfoot
التشويش والتعدادffuf، gobuster، SecLists
سلسلة التوريد والأسرارtrufflehog، grype، syft، gitleaks، trivy
أُطر الاستغلالMetasploit (amd64)، searchsploit (ExploitDB)

بعض الأدوات (bettercap، Metasploit) متاحة فقط على amd64 بسبب قيود التحزيم من المصدر الأصلي. تتطلب أدوات التقاط الحزم (tshark، bettercap) قدرة NET_ADMIN، المضمّنة في ملف docker-compose.yml الافتراضي.

للحصول على القائمة الكاملة، شغّل claude-self-test داخل الحاوية (القسم 7 يفحص جميع أدوات الأمان).

قائمة التحقق من الامتثال

Section titled “قائمة التحقق من الامتثال”
المتطلبالحالة
أدوات الذكاء الاصطناعي غير مُثبتة على نقطة النهاية المضيفةنعم
تعمل في جهاز افتراضي أو حاوية معزولةنعم
لا يوجد وصول إلى مشاركات ملفات المضيفنعم
لا توجد مزامنة حافظةنعم
لا توجد مخازن اعتماد مشتركةنعم
لا يوجد تقسيم نفقي VPN إلى شبكات الإنتاجنعم
البيئة قابلة للإتلافنعم
لا توجد إضافات أو ملحقات سطح مكتبنعم
إسقاط قدرات Linux (أقل صلاحيات)نعم
فرض حدود الموارد (المعالج/الذاكرة/العمليات)نعم
التحقق من شهادات TLS مُفعّل افتراضياًنعم
الخدمات الداخلية مرتبطة بـ localhost فقطنعم
  1. لا تُثبّت أدوات البرمجة بالذكاء الاصطناعي على جهازك المضيف. استخدم هذه الحاوية بدلاً من ذلك.
  2. لا تُضف وحدات تخزين مرتبطة إلى docker-compose.yml. إعداد وحدات التخزين المسماة مقصود.
  3. قم بتدوير مفاتيح SSH المستخدمة داخل الحاوية بشكل دوري.
  4. راجع .env قبل المشاركة. يحتوي على مفاتيح API وقد يحتوي على مفاتيح SSH خاصة.
  5. قم بالتحديث بشكل دوري للحصول على تصحيحات الأمان:
Terminal window
docker compose pull && docker compose up -d