BM: Baca dalam Bahasa Melayu
World C2: Container Pipelines
Stop the line on critical CVEs
You will learn: to scan every image and stop the line on a critical hole.
Checked with GitHub Actions 2026-10 on 31 Oct 2026
The problem
The food inspector finds a recalled ingredient in tonight’s packs. What should the belt do?
Pick one answer.
Watch
A CVE: A public ID for a known security hole, like CVE-2099-0001. Each gets a severity. is a public ID for a known hole, like CVE-2099-0001. Scanners give each one a severity. Put them in order, mildest first.
Mildest at the top. Put these in order. Use the arrows, or drag.
- MEDIUM
- LOW
- HIGH
- CRITICAL
Predict
Trivy scans for CRITICAL holes, and the image has one. Tap the station that will stop the line. Or tap “Nothing stops it”.
Which station will stop the line? Tap it, then press Run.
Workflow file .github/workflows/scan.yml
name: Scan on: push: branches: [main] permissions: contents: read jobs: scan: runs-on: ubuntu-latest steps: - uses: docker/setup-buildx-action@v4 - uses: docker/build-push-action@v7 with: load: true tags: kedai-kancil:scan - uses: aquasecurity/trivy-action@v0.36.0 with: image-ref: kedai-kancil:scan severity: CRITICAL
The line
Push to main · main
Hint
Read the last lines of the Trivy step. What is missing?Watch
Tap the line that turns a finding into a red station.
0 of 1 found
Trivy ends with exit code 0 unless you ask. exit-code: '1' makes a finding fail the step. Red station, line stops.
Try it
Same image, now with exit-code: '1'. Press Run.
Pick an event. Press Run and watch the line.
Workflow file .github/workflows/scan.yml
name: Scan on: push: branches: [main] permissions: contents: read jobs: scan: runs-on: ubuntu-latest steps: - uses: docker/setup-buildx-action@v4 - uses: docker/build-push-action@v7 with: load: true tags: kedai-kancil:scan - uses: aquasecurity/trivy-action@v0.36.0 with: image-ref: kedai-kancil:scan severity: CRITICAL exit-code: '1'
The line
Push to main · main
Check
Good scan habit? Swipe right for yes, left for “needs work”.
Swipe right for good, left for needs work. Or use the buttons.
Scan the exact image you are about to push
You did it!
You can now stop the line on a critical hole.
Go deeper (optional)
ignore-unfixed: true skips holes that have no fix yet. Docker Scout does the same job with docker/scout-action. Old images get new CVEs too. Scan them again on a schedule.
Real rep (optional), with Trivy installed from its official docs:
Real mission
trivy image --severity CRITICAL --exit-code 1 alpine:3.22echo $?
0 of 3 steps done · Your ticks are saved.
Bahasa Melayu
Pemeriksa makanan jumpa bahan yang ditarik balik dalam pek malam ini. Apa patut tali sawat buat?
CVE ialah ID awam untuk lubang yang diketahui, contohnya CVE-2099-0001. Pengimbas beri setiap satu tahap bahaya. Susun dari yang paling ringan.
Trivy imbas lubang CRITICAL, dan image ini ada satu. Ketik stesen yang akan hentikan talian. Atau ketik “Tiada yang hentikannya”.
Trivy tamat dengan kod keluar 0 melainkan anda minta. exit-code: '1' buat penemuan gagalkan langkah. Stesen merah, talian berhenti.
Image yang sama, kini dengan exit-code: '1'. Tekan Run.
Tabiat imbasan yang bagus? Leret ke kanan untuk ya, ke kiri untuk “perlu dibaiki”.
Kini anda boleh hentikan talian bila ada lubang kritikal.
You finished this before. Practice is always welcome!
Official docs: aquasecurity/trivy-action · Docker Scout in GitHub Actions · About CVE records
You've learned for 25 minutes. A short break helps your brain.
Sprint done! Great focus. Stretch for a minute?