
स्कैन पर Kubernetes संदर्भ लागू करके कमजोरियों को दबाएं
(यह लोगो AI द्वारा उत्पन्न नहीं है)
Vex8s कंटेनर कमजोरियों को Kubernetes सेटिंग्स के साथ सहसंबंधित करके VEX दस्तावेज़ उत्पन्न करता है, ताकि यह निर्धारित किया जा सके कि आपके क्लस्टर में कौन से CVE वास्तव में शोषण योग्य हैं।
कृपया ध्यान दें, यह एक प्रायोगिक परियोजना है। चीजें जल्दी बदल सकती हैं।
यह परियोजना कमजोरी वर्गीकरण और securityContext विश्लेषण को मिलाकर Kubernetes वर्कलोड के भीतर ज्ञात CVE की शोषण क्षमता का आकलन करने का लक्ष्य रखती है।

यह निम्नलिखित अवधारणा पर आधारित है:
अधिक गहन पठन के लिए आप इस पेपर को देख सकते हैं: Environment-Aware Vulnerability Suppression Using Kubernetes Security Contexts and VEX
आप release पृष्ठ से नवीनतम बाइनरी डाउनलोड कर सकते हैं।
या आप इसे मैन्युअल रूप से बना सकते हैं:
make build
vex8s वर्तमान में VEX दस्तावेज़ उत्पन्न करने के 2 तरीकों का समर्थन करता है:
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
# कमजोरियों को दबाने के लिए VEX दस्तावेज़ के साथ sbom स्कैन करें।
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
# कमजोरियों को दबाने के लिए VEX दस्तावेज़ के साथ sbom स्कैन करें।
grype sbom:./nginx.grype.json --output table --vex nginx.vex.json --show-suppressed
प्रत्येक CVE को एक या अधिक शोषण वर्गों में वर्गीकृत किया जाता है, जो शमन निर्णय को संचालित करते हैं। vex8s --classifier के माध्यम से दो वर्गीकरणकर्ता इंजनों का समर्थन करता है:
embedded (डिफ़ॉल्ट): एक ऑफ़लाइन ONNX ML मॉडल जो बाइनरी में बंडल है। किसी नेटवर्क एक्सेस की आवश्यकता नहीं है।gemini: CVE विवरण को वर्गीकृत करने के लिए Google के Gemini LLM का उपयोग करता है। 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 वर्गीकरणकर्ता सेटअप और संपूर्ण फ्लैग संदर्भ के लिए दस्तावेज़ीकरण देखें — विशेष रूप से उपयोगकर्ता गाइड।
यह परियोजना Akihiro Suda की परियोजना vexllm से प्रेरित थी।