Autonomize · Genesis Downloads

Genesis Downloads · Scan the bundle

Scan the bundle with your existing tools

Genesis ships scannable artifacts — CycloneDX SBOM, KMS-keyed cosign signatures, sha256 checksums, HIPAA attestation PDF, rendered Helm manifests. We do not ship a scanner, a registry, an admission policy, or a runtime agent. Use the tools you already operate.


What you receive per release

genesis-{ops|platform}-{ver}.tar.zst

Zarf bundle. Contains the Helm chart and every container image as OCI archives. Un-tar with zstd -d if you reject Zarf.

{bundle}.tar.zst.sig + cosign.pub

KMS-keyed ECDSA P-256 signature + the public key to verify it. Fully offline — no TUF root or Rekor transparency log required.

{bundle}.tar.zst.sha256

SHA-256 checksum. Verify with sha256sum -c after sneakernet to catch transit corruption.

{bundle}.tar.zst.sbom.cdx.json

Merged CycloneDX bill of materials — every component across all images in one document. Auditor handoff. License analyzers (FOSSA, Black Duck) read it directly; for CVE scanning use the per-image tarball below.

{bundle}.tar.zst.sboms.tar.gz

Per-image CycloneDX tarball — one .cdx.json per container image. Input to genesis scan (and to Grype / Snyk if you'd rather loop your own scanner over the extracted files).

hipaa-attestation-{ver}.pdf

Signed PDF enumerating every change since the previous release that touches PHI handling, encryption, audit logging, or access control.

release-notes-{ver}.md

Plain-text changelog. Pull it into your change-management ticket before the bundle crosses the air-gap.


Pre-deploy — gap-host scanning, before bundles cross the air-gap

  1. 01
    Verify the cosign signature.

    KMS-keyed ECDSA P-256 — fully offline, no TUF or Rekor required. If this fails, the bundle does not cross the boundary.

    cosign verify-blob \
      --key cosign.pub \
      --signature genesis-platform-{ver}.tar.zst.sig \
      --insecure-ignore-tlog \
      genesis-platform-{ver}.tar.zst
    
    # genesis verify wraps the above plus sha256 check:
    genesis verify ./genesis-platform-{ver}.tar.zst
  2. 02
    CVE-gate the bundle with genesis scan.

    One command. Extracts the per-image SBOM sidecar (<bundle>.tar.zst.sboms.tar.gz), runs trivy sbom against each image's CycloneDX, aggregates HIGH+CRITICAL counts into one exit code. CI-gateable as-is; pass --no-fail for report-only.

    genesis scan ./genesis-platform-{ver}.tar.zst    # gate; non-zero on HIGH/CRITICAL
    genesis scan ./genesis-ops-{ver}.tar.zst --no-fail   # report-only
    
    # Air-gapped: the trivy CVE DB ships in the portal tools set. Pull + verify
    # it once (`genesis pull --tools` writes trivy-db.tar.gz next to your
    # bundles); scan auto-detects it, or point at it explicitly:
    genesis scan ./genesis-platform-{ver}.tar.zst --trivy-db ./tools/linux-amd64/trivy-db.tar.gz
    
    # Already have a populated cache dir? That works too:
    genesis scan ./genesis-platform-{ver}.tar.zst --trivy-db ~/.cache/trivy
    
    # Or point at an internal mirror (raw trivy flags forward after --):
    genesis scan ./genesis-platform-{ver}.tar.zst -- \
      --db-repository registry.internal/trivy-db:2 --skip-db-update

    Anything after -- is forwarded verbatim to each trivy sbom call.

  3. 03
    Want Grype, Snyk, Black Duck, Mend instead of trivy?

    The per-image SBOM sidecar is plain CycloneDX — every commercial scanner reads it. Extract once, then loop your scanner over each .cdx.json. Note: the merged bundle SBOM (<bundle>.tar.zst.sbom.cdx.json) is for auditor handoff only — most scanners reject it because it spans multiple OS distributions in one document. Always scan the per-image extract.

    mkdir -p /tmp/sboms
    tar -xzf ./genesis-platform-{ver}.tar.zst.sboms.tar.gz -C /tmp/sboms
    
    # Grype
    for f in /tmp/sboms/*.cdx.json; do grype sbom:"$f" --fail-on high; done
    
    # Snyk
    for f in /tmp/sboms/*.cdx.json; do snyk sbom test --file="$f" --severity-threshold=high; done

    Black Duck / Mend / Snyk UI imports take the same per-image .cdx.json via their web upload or CLI; the file format is identical.

  4. 04
    Per-image registry scanning (if your scanner needs image archives, not SBOMs).

    Aqua, Twistlock, Prisma Cloud prefer to scan image archives directly. Extract them from the bundle and feed your scanner.

    zarf package inspect genesis-platform-{ver}.tar.zst       # list images
    zarf tools registry copy oci://./genesis-platform-{ver}.tar.zst dir:./images/
    
    for img in ./images/*; do
      trivy image --input "$img" --severity HIGH,CRITICAL --exit-code 1
    done
  5. 05
    Helm chart misconfiguration scanning.

    Render manifests offline, run them through Kubescape / Polaris / Datree / OPA Gatekeeper / Kyverno / your in-house rego.

    zarf package inspect genesis-platform-{ver}.tar.zst --extract-helm \
      > rendered-manifests.yaml
    
    kubescape scan rendered-manifests.yaml --framework nsa,mitre,cis-eks
    polaris audit --audit-path rendered-manifests.yaml
    conftest test rendered-manifests.yaml --policy ./your-rego-policies/
  6. 06
    License + secret scanning.

    FOSSA, Black Duck, Mend ingest the merged CycloneDX directly for license analysis (license analyzers don't have the multi-OS issue CVE scanners do — they only look at component metadata). gitleaks / trufflehog over the rendered manifests catch accidental secrets — Genesis manifests contain none, but check anyway.

    fossa sbom analyze ./genesis-platform-{ver}.tar.zst.sbom.cdx.json
    gitleaks detect --no-git --source ./rendered-manifests.yaml

Post-deploy — once images land in your registry

Registry-side scanning

Harbor (Trivy), Azure Defender for Containers, AWS Inspector v2, Google Container Analysis, Nexus IQ, JFrog Xray — whichever your registry runs — scans on every push automatically. We don't configure this; your registry policy does.

Admission policy

Kyverno or OPA Gatekeeper gates what runs. Common rules: only images from your registry, only images cosign-signed by Sigstore identity matching the AzDO release pipeline, runAsNonRoot, readOnlyRootFilesystem.

Runtime detection

Aqua, Sysdig, Falco, Wiz, Orca, Prisma Cloud watch running pods. Genesis pods conform to PodSecurityStandards restricted; preflight's secpolicies check verifies before install.


Without Zarf — the alternate path

If your security team blocks Zarf (mutating webhook policy, vendor risk review, approved-tools list), the same scanning flow works on the plain artifacts. Un-tar manually and feed your existing pipeline.

# Un-tar the bundle (zstd → tar)
zstd -d genesis-platform-{ver}.tar.zst -o genesis-platform-{ver}.tar
mkdir extracted && tar -xf genesis-platform-{ver}.tar -C extracted/

# Mirror images to your registry with skopeo (no Zarf)
for img in extracted/images/*; do
  skopeo copy oci-archive:"$img" \
    docker://your-acr.azurecr.io/$(basename "$img" .tar)
done

# Install with helm directly
helm install genesis ./extracted/charts/genesis-{ver}.tgz \
  -f your-values.yaml \
  --set global.imageRegistry=your-acr.azurecr.io \
  -n genesis --create-namespace

Every scanning step on this page still applies — they operate on the SBOM, the cosign bundle, the rendered manifests, and the image archives, none of which are Zarf-specific.


What Genesis does not ship

No vulnerability scanner

Use yours — Trivy, Grype, Snyk, Black Duck, Mend, Aqua, Twistlock, Prisma Cloud, Wiz. Every one of them reads our SBOM or our image archives.

No container registry

Use yours — Harbor, Azure ACR, AWS ECR, Google Artifact Registry, Nexus, Artifactory. Zarf (or skopeo on the alternate path) pushes images into it.

No admission controller

Use yours — Kyverno, OPA Gatekeeper, Datree. Genesis manifests already comply with the standard restricted PodSecurity profile, so your policies should pass.

No runtime agent

Use yours — Aqua, Sysdig, Falco, Wiz, Orca, Prisma Cloud. Genesis adds nothing to the runtime layer; whatever you run keeps running.

No license scanner

Use yours — FOSSA, Black Duck, Mend. Genesis dependencies are restricted to MIT / Apache-2.0 only; no copyleft surprises.

No SIEM integration

Your scanners' existing pipes carry it. Genesis emits structured logs and Prometheus metrics; your collector ingests them.


Where to go next

Air-gap workflow →

The exact sneakernet path: gap-host pulls, sidecar manifests, cluster-side ingest.

Read the workflow →

Already onboarded?

Sign in to see the latest releases entitled to your organisation, rotate keys, view the audit log.

Sign in →