Skills container-hadolint
๐Ÿ“ฆ

container-hadolint

v0.1.0 Content revision r2 Medium Risk โš™๏ธ External commands๐ŸŒ Network access๐Ÿ“ Filesystem access๐Ÿ”‘ Env variables

Secure Dockerfiles with Hadolint

Dockerfile mistakes can create insecure and unreliable container images. This skill provides Hadolint workflows, rule guidance, remediation examples, and reusable CI configurations.

Supports: Claude Codex Code(CC)
๐Ÿ“Š 72 Adequate

Install with my Agent

Copy this request to your Agent. It includes the canonical Skill page and manifest.

Agent request
Review the Skillstore skill "container-hadolint" from https://skillstore.io/skills/agentsecops-container-hadolint.md and its manifest at https://skillstore.io/api/skills/agentsecops-container-hadolint/manifest. Verify the artifact. You may proceed after verification, subject to the environment's own policy.

Your Agent should still show its plan and request any confirmation required by the security policy.

Test it

Using "container-hadolint". Review a Dockerfile that uses a mutable base image tag and runs as root.

Expected outcome:

  • High priority: add a non-root runtime user and switch before the final command.
  • Reproducibility: replace the mutable base tag with an approved version or digest.
  • Validation: rerun Hadolint and document any remaining suppression.

Using "container-hadolint". Recommend a CI policy for a legacy repository with several Dockerfiles.

Expected outcome:

Start with the balanced policy, report warnings without blocking, then raise thresholds after the baseline findings are assigned and remediated.

Using "container-hadolint". Explain a warning about unpinned operating system packages.

Expected outcome:

Unpinned packages reduce reproducibility and can introduce unexpected updates. Pin supported versions and keep update, installation, and cache cleanup in one layer.

Security Audit

Medium Risk
v10 โ€ข 7/23/2026 Open versioned report

Most alerts are false positives from Markdown, reference links, placeholder credentials, and examples labeled as insecure. Actionable risks include unsafe CI filename handling and unverified latest-binary downloads. Mutable CI dependencies add supply-chain exposure, while no prompt injection or malicious intent was found.

9
Files scanned
1,399
Lines analyzed
4
Review items
0
False positives ignored

Confirmed security concerns (1)

Medium
Mutable CI Dependencies
Workflow templates execute third-party actions by movable version tags and GitLab images tagged latest-debian. Retagged or compromised dependencies would run inside trusted CI jobs.
The templates visibly use action tags and latest-debian instead of immutable commit hashes or image digests.
Capability review items (4)

These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.

High
Shell command substitution
DOCKERFILES=$(find . -type f \( -name "Dockerfile*" -o -name "*.dockerfile" \) | tr '\n' ' ')
The workflow converts repository-controlled filenames into one string, then interpolates that output into shell code on line 80. A crafted filename can execute commands in CI.
Medium
Hardcoded URL
wget -O /usr/local/bin/hadolint https://github.com/hadolint/hadolint/releases/latest/download/hadoli
The workflow downloads a mutable latest Hadolint binary into an executable path without a version pin or integrity check. A compromised asset would execute in CI.
Medium
Shell command substitution
DOCKERFILES=$(find . -type f \( -name "Dockerfile*" -o -name "*.dockerfile" \))
The pipeline stores repository-controlled paths in a scalar and later iterates with unquoted field splitting. Crafted filenames can avoid accurate linting and bypass the security gate.
Medium
Hardcoded URL
wget -O /usr/local/bin/hadolint https://github.com/hadolint/hadolint/releases/latest/download/hadoli
The installation example downloads the mutable latest Hadolint binary directly into an executable path without integrity verification. Following it creates avoidable supply-chain exposure.

Risk Factors

โš™๏ธ External commands (50)
๐ŸŒ Network access (17)
๐Ÿ“ Filesystem access (1)
๐Ÿ”‘ Env variables (4)
Audited by: codex View Audit History โ†’
Share & cite this report

Share the versioned assessment report, neutral badge, embed card, and citations. Skillstore reports evidence without deciding whether this Skill is safe.

Open versioned report
Security Assessment

Copy report link

https://skillstore.io/skills/agentsecops-container-hadolint/audits/10?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_report

Markdown badge

