Insecure Docker Configuration

Detects dangerous Docker and Docker Compose configurations including privileged containers, secrets in environment variables, and running as root.

zakirkun Updated

File contents

Insecure Docker Configuration

Overview

Docker misconfiguration can lead to container escapes and privilege escalation:

  1. --privileged flag: Gives container full host capabilities, enabling container escape
  2. Running as root: Default behavior — prefer non-root user
  3. Secrets in ENV variables: Visible via docker inspect and process listings
  4. --cap-add=SYS_ADMIN: Grants dangerous capabilities
  5. Mounting Docker socket: Allows container to control the host Docker daemon
  6. --pid=host: Shares host PID namespace

Remediation

  • Add USER nonroot in Dockerfile
  • Use Docker secrets or env files for sensitive values
  • Remove unnecessary capabilities with --cap-drop ALL --cap-add only what's needed
  • Never mount /var/run/docker.sock unless strictly necessary
  • Enable Docker Content Trust

zakirkun/ice-tea/tree/main/skills/infra/insecure-docker commit b652511bdd

Frequently asked questions

npx skillmds@latest add zakirkun/insecure-docker-configuration