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

ويستند إلى المفهوم التالي:
لمزيد من القراءة المتعمقة، يمكنك الرجوع إلى هذه الورقة البحثية: 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 يعمل دون اتصال
ومضمَّن في الملف التنفيذي. لا يتطلب الوصول إلى الشبكة.gemini: يستخدم نموذج Gemini LLM من Google لتصنيف وصف ثغرة CVE.
يتطلب متغير البيئة GEMINI_API_KEY (واختياريًا GEMINI_MODEL).ollama: يستخدم خادم Ollama قيد التشغيل محليًا
لتصنيف وصف ثغرة CVE. اسحب نموذجًا مثل
qwen2.5:3b-instruct أولًا (واختياريًا اضبط OLLAMA_HOST / OLLAMA_MODEL).export GEMINI_API_KEY="your-api-key"
vex8s generate --manifest examples/nginx.yaml --report nginx.trivy.json \
--output nginx.vex.json --classifier ollama
راجع التوثيق، وتحديدًا دليل المستخدم للحصول على شرح كامل، وإعداد مصنِّفي Gemini وOllama، ومرجع كامل للخيارات (flags).
استُلهم هذا المشروع من مشروع Akihiro Suda المسمّى vexllm.