Explore the complete learning track from Linux fundamentals to advanced GitOps and Terraform. Packed with practical terminal sessions and real-world architectures.
Lesson 3 of 8•35 min
Container & Filesystem CVE Scanning with Trivy
When you write FROM node:20 in a Dockerfile, you are not just pulling Node.js — you are pulling a complete Linux distribution (Debian/Ubuntu) with over 400 OS packages (OpenSSL, curl, systemd, libc).
If any of those underlying packages contain a Common Vulnerability and Exposure (CVE), your entire production cluster is exposed to remote code execution.
100%
Rendering interactive visual diagram...
Understanding CVSS Severity Levels
Vulnerabilities are graded using the Common Vulnerability Scoring System (CVSS):
Severity
CVSS Score
Production Policy
Action Required
CRITICAL
9.0 - 10.0
⛔ Immediate Block
CI build fails; must fix before deploy (Remote Code Execution)
HIGH
7.0 - 8.9
⚠️ Block or 48h SLA
Patch or upgrade base image within 48 hours
MEDIUM
4.0 - 6.9
ℹ️ Log & Triage
Address in next sprint maintenance
LOW
0.1 - 3.9
ℹ️ Informational
Low risk; address during regular dependency updates
[!TIP]
Switching from a standard Debian image (node:20) to an Alpine image (node:20-alpine) or Google Distroless image (gcr.io/distroless/nodejs20-debian12) eliminates over 95% of all CVEs by removing unnecessary shell utilities, compilers, and package managers!
3. Generating a Software Bill of Materials (SBOM)
Many enterprise contracts and compliance standards (such as US Executive Order 14028) require providing an SBOM — a formal list of every ingredient in your software artifact.