Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
gvisor — يعزل الحاويات في بيئة رملية (Sandbox) عبر نواة تطبيق تعمل في فضاء المستخدم تعترض استدعاءات النظام، وتحدّ من وصول نواة المضيف، وتتكامل مع Docker/Kubernetes من خلال بيئة تشغيل OCI. | Kitploit
أدوات/GitHubGitHub/google/gvisor
أمن البنية التحتية السحابيةأدوات دفاعيةأمن الحاوياتالمحاكاة الافتراضية للأمانأمن السحابة
GitHubgoogle/gvisor

gvisor

يعزل الحاويات في بيئة رملية (Sandbox) عبر نواة تطبيق تعمل في فضاء المستخدم تعترض استدعاءات النظام، وتحدّ من وصول نواة المضيف، وتتكامل مع Docker/Kubernetes من خلال بيئة تشغيل OCI.

عرض المستودع
19.1k1.9kمنذ يوم واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

gVisor

Build status Issue reviver CodeQL gVisor chat code search

ما هو gVisor؟

gVisor يوفر طبقة قوية من العزل بين التطبيقات قيد التشغيل ونظام التشغيل المضيف. إنه نواة تطبيق تنفّذ واجهة شبيهة بلينكس. على عكس لينكس، فهو مكتوب بلغة آمنة من حيث الذاكرة (Go) ويعمل في مساحة المستخدم.

يتضمن gVisor بيئة تشغيل مبادرة الحاويات المفتوحة (OCI) تُسمى runsc تسهّل العمل مع أدوات الحاويات الموجودة. تتكامل بيئة تشغيل runsc مع Docker وKubernetes، مما يجعل تشغيل الحاويات المعزولة (sandboxed) أمرًا بسيطًا.

ما ليس gVisor؟

  • gVisor ليس مُرشّح استدعاءات نظام (syscall filter) (مثل seccomp-bpf)، وليس غلافًا فوق بدائيات عزل لينكس (مثل firejail, AppArmor، وما إلى ذلك).
  • gVisor أيضًا ليس جهازًا افتراضيًا (VM) بالمعنى اليومي للمصطلح (مثل VirtualBox, QEMU).

يتّبع gVisor نهجًا ثالثًا مميزًا، إذ يوفّر العديد من الفوائد الأمنية للأجهزة الافتراضية مع الحفاظ على بصمة موارد أقل، وسرعة إقلاع عالية، ومرونة التطبيقات العادية في مساحة المستخدم.

لماذا يوجد gVisor؟

الحاويات ليست صندوق رمل (sandbox). في حين أحدثت الحاويات ثورة في طريقة تطويرنا للتطبيقات وتعبئتها ونشرها، فإن استخدامها لتشغيل تعليمات برمجية غير موثوقة أو يُحتمل أن تكون خبيثة دون عزل إضافي ليس فكرة جيدة. وبينما يسمح استخدام نواة واحدة مشتركة بتحقيق الكفاءة ومكاسب الأداء، فإنه يعني أيضًا أن الهروب من الحاوية ممكن بثغرة واحدة.

gVisor هو نواة تطبيق للحاويات. يحدّ من سطح نواة المضيف الذي يمكن للتطبيق الوصول إليه مع الاستمرار في منح التطبيق إمكانية الوصول إلى جميع الميزات التي يتوقعها. على عكس معظم الأنوية، لا يفترض gVisor أو يتطلب مجموعة ثابتة من الموارد المادية؛ بل يستفيد من وظائف نواة المضيف الموجودة ويعمل كعملية عادية. بعبارة أخرى، ينفّذ gVisor لينكس عبر لينكس.

لا ينبغي الخلط بين gVisor وبين التقنيات والأدوات الهادفة إلى تحصين الحاويات ضد التهديدات الخارجية، أو توفير فحوصات سلامة إضافية، أو تحديد نطاق الوصول لخدمة معينة. يجب دائمًا توخي الحذر بشأن البيانات التي يتم إتاحتها للحاوية.

التوثيق

وثائق المستخدم والبنية التقنية، بما في ذلك أدلة البدء السريع، متاحة في gvisor.dev.

التثبيت من المصدر

يُبنى gVisor على معماريتي x86_64 وARM64. قد تتوفر بنى معمارية أخرى في المستقبل.

