FREE · 100% CLIENT-SIDE

Docker Compose Security Grader

Paste your docker-compose.yml below. Get an instant A–F security grade with every issue explained and a fix snippet. Your file never leaves this page — the analysis runs entirely in your browser.

What it checks

privileged: true — container escapes its sandbox
Exposed DB ports — 3306, 5432, 6379, 27017… on 0.0.0.0
Hardcoded secrets — PASSWORD=, API_KEY= in environment
docker.sock / / mounts — host takeover paths
:latest / unpinned tags — non-reproducible deploys
network_mode: host — no network isolation
Missing user: — everything runs as root
cap_add: SYS_ADMIN — near-root capabilities
No restart policy — stays down after a reboot
Positive findings — Docker secrets, read_only, pinned tags

FAQ

Is my compose file uploaded anywhere?

No. The YAML parser and all checks run in JavaScript in your browser. Nothing is sent to any server — you can verify in your browser's network tab, or disconnect from the internet and it still works.

How is the grade calculated?

Every service starts at 100. Critical issues cost 25 points, high 12, medium 6, low 2. A: 90+, B: 78+, C: 62+, D: 45+, F: below 45. Multiple issues stack — a file can score below zero and still show F.

Does a good grade mean I'm secure?

No — this is a static configuration check, not a guarantee. It doesn't scan your images for CVEs, audit your application code, or check your firewall. Treat the grade as "configuration hygiene," one layer of a real security posture.

What YAML does the parser support?

The subset docker-compose files actually use: nested maps, lists, quoted and unquoted scalars, comments, and the long (map) syntax for ports. Exotic YAML features (anchors, multi-line blocks) may not parse — if it fails, simplify or paste one service at a time.

Why flag :latest?

:latest moves under you — a redeploy can silently pull a different, possibly vulnerable build, and you can't roll back to the exact image you tested. Pinning a version or digest makes deploys reproducible.

Heuristic static analysis for education and hardening. It finds misconfigurations; it is not a penetration test and not a substitute for one.

Share: XLinkedInReddit