Skip to main content

aflock-ai/cilock-action reference

Source of truth: cilock-action/action.yml.

The cilock GitHub Action wraps a command (or another GitHub Action) and produces signed attestations. It downloads its own variant of the cilock binary at runtime from the cilock-action releases.

- uses: aflock-ai/cilock-action@v1
with:
step: build
command: "go build -o myapp ./cmd/myapp"

Required permissionsโ€‹

For keyless Sigstore signing (the default), the workflow needs:

permissions:
id-token: write # for OIDC token to Fulcio
contents: read # standard checkout

Add packages: write if you push container images, etc.

Inputsโ€‹

Coreโ€‹

One of command or action-ref is required.

InputDefaultDescription
step(required)Step name for the attestation.
command(none)Shell command to run.
action-ref(none)GitHub Action to wrap (owner/repo@ref or docker://image).
action-inputs(none)JSON map of inputs to pass to the wrapped action.
action-env(none)Additional env vars for the wrapped action (KEY=VALUE per line).

Binaryโ€‹

InputDefaultDescription
versionmatches action tagcilock-action release version to download.
cilock-binary-url(none)Custom URL for a pre-built cilock binary.
cilock-args(none)Additional raw args passed through to cilock.

Attestationโ€‹

InputDefaultDescription
attestationsenvironment git githubSpace-separated attestor list (the shim translates to the comma-separated form the cilock CLI expects).
outfile(none)Output file for signed envelope.
workingdir(none)Working directory.
tracefalseEnable command tracing.
hashessha256Hash algorithms.

TestifySec platformโ€‹

InputDefaultDescription
platform-urlhttps://platform.testifysec.comAll service URLs are derived from this. Self-hosted customers override.

Archivistaโ€‹

Derived from platform-url if not explicitly set.

InputDefaultDescription
enable-archivistatrueStore attestations in Archivista.
archivista-serverderived from platform-urlArchivista server URL.

Sigstore / Fulcioโ€‹

Derived from platform-url if not explicitly set.

InputDefaultDescription
enable-sigstoretrueEnable Sigstore/Fulcio signing.
fulcio-urlderived from platform-urlFulcio server URL.
fulcio-oidc-client-idsigstoreFulcio OIDC client ID.
fulcio-oidc-issuerhttps://token.actions.githubusercontent.comFulcio OIDC issuer URL.
fulcio-use-httptrueUse HTTP/REST API for Fulcio (works behind any reverse proxy).

File signerโ€‹

InputDefaultDescription
key(none)Path to signing key.
certificate(none)Path to signing certificate.
intermediates(none)Comma-separated paths to intermediate certificates.

KMSโ€‹

InputDefaultDescription
kms-aws-profile(none)AWS profile for KMS signing.
kms-gcp-credentials-file(none)GCP credentials file for KMS signing.
kms-ref(none)KMS key reference URI (awskms://..., gcpkms://..., azurekms://..., hashivault://...).

Vaultโ€‹

InputDefaultDescription
vault-url(none)HashiCorp Vault URL.
vault-token(none)HashiCorp Vault token.

Timestampsโ€‹

InputDefaultDescription
timestamp-serversderived from platform-urlSpace-separated TSA URLs.

Environment filteringโ€‹

InputDefaultDescription
env-add-sensitive-key(none)Comma-separated additional sensitive env var keys.
env-filter-sensitive-varsfalseFilter (remove) sensitive vars instead of obfuscating.

Material / Productโ€‹

InputDefaultDescription
product-include-glob*Glob for product file inclusion.
product-exclude-glob(none)Glob for product file exclusion.

Attestor exportsโ€‹

InputDefaultDescription
attestor-sbom-exportfalseExport SBOM as a separate attestation.
attestor-slsa-exportfalseExport SLSA provenance as a separate attestation.

Builderโ€‹

InputDefaultDescription
builder-manifest(none)Path to a rookery-builder manifest for a custom binary.
builder-preset(none)Builder preset: minimal, cicd, all.

Outputsโ€‹

OutputDescription
git_oidGitOID of the stored attestation.
attestation_filePath to the attestation output.

Runtimeโ€‹

runs:
using: "node20"
main: "shim/index.js"

The shim/index.js Node entry point downloads the variant binary from https://github.com/aflock-ai/cilock-action/releases/{latest/download | download/<tag>} and invokes it with the constructed args.

Worked examplesโ€‹

The action ships example workflows in examples/github/:

  • Wrapping another GitHub Action (e.g. docker/build-push-action)
  • Wrapping a shell command
  • Multi-step pipeline with downstream verification

The full end-to-end walkthrough lives in the GitHub Actions tutorial.