Statically audit Dockerfiles for common container hardening risks (root user, unpinned/latest base images, missing healthchecks, and risky build patterns).
Use this skill to statically audit Dockerfiles before insecure container defaults land in production.
USER declarations:latest, :main, :master, :edge) or no tag/digestHEALTHCHECKADD instructions (when COPY is safer/clearer)curl|bash/wget|sh style remote script executionOptional:
DOCKERFILE_GLOB (default: **/Dockerfile*)TOP_N (default: 20)OUTPUT_FORMAT (text or json, default: text)WARN_SCORE (default: 3)CRITICAL_SCORE (default: 6)REQUIRE_NON_ROOT_USER (0/1, default: 1)REQUIRE_HEALTHCHECK (0/1, default: 1)FLAG_FLOATING_TAGS (0/1, default: 1)FLAG_UNPINNED_IMAGES (0/1, default: 1)FLAG_ADD_INSTRUCTIONS (0/1, default: 1)FLAG_REMOTE_SCRIPT_PIPE (0/1, default: 1)FILE_MATCH (regex include filter on Dockerfile path, optional)FILE_EXCLUDE (regex exclude filter on Dockerfile path, optional)FAIL_ON_CRITICAL (0 or 1, default: 0)Text report:
DOCKERFILE_GLOB='**/Dockerfile*' \
bash skills/dockerfile-hardening-audit/scripts/dockerfile-hardening-audit.sh
JSON output + fail gate:
DOCKERFILE_GLOB='**/Dockerfile*' \
OUTPUT_FORMAT=json \
FAIL_ON_CRITICAL=1 \
bash skills/dockerfile-hardening-audit/scripts/dockerfile-hardening-audit.sh
Run against bundled fixtures:
DOCKERFILE_GLOB='skills/dockerfile-hardening-audit/fixtures/*Dockerfile*' \
bash skills/dockerfile-hardening-audit/scripts/dockerfile-hardening-audit.sh
0 in report mode (default)1 when FAIL_ON_CRITICAL=1 and one or more Dockerfiles are criticalZIP package — ready to use