Versioned security assessment

Report ID: SA-9E952417

7/23/2026, 5:17:45 AM

container-hadolint security assessment v10

Skill Security Certification Report

Audit History
Scanner version 3.0.0 Audit model: codex Latest published report
Skill name
container-hadolint
Version
v0.1.0
Maintainer
AgentSecOps
Coverage
9 Files scanned · 1,399 Lines analyzed
Policy version
skillstore-security-audit-policy-v1

Highest confirmed finding severity

Medium

1 confirmed security finding requires attention.

Installation context

Check the current Skill page

This page summarizes report evidence only. The Skill page provides the canonical install advisory.

Open current Skill page

This report does not block or authorize the manifest or ZIP.

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.

Report position

Latest published report

Latest refers to the report sequence, not to artifact currentness.

Audit attestation

Active attestation

A public attestation is available for this exact report.

Human verification

Not verified

No human verification is recorded for this report.

Coverage

9 Files scanned · 1,399 Lines analyzed

5 items shown for review

Limitations

This report does not claim runtime or sandbox execution and does not prove the absence of side effects.

Evidence chain

Follow the evidence from source binding to the install contract. Available evidence supports verification; it is not a safety guarantee.

  1. Source

    Commit and path bound

  2. Artifact

    Content and tree hashes bound

  3. Audit

    Complete

  4. Install contract

    Open manifest to verify

    Open manifest

Capabilities observed

Observed means this report recorded supporting evidence. Not recorded does not prove that a capability is absent.

Contains scripts

May execute code included with the Skill.

Not recorded by this audit

Network access

May connect to external services.

Observed in 17 evidence locations

Filesystem access

May read or write local files.

Observed in 1 evidence location

Env variables

May read values from the process environment.

Observed in 4 evidence locations

External commands

May invoke commands or programs outside the Skill.

Observed in 50 evidence locations

Capability review items (4)
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 findings

Confirmed security concerns are separated from items that still need review.

Confirmed security concerns (1)

RISK-001 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.

Remediation

Suggested fixes recorded by this audit. Applying them is the maintainer’s responsibility.

  1. FIX-001
    High
    Repository filenames can influence CI shell parsing
    Use null-delimited file discovery and loops, then pass values through environment variables without direct expression interpolation.
  2. FIX-002
    Medium
    Hadolint binaries are downloaded from a mutable latest URL
    Pin an exact Hadolint release and verify its published checksum before making the binary executable.
  3. FIX-003
    Medium
    CI actions and images use mutable version references
    Pin GitHub Actions to commit hashes and GitLab container images to immutable digests, then review updates through automation.

Expert evidence

Immutable subject identity, scanner metadata, dismissed matches, and source-level evidence.

Artifact subject

Marketplace commit
9e952417e76879bc9d853e1b8b2cd6d6d8d4a1c2
Content hash
f1075c27a23683dc9528e5df913b872c7ae0a2638a5500f4b5f580d0aeb2a1f2
Tree hash
ad081f994b552d00bab1fb3668b857a086d82b2b647940fbbaf84bc9e2baebd3
Skill path
skills/agentsecops/container-hadolint
Audit payload hash
ed7608224d35707e8d6ffe2c6506ed59

Analysis metadata

Audit model: codex

Analysis state: Complete

Scope is limited to the recorded files, lines, methods, and evidence. No runtime or sandbox execution is claimed.

Verify and export

The manifest and lockfile bind install artifacts to cryptographic hashes. This integrity claim is separate from the security assessment.

Audit attestation: active