[![Skillstore security assessment](https://skillstore.io/badges/skills/agentsecops-container-hadolint/security.svg)](https://skillstore.io/skills/agentsecops-container-hadolint?utm_source=security_passport_badge)

HTML badge

<a href="https://skillstore.io/skills/agentsecops-container-hadolint?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/agentsecops-container-hadolint/security.svg" alt="Skillstore security assessment" loading="lazy"></a>

Embed card

<iframe src="https://skillstore.io/embed/skills/agentsecops-container-hadolint.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>
Academic citations (APA ยท BibTeX ยท CFF)

APA citation

AgentSecOps. (2026). container-hadolint security audit report (audit version 10) [Author version 0.1.0]. Skillstore. https://skillstore.io/skills/agentsecops-container-hadolint/audits/10

BibTeX citation

@techreport{agentsecops-agentsecops-container-hadolint-2026, author = {AgentSecOps}, title = {container-hadolint security audit report (audit version 10)}, institution = {Skillstore}, year = {2026}, number = {10}, url = {https://skillstore.io/skills/agentsecops-container-hadolint/audits/10}, note = {Author version 0.1.0} }

CITATION.cff

cff-version: 1.2.0 message: "If you use this Skill, cite its author and this versioned security audit report." title: "container-hadolint security audit report (audit version 10)" version: "0.1.0" type: report authors: - name: "AgentSecOps" date-released: "2026-07-23" url: "https://skillstore.io/skills/agentsecops-container-hadolint/audits/10" identifiers: - type: other value: "skillstore:agentsecops-container-hadolint:audit:10" description: "Skillstore immutable audit report identifier"

Skillstore Score

Why this score Evidence Confidence: High
55
Architecture
100
Maintainability
87
Content
72
Community
87
Spec Compliance

What You Can Build

Review a Dockerfile

Identify lint findings, understand their impact, and receive focused remediation steps before building an image.

Standardize CI checks

Adapt the supplied workflow and configuration templates to enforce shared Dockerfile policies.

Assess container controls

Compare Dockerfile practices with selected security guidance and document prioritized remediation.

Try These Prompts

Lint one Dockerfile
Review [Dockerfile path] with Hadolint. Explain each finding in plain language and suggest the smallest secure change.
Choose a policy
Compare the strict, balanced, and permissive configurations for [project context]. Recommend one and explain every necessary customization.
Build a CI gate
Design a Hadolint check for [GitHub Actions or GitLab CI]. Pin dependencies, handle all filenames safely, and define failure thresholds.
Plan advanced remediation
Analyze Hadolint results for [repository]. Group root causes, prioritize security impact, identify justified suppressions, and propose a phased remediation plan.

Best Practices

  • Use the balanced configuration as a baseline, then document every override and ignored rule.
  • Pin CI actions, container images, and downloaded binaries to immutable versions with integrity verification.
  • Combine Hadolint with image, vulnerability, and secret scanning for broader container assurance.

Avoid

  • Do not treat a clean Hadolint result as proof that a container image is secure.
  • Do not copy mutable download or CI examples into production without pinning and verification.
  • Do not suppress findings globally before confirming their context and security impact.

Frequently Asked Questions

What does this skill analyze?
It guides Hadolint analysis of Dockerfile instructions, configuration choices, findings, and remediation.
Does it install or run Hadolint automatically?
No. It provides commands and templates, while the user or agent runs Hadolint in the selected environment.
Can it scan container images?
No. Use an image scanner for operating system packages, application dependencies, malware, and runtime configuration.
Which CI systems are covered?
The bundled templates cover GitHub Actions and GitLab CI.
Does a clean result prove CIS compliance?
No. Hadolint findings support selected practices, but formal compliance requires current control mapping, evidence, and broader validation.
How should false positives be handled?
Review the context, document the justification, and use narrow rule overrides instead of broad global suppressions.

Developer Details

License

MIT

Author version

v0.1.0

Skillstore revision

r2

Ref

9e952417e76879bc9d853e1b8b2cd6d6d8d4a1c2

Maintenance freshness

7/24/2026

Usage

6 downloads ยท 358 views

File structure

๐Ÿ“ assets/

๐Ÿ“„ .gitkeep

๐Ÿ“„ github-actions.yml

๐Ÿ“„ gitlab-ci.yml

๐Ÿ“„ hadolint-balanced.yaml

๐Ÿ“„ hadolint-permissive.yaml

๐Ÿ“„ hadolint-strict.yaml

๐Ÿ“ references/

๐Ÿ“„ EXAMPLE.md

๐Ÿ“„ security_rules.md

๐Ÿ“„ SKILL.md

More from AgentSecOps

View all
View all