
Fuente complementaria para el video de YouTube "Deja de montar docker.sock: ejecuta Trivy sin ceder acceso root (inspirado en CVE-2026-33634)"
Repositorio complementario para el vídeo: Deja de montar docker.sock — Ejecuta Trivy sin ceder acceso root — (inspirado en CVE-2026-33634)
https://www.youtube.com/watch?v=xLTYzfPY3xI
Este repositorio contiene la aplicación web de ejemplo y el prompt de Claude Code utilizados en el vídeo para demostrar:
/var/run/docker.sock en un contenedor otorga a ese contenedor acceso root a tu hostdocker save + un bind mount de tar de solo lectura en lugar de la API del socket de Dockermy-calc-app/Una aplicación de calculadora Next.js/React con un Dockerfile de producción de múltiples etapas (node:20-alpine, usuario no root). Esta es la aplicación escaneada por Trivy en el vídeo.
Compilar y ejecutar:
cd my-calc-app
docker build -t my-calc-app:prod .
docker run -p 3000:3000 my-calc-app:prod
La aplicación estará disponible en http://localhost:3000.
Nota: El archivo public/secret.txt contiene una clave privada RSA ficticia. Esto es intencional — existe para que el escáner de secretos de Trivy la detecte durante el primer escaneo del vídeo, demostrando la capacidad de detección de secretos de Trivy. No es una clave real.
prompts/trivy-report-for-prod-docker-prompt.mdEl prompt de Claude Code utilizado en el vídeo para analizar la salida JSON del escaneo de Trivy. Clasifica las vulnerabilidades por ubicación (dependencias de la aplicación vs. paquetes del sistema operativo vs. internals de npm/yarn) y produce un veredicto de publicación/no publicación.
Para usarlo con tu propia imagen:
# 1. Exporta tu imagen como archivo tar
docker save my-calc-app:prod -o my-calc-app-prod.tar
# 2. Ejecuta Trivy contra el tar (sin necesidad 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. Pide a Claude Code que analice el informe
claude -p "$(cat prompts/trivy-report-for-prod-docker-prompt.md) report.json"
En lugar de:
# Otorga al contenedor acceso root completo a tu host a través de la API de Docker
docker run -v /var/run/docker.sock:/var/run/docker.sock aquasec/trivy image my-app:latest
Haz esto:
# 1. Guarda la imagen en un archivo tar
docker save my-calc-app:prod -o my-calc-app-prod.tar
# 2. Monta solo el archivo tar (solo lectura), sin acceso 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
Fija la imagen de Trivy con un digest SHA256 en lugar de una etiqueta para resistir ataques a la cadena de suministro como CVE-2026-33634.