
Begleitquelle zum YouTube-Video „Stop Mounting docker.sock — Run Trivy Without Giving Away Root Access — (inspired by CVE-2026-33634)“
Begleit-Repository zum Video: Stoppt das Mounten von docker.sock — führt Trivy aus, ohne Root-Zugriff preiszugeben — (inspiriert von CVE-2026-33634)
https://www.youtube.com/watch?v=xLTYzfPY3xI
Dieses Repository enthält die Beispiel-Web-App und den Claude-Code-Prompt, die im Video verwendet werden, um Folgendes zu demonstrieren:
/var/run/docker.sock in einen Container diesem Container Root-Zugriff auf deinen Host gewährtdocker save + einem schreibgeschützten Tar-Bind-Mount anstelle der Docker-Socket-APImy-calc-app/Eine Next.js/React-Rechner-App mit einem mehrstufigen Produktions-Dockerfile (node:20-alpine, Nicht-Root-Benutzer). Dies ist die App, die im Video von Trivy gescannt wird.
Build und Ausführung:
cd my-calc-app
docker build -t my-calc-app:prod .
docker run -p 3000:3000 my-calc-app:prod
Die App ist unter http://localhost:3000 verfügbar.
Hinweis: Die Datei public/secret.txt enthält einen Dummy-RSA-Private-Key. Dies ist beabsichtigt — sie existiert, damit Trivys Secret-Scanner sie beim ersten Scan im Video erkennt und so die Secret-Erkennungsfähigkeit von Trivy demonstriert. Es handelt sich nicht um einen echten Schlüssel.
prompts/trivy-report-for-prod-docker-prompt.mdDer Claude-Code-Prompt aus dem Video zur Analyse der Trivy-JSON-Scanausgabe. Er klassifiziert Schwachstellen nach Standort (App-Abhängigkeiten vs. OS-Pakete vs. npm/yarn-Interna) und erstellt eine Freigabe-/Nicht-Freigabe-Entscheidung.
Zur Verwendung mit deinem eigenen Image:
# 1. Exportiere dein Image als Tar-Datei
docker save my-calc-app:prod -o my-calc-app-prod.tar
# 2. Führe Trivy gegen die Tar-Datei aus (kein docker.sock erforderlich)
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. Bitte Claude Code, den Bericht zu analysieren
claude -p "$(cat prompts/trivy-report-for-prod-docker-prompt.md) report.json"
Statt:
# Gewährt dem Container vollen Root-Zugriff auf deinen Host über die Docker-API
docker run -v /var/run/docker.sock:/var/run/docker.sock aquasec/trivy image my-app:latest
Mache Folgendes:
# 1. Speichere das Image als Tar-Datei
docker save my-calc-app:prod -o my-calc-app-prod.tar
# 2. Binde nur die Tar-Datei ein (schreibgeschützt), kein Socket-Zugriff
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
Pinne das Trivy-Image mit einem SHA256-Digest anstelle eines Tags, um dich gegen Supply-Chain-Angriffe wie CVE-2026-33634 zu schützen.