لأغراض هذه التعليمات، يتم تغليف bazel وتبعيات البناء الأخرى في حاوية بناء. يمكن استخدام bazel مباشرة، أو كتابة make help للحصول على الأهداف القياسية.

المتطلبات

تأكد من تثبيت التبعيات التالية:

  • Linux 5.6+
  • Docker الإصدار 17.09.0 أو أحدث

البناء

أنشئ حزمة tar للإصدار تحتوي على runsc، وcontainerd-shim-runsc-v1 شيم containerd، وعدد قليل من الملفات الثنائية المساعدة التي يتوقع runsc العثور عليها في دليل gvisor-bin/ بجوار نفسه، ثم استخرجها إلى /usr/local/bin:

root@kitploit:~
make release-tarball DESTINATION=bin/
sudo tar -C /usr/local/bin -xf bin/gvisor.tar.bz2

لبناء مكتبات أو ملفات ثنائية محددة، يمكنك تحديد الهدف:

root@kitploit:~
make build TARGETS="//pkg/tcpip:tcpip"

البناء مباشرة باستخدام Bazel (بدون Docker)

لا يُنصح باستخدام Bazel مباشرة بسبب الحمل الإضافي، لكن للبدء:

  • اطّلع على ملف Dockerfile للبناء للحصول على القائمة الأساسية للتبعيات المطلوبة.
  • ثبّت واستخدم bazelisk. وإلا، تأكد من أن إصدار bazel لديك يطابق الإصدار المدرج في ملف .bazelversion.

بعد إعداد التبعيات، يكون استخدام Bazel مشابهًا لاستخدام Makefile:

root@kitploit:~
bazel build -c opt //debian:gvisor-release-tar

الاختبار

لتشغيل مجموعات الاختبار القياسية، يمكنك استخدام:

root@kitploit:~
make unit-tests
make tests

لتشغيل اختبارات محددة، يمكنك تحديد الهدف:

root@kitploit:~
# Makefile
make test TARGETS="//runsc:version_test"
# Bazel
bazel test //runsc:version_test

Mac OS

تدعم بعض الحزم تشغيل الاختبارات مباشرة على macOS. وقت كتابة هذا النص، يتطلب gVisor bazel 8، ويمكنك تثبيته عبر homebrew:

root@kitploit:~
brew install bazel@8

# You can then run the tests, e.g.:
$(brew --prefix bazel@8)/bin/bazel test --macos_sdk_version=$(xcrun --show-sdk-version) -- //tools/nogo/... //tools/check{aligned,const,escape,linkname,locks,unsafe}/...

استخدام go get

يستخدم هذا المشروع bazel لبناء وإدارة التبعيات. يتم الحفاظ على فرع go اصطناعي متوافق مع أدوات go القياسية لتحقيق الراحة. وهذا مفيد للحزم والمكتبات الخارجية التي تعتمد على الحزم الفرعية لـ gVisor (مثل الشبكات في مساحة المستخدم عبر Netstack) لاستيراد كود Go الخاص بـ gVisor في مشاريع Go الخاصة بها.

حدد هذا الفرع صراحةً باستعلام الفرع go. يحل @latest إلى master، الأمر الذي يتطلب Bazel وغير متوافق مع أدوات Go القياسية:

root@kitploit:~
go get gvisor.dev/gvisor/pkg/tcpip/transport/tcp@go

ملاحظة: إصدارات runsc المبنية من هذا الفرع غير مدعومة. يتطلب gVisor وrunsc عدة ملفات ثنائية (بعضها غير مكتوب حتى بلغة Go) لكي يعملا. فرع go مدعوم بأفضل جهد ممكن، ولا يُدعم التطوير المباشر على هذا الفرع. يجب أن يتم التطوير على فرع master، ثم ينعكس إلى فرع go.

المجتمع والحوكمة

انظر GOVERNANCE.md للحصول على معلومات حوكمة المشروع.

تُعد القائمة البريدية gvisor-users والقائمة البريدية gvisor-dev نقطتي بداية جيدتين للأسئلة والنقاشات.

السياسة الأمنية

انظر SECURITY.md.

المساهمة

انظر CONTRIBUTING.md.

تنزيل الأداة