العودة إلى التحديثات
New releaseAug 23, 2026

vex8s v0.5.0

إخفاء نقاط الضعف من خلال تطبيق سياق Kubernetes على عمليات المسح

مشاركة

Vex8s

vex8s (هذا الشعار ليس مولّدًا بالذكاء الاصطناعي)

يقوم Vex8s بإنشاء مستندات VEX من خلال ربط ثغرات الحاويات بإعدادات Kubernetes لتحديد أي CVEs قابلة للاستغلال فعليًا في مجموعتك.

يرجى ملاحظة أن هذا مشروع تجريبي. قد تتغير الأمور بسرعة.

كيف يعمل

يهدف المشروع إلى تقييم قابلية استغلال CVEs المعروفة ضمن أعباء عمل Kubernetes من خلال الجمع بين تصنيف الثغرات وتحليل securityContext.

vex8s-logic

يعتمد على المفهوم التالي:

  • يتم تصنيف كل CVE في فئة واحدة أو أكثر من فئات الثغرات (CWE)
  • تتم معالجة وصف CVE بواسطة نموذج تعلم آلي مدمج للتنبؤ بفئة الاستغلال الخاصة به.
  • يتم دمج كل من CWEs وفئات الاستغلال المتوقعة لتحديد ما إذا كان يمكن تخفيف CVE.
  • كل فئة استغلال ترتبط بمجموعة من إعدادات Kubernetes التي يمكنها حظر التأثير أو تقليله.
  • من خلال تحليل بيان Kubernetes، يمكننا فحص إعدادات الحاوية لتقييم ما إذا كانت الإعدادات ذات الصلة موجودة.
  • يؤدي الجمع بين التحليلين إلى تمكين النظام من تحديد ما إذا كان CVE قابلاً للاستغلال في تكوين عبء عمل معين.
  • إذا نتج عن ذلك تخفيف CVE، نضيف ذلك إلى مستند VEX النهائي.

للاطلاع على قراءة أكثر تعمقًا، يمكنك الرجوع إلى هذه الورقة البحثية: Environment-Aware Vulnerability Suppression Using Kubernetes Security Contexts and VEX

التثبيت

يمكنك تنزيل أحدث ثنائي من صفحة الإصدارات.

أو يمكنك بناؤه يدويًا:

make build

الاستخدام

يدعم vex8s حاليًا طريقتين لإنشاء مستندات VEX:

  • الوضع السلبي: تمرير تقرير ثغرات مُنشأ مسبقًا بواسطة trivy أو grype.

  • الوضع النشط: فحص الصور بنشاط باستخدام محركات 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

المصنفات

يتم تصنيف كل CVE في فئة واحدة أو أكثر من فئات الاستغلال، والتي توجه قرار التخفيف. يدعم vex8s محركي تصنيف عبر --classifier:

  • embedded (الافتراضي): نموذج تعلم آلي ONNX دون اتصال مدمج في الثنائي. لا يتطلب وصولًا إلى الشبكة.
  • gemini: يستخدم نموذج Gemini اللغوي الكبير من Google لتصنيف وصف CVE. يتطلب متغير البيئة GEMINI_API_KEY (واختياريًا GEMINI_MODEL).
export GEMINI_API_KEY="your-api-key"

vex8s generate --manifest examples/nginx.yaml --report nginx.trivy.json \
  --output nginx.vex.json --classifier gemini

راجع التوثيق — وبشكل خاص دليل المستخدم — للحصول على شرح كامل، وإعداد مصنف Gemini، ومرجع كامل للخيارات.

المراجع

استلهم هذا المشروع من مشروع أكيهيرو سودا vexllm.

الفئات