Releases: kerberosmansour/zaprun
Releases · kerberosmansour/zaprun
v0.1.0 — first signed and attested release
First public release of zaprun: a deterministic CLI + a hardened OWASP ZAP image, both signed and attested.
What's in this release
- Image:
ghcr.io/kerberosmansour/zaprun:v0.1.0(also published as:v0.1,:v0, the full commit SHA, and:edgefor main HEAD; no:latestis published). - Image digest:
sha256:1caa4c454beac1a5ca67bb06484282b94e43a5cd01ba772ec1a2b78a6ed4c649 - Signature: cosign keyless via Sigstore (Fulcio cert + Rekor transparency log).
- Attestations: SLSA Build Provenance v1, SPDX-JSON SBOM, CycloneDX-JSON SBOM — all published alongside the image.
Quick start
docker run --rm \
-v "$PWD/output:/zap/wrk/output" \
ghcr.io/kerberosmansour/zaprun:v0.1.0 \
zaprun scan http://host.docker.internal:4000 --active --profile spa-prVerify the release
# Anyone can pull — no auth needed.
docker pull ghcr.io/kerberosmansour/zaprun:v0.1.0
# Verify SLSA Build Provenance + SBOMs.
gh attestation verify \
oci://ghcr.io/kerberosmansour/zaprun@sha256:1caa4c454beac1a5ca67bb06484282b94e43a5cd01ba772ec1a2b78a6ed4c649 \
--repo kerberosmansour/zaprun
# Verify the cosign keyless signature.
cosign verify \
--certificate-identity-regexp '^https://github.com/kerberosmansour/zaprun/' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
ghcr.io/kerberosmansour/zaprun@sha256:1caa4c454beac1a5ca67bb06484282b94e43a5cd01ba772ec1a2b78a6ed4c649Supply chain
- Base: digest-pinned Wolfi base.
- ZAP: 2.17.0 release tarball, SHA-256-checked in the Dockerfile.
- Add-ons:
network-beta-0.27.0(checksum-pinned). See.trivyignorefor two HIGH Netty CVEs currently suppressed pending upstream rebundle. - CLI: Rust workspace under
crates/, MIT-licensed. - Build: GitHub Actions with SLSA Build L3 isolation —
id-token: writelives only in the reusable signing workflow, not in the build job.
What this image is for
DAST scans in CI: deterministic Automation Framework plans, stable artifact contract (plan.yaml, run.json, summary.json, coverage.json, capabilities.json, observations.json, plus ZAP's JSON/HTML/SARIF reports), and no reliance on live add-on installs at scan time.
Documentation
What's next
The maintenance loop is wired up: .github/workflows/scheduled-image-rebuild.yml re-builds the image weekly (Mondays 06:00 UTC) and re-runs the Trivy scans; Renovate will open dependency PRs (Cargo + GHA SHA pins) on the same cadence once the Renovate App is installed on the repo.