
Source compagnon pour la vidéo YouTube « Stop Mounting docker.sock — Run Trivy Without Giving Away Root Access — (inspired by CVE-2026-33634) »
Dépôt compagnon de la vidéo : Stop Mounting docker.sock — Run Trivy Without Giving Away Root Access — (inspired by CVE-2026-33634)
https://www.youtube.com/watch?v=xLTYzfPY3xI
Ce dépôt contient l'application web d'exemple et l'invite Claude Code utilisées dans la vidéo pour démontrer :
/var/run/docker.sock dans un conteneur donne à ce conteneur un accès root à votre hôtedocker save + un montage bind tar en lecture seule au lieu de l'API du socket Dockermy-calc-app/Une application de calculatrice Next.js/React avec un Dockerfile de production multi-étapes (node:20-alpine, utilisateur non-root). C'est l'application analysée par Trivy dans la vidéo.
Construction et exécution :
cd my-calc-app
docker build -t my-calc-app:prod .
docker run -p 3000:3000 my-calc-app:prod
L'application sera disponible à l'adresse http://localhost:3000.
Remarque : Le fichier public/secret.txt contient une clé privée RSA factice. C'est intentionnel — il existe pour que le scanner de secrets de Trivy le détecte lors de la première analyse dans la vidéo, démontrant ainsi la capacité de détection de secrets de Trivy. Ce n'est pas une vraie clé.
prompts/trivy-report-for-prod-docker-prompt.mdL'invite Claude Code utilisée dans la vidéo pour analyser la sortie JSON de l'analyse Trivy. Elle classe les vulnérabilités par emplacement (dépendances de l'application vs. paquets OS vs. internes npm/yarn) et produit un verdict de publication/non-publication.
Pour l'utiliser avec votre propre image :
# 1. Exportez votre image sous forme de fichier tar
docker save my-calc-app:prod -o my-calc-app-prod.tar
# 2. Exécutez Trivy sur le tar (pas besoin de docker.sock)
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. Demandez à Claude Code d'analyser le rapport
claude -p "$(cat prompts/trivy-report-for-prod-docker-prompt.md) report.json"
Au lieu de :
# Donne au conteneur un accès root complet à votre hôte via l'API Docker
docker run -v /var/run/docker.sock:/var/run/docker.sock aquasec/trivy image my-app:latest
Faites ceci :
# 1. Enregistrez l'image dans un fichier tar
docker save my-calc-app:prod -o my-calc-app-prod.tar
# 2. Montez uniquement le fichier tar (en lecture seule), aucun accès au 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
Épinglez l'image Trivy avec un digest SHA256 au lieu d'un tag pour résister aux attaques de la chaîne d'approvisionnement comme CVE-2026-33634.