
Sorgente complementare per il video YouTube "Stop Mounting docker.sock — Run Trivy Without Giving Away Root Access — (inspired by CVE-2026-33634)"
Repository di supporto per il video: Stop Mounting docker.sock — Run Trivy Without Giving Away Root Access — (inspired by CVE-2026-33634)
https://www.youtube.com/watch?v=xLTYzfPY3xI
Questo repository contiene l'applicazione web di esempio e il prompt di Claude Code utilizzati nel video per dimostrare:
/var/run/docker.sock in un container concede a quel container accesso root al tuo hostdocker save + un bind mount tar in sola lettura invece dell'API del socket Dockermy-calc-app/Un'applicazione calcolatrice Next.js/React con un Dockerfile di produzione multi-stage (node:20-alpine, utente non-root). Questa è l'app scansionata da Trivy nel video.
Build ed esecuzione:
cd my-calc-app
docker build -t my-calc-app:prod .
docker run -p 3000:3000 my-calc-app:prod
L'app sarà disponibile all'indirizzo http://localhost:3000.
Nota: Il file public/secret.txt contiene una chiave privata RSA fittizia. Questo è intenzionale — esiste affinché lo scanner di segreti di Trivy la rilevi durante la prima scansione nel video, dimostrando la capacità di rilevamento dei segreti di Trivy. Non è una chiave reale.
prompts/trivy-report-for-prod-docker-prompt.mdIl prompt di Claude Code utilizzato nel video per analizzare l'output di scansione JSON di Trivy. Classifica le vulnerabilità per posizione (dipendenze dell'app vs. pacchetti del sistema operativo vs. interni npm/yarn) e produce un verdetto di rilascio/non-rilascio.
Per usarlo con la tua immagine:
# 1. Esporta la tua immagine come file tar
docker save my-calc-app:prod -o my-calc-app-prod.tar
# 2. Esegui Trivy sul tar (nessun docker.sock necessario)
docker run --rm \
-v trivy-cache:/root/.cache/ \
-v ./my-calc-app-prod.tar:/image.tar:ro \
aquasec/trivy:latest image --input /image.tar -f json > report.json
# 3. Chiedi a Claude Code di analizzare il report
claude -p "$(cat prompts/trivy-report-for-prod-docker-prompt.md) report.json"
Invece di:
# Concede al container accesso root completo al tuo host tramite l'API Docker
docker run -v /var/run/docker.sock:/var/run/docker.sock aquasec/trivy image my-app:latest
Fai così:
# 1. Salva l'immagine in un file tar
docker save my-calc-app:prod -o my-calc-app-prod.tar
# 2. Monta solo il file tar (in sola lettura), nessun accesso al socket
docker run --rm \
-v trivy-cache:/root/.cache/ \
-v ./my-calc-app-prod.tar:/image.tar:ro \
aquasec/trivy@sha256:<pin-to-digest> image --input /image.tar -f json > report.json
Fissa l'immagine Trivy con un digest SHA256 invece di un tag per resistere ad attacchi alla supply chain come CVE-2026-33634.