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

vex8s v0.5.0

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

مشاركة

Vex8s

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

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

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

كيف يعمل

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

vex8s-logic

ويستند إلى المفهوم التالي:

  • تُصنَّف كل ثغرة CVE ضمن فئة أو أكثر من فئات الثغرات (CWE)
  • يُعالَج وصف ثغرة CVE بواسطة نموذج تعلّم آلي مضمَّن للتنبؤ بـفئة الاستغلال الخاصة بها.
  • تُدمَج كلٌّ من ثغرات CWE وفئات الاستغلال المتوقَّعة لتحديد ما إذا كانت ثغرة CVE قابلة للتخفيف.
  • تُقابِل كل فئة استغلال مجموعةً من إعدادات Kubernetes التي يمكنها منع التأثير أو تقليله.
  • من خلال تحليل بيان Kubernetes (manifest)، يمكننا فحص إعدادات الحاوية لتقييم ما إذا كانت الإعدادات ذات الصلة مُطبَّقة.
  • يتيح الجمع بين التحليلين للنظام تحديد ما إذا كانت ثغرة 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:

# generate vulnerability report.
trivy image --format json --output nginx.trivy.json nginx:1.21.0

# generate VEX document by processing vulnerability report.
vex8s generate --manifest examples/nginx.yaml --report nginx.trivy.json --output nginx.vex.json

# scan again with VEX document to suppress vulnerabilities.
trivy image --vex nginx.vex.json --show-suppressed nginx:1.21.0

يمكن تطبيق الشيء نفسه باستخدام grype:

# generate sbom report.
grype --output cyclonedx-json --file nginx.grype.json nginx:1.21.0

# generate vulnerability report.
grype sbom:./nginx.grype.json --output json --file nginx.grype-vr.json

# generate VEX document by processing vulnerability report.
vex8s generate --manifest examples/nginx.yaml --report nginx.grype-vr.json --output nginx.vex.json

# scan sbom with VEX document to suppress vulnerabilities.
grype sbom:./nginx.grype.json --output table --vex nginx.vex.json --show-suppressed

الوضع النشط

باستخدام trivy:

# scan the image and automatically generate VEX document.
vex8s generate --manifest examples/nginx.yaml --scan.engine trivy --output nginx.vex.json

# scan again with VEX document to suppress vulnerabilities.
trivy image --vex nginx.vex.json --show-suppressed nginx:1.21.0

يمكن تطبيق الشيء نفسه باستخدام grype:

# generate sbom report.
grype --output cyclonedx-json --file nginx.grype.json nginx:1.21.0

# scan the image and automatically generate VEX document.
vex8s generate --manifest examples/nginx.yaml --scan.engine grype --output nginx.vex.json

# scan sbom with VEX document to suppress vulnerabilities.
grype sbom:./nginx.grype.json --output table --vex nginx.vex.json --show-suppressed

المصنّفات

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

  • embedded (الافتراضي): نموذج ONNX ML يعمل دون اتصال ومضمَّن في الملف التنفيذي. لا يتطلب الوصول إلى الشبكة.
  • gemini: يستخدم نموذج Gemini LLM من Google لتصنيف وصف CVE. يتطلب متغيّر البيئة GEMINI_API_KEY (واختياريًا GEMINI_MODEL).
  • ollama: يستخدم خادم Ollama يعمل محليًا لتصنيف وصف CVE. اسحب نموذجًا مثل qwen2.5:3b-instruct أولًا (واختياريًا عيّن OLLAMA_HOST / OLLAMA_MODEL).
export OLLAMA_HOST="http://localhost:11434"
export OLLAMA_MODEL="qwen2.5:3b-instruct"

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

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

المراجع

استُلهم هذا المشروع من مشروع Akihiro Suda vexllm.

الفئات