
vex8s v0.5.0
إخفاء نقاط الضعف من خلال تطبيق سياق Kubernetes على عمليات المسح
Vex8s
(هذا الشعار ليس من إنشاء الذكاء الاصطناعي)
يقوم Vex8s بإنشاء مستندات VEX من خلال الربط بين ثغرات الحاويات وإعدادات Kubernetes لتحديد أي من CVEs يمكن استغلالها فعليًا في مجموعتك.
يرجى ملاحظة أن هذا مشروع تجريبي. قد تتغير الأمور بسرعة.
كيف يعمل
يهدف المشروع إلى تقييم قابلية استغلال CVEs المعروفة داخل أحمال عمل Kubernetes من خلال الجمع بين تصنيف الثغرات وتحليل securityContext.

يعتمد على المفهوم التالي:
- يتم تصنيف كل CVE إلى فئة ثغرة واحدة أو أكثر (CWE)
- تتم معالجة وصف CVE بواسطة نموذج تعلم آلة مدمج للتنبؤ بـ فئة الاستغلال.
- يتم الجمع بين كل من CWEs وفئات الاستغلال المتوقعة لتحديد ما إذا كان يمكن تخفيف CVE.
- كل فئة استغلال تتوافق مع مجموعة من إعدادات Kubernetes التي يمكنها منع أو تقليل التأثير.
- من خلال تحليل بيان Kubernetes، يمكننا فحص إعدادات الحاوية لتقييم ما إذا كانت الإعدادات ذات الصلة موجودة.
- الجمع بين التحليلين يسمح للنظام بتحديد ما إذا كان CVE قابلًا للاستغلال في تكوين حمل العمل المحدد.
- إذا نتج عن ذلك تخفيف CVE، نضيف هذا إلى مستند VEX النهائي.
للاطلاع على قراءة أكثر تعمقًا، يمكنك الرجوع إلى هذه الورقة: Environment-Aware Vulnerability Suppression Using Kubernetes Security Contexts and VEX
التثبيت
يمكنك تنزيل أحدث ثنائي من صفحة الإصدارات.
أو يمكنك بناؤه يدويًا:
make build
الاستخدام
يدعم vex8s حاليًا طريقتين لإنشاء مستندات VEX:
-
الوضع السلبي (passive-mode): تمرير تقرير ثغرات تم إنشاؤه مسبقًا بواسطة
trivyأوgrype. -
الوضع النشط (active-mode): مسح الصور بنشاط باستخدام محركات
trivyأوgrypeثم إنشاء المستند بناءً على النتائج.
الوضع السلبي (موصى به)
باستخدام trivy:
# إنشاء تقرير الثغرات.
trivy image --format json --output nginx.trivy.json nginx:1.21.0
# إنشاء مستند VEX عن طريق معالجة تقرير الثغرات.
vex8s generate --manifest examples/nginx.yaml --report nginx.trivy.json --output nginx.vex.json
# مسح ضوئي مرة أخرى مع مستند VEX لقمع الثغرات.
trivy image --vex nginx.vex.json --show-suppressed nginx:1.21.0
يمكن تطبيق نفس الشيء باستخدام grype:
# إنشاء تقرير SBOM.
grype --output cyclonedx-json --file nginx.grype.json nginx:1.21.0
# إنشاء تقرير الثغرات.
grype sbom:./nginx.grype.json --output json --file nginx.grype-vr.json
# إنشاء مستند VEX عن طريق معالجة تقرير الثغرات.
vex8s generate --manifest examples/nginx.yaml --report nginx.grype-vr.json --output nginx.vex.json
# مسح SBOM ضوئيًا مع مستند VEX لقمع الثغرات.
grype sbom:./nginx.grype.json --output table --vex nginx.vex.json --show-suppressed
الوضع النشط
باستخدام trivy:
# مسح الصورة ضوئيًا وإنشاء مستند VEX تلقائيًا.
vex8s generate --manifest examples/nginx.yaml --scan.engine trivy --output nginx.vex.json
# مسح ضوئي مرة أخرى مع مستند VEX لقمع الثغرات.
trivy image --vex nginx.vex.json --show-suppressed nginx:1.21.0
يمكن تطبيق نفس الشيء باستخدام grype:
# إنشاء تقرير SBOM.
grype --output cyclonedx-json --file nginx.grype.json nginx:1.21.0
# مسح الصورة ضوئيًا وإنشاء مستند VEX تلقائيًا.
vex8s generate --manifest examples/nginx.yaml --scan.engine grype --output nginx.vex.json
# مسح SBOM ضوئيًا مع مستند VEX لقمع الثغرات.
grype sbom:./nginx.grype.json --output table --vex nginx.vex.json --show-suppressed
المراجع
هذا المشروع مستوحى من مشروع Akihiro Suda vexllm.