Skip to main content

valint_verify

valint verify

Verify compliance policies against evidence to ensure the integrity of supply chain.

Synopsis

Verify compliance policies against evidence to ensure the integrity of supply chain.

valint verify [TARGET] [flags]

Optional flags

Flags for verify subcommand

ShortLongDescriptionDefault
--attest.configAttestation config path
--attest.defaultAttestation default config, options=[sigstore sigstore-github x509 x509-env kms pubkey]
-a--attestationAttestation for target
--bomCreate target SBOM evidence
--bundlePolicy bundle uri/path (early-availability)"https://github.com/scribe-public/sample-policies"
--bundle-authBundle repository authentication info, [format: 'username:password']
--bundle-branchBundle branch in the repository
--bundle-commitBundle commit hash in the repository
--bundle-depthBundle clone depth
--bundle-tagBundle tag in the repository
--cax509 CA Chain path
--certx509 Cert path
--common-nameDefault policy allowed common names
--crlx509 CRL path
--crl-full-chainEnable Full chain CRL verfication
--depthGit clone depth
--disable-crlDisable certificate revocation verificatoin
--emailDefault policy allowed emails
-f--forceForce skip cache
-o--formatPolicy Result Evidence format, options=[statement-sarif attest-sarif sarif ]
--git-authGit repository authentication info, [format: 'username:password']
--git-branchGit branch in the repository
--git-commitGit commit hash in the repository
--git-tagGit tag in the repository
-h--helphelp for verify
--initiativeRun only rules with specified initiative
-i--input-formatInput Evidence format, options=[attest-cyclonedx-json attest-slsa statement-slsa statement-cyclonedx-json statement-generic attest-generic ]
--keyx509 Private key path
--kmsProvide KMS key reference
--ociEnable OCI store
-R--oci-repoSelect OCI custom attestation repo
--passPrivate key password
--platformSelect target platform, examples=windows/armv6, arm64 ..)
--policyPolicy configuration file path (early-availability)
--provenanceCreate target SLSA Provenance evidence
--pubkeyPublic key path
--public-keyPublic key path
--ruleRule configuration file path (early-availability)
--rule-argsPolicy arguments[]
--rule-labelRun only rules with specified label
--skip-bundleSkip bundle download
--skip-reportSkip Policy report stage
--uriDefault policy allowed uris

Global options flags

Flags for all valint subcommands

ShortLongDescriptionDefault
--cache-enableEnable local cachetrue
-c--configConfiguration file path
-C--context-typeCI context type, options=[jenkins github circleci azure gitlab travis tekton bitbucket local admission]
--deliverableMark as deliverable, options=[true, false]
-e--envEnvironment keys to include in evidence
-G--gatePolicy Gate name
-L--labelAdd Custom labels
--levelLog depth level, options=[panic fatal error warning info debug trace]
--log-contextAttach context to all logs
--log-fileOutput log to file
-d--output-directoryOutput directory path"${XDG_CACHE_HOME}/valint"
-O--output-fileOutput file name
-p--pipeline-namePipeline name
--predicate-typeCustom Predicate type (generic evidence format)"http://scribesecurity.com/evidence/generic/v0.1"
-n--product-keyProduct Key
-V--product-versionProduct Version
-q--quietSuppress all logging output
-U--scribe.client-idScribe Client ID (deprecated)
-P--scribe.client-secretScribe Client Token
-D--scribe.disableDisable scribe client
-E--scribe.enableEnable scribe client (deprecated)
-u--scribe.urlScribe API Url"https://api.scribesecurity.com"
-s--showPrint evidence to stdout
--structuredEnable structured logger
--timeoutTimeout duration"120s"
-v--verboseLog verbosity level [-v,--verbose=1] = info, [-vv,--verbose=2] = debug

Examples for running valint verify

  valint verify <target>

<target> Target object name format=[<image:tag>, <dir path>, <git url>] (Optional)

valint verify alpine:latest verify target against signed attestation of sbom
valint verify alpine:latest -i attest-slsa verify target against signed attestation of SLSA provenance
valint verify file.json -i attest-generic verify file as evidence
valint verify alpine:latest show verbose debug information
valint verify alpine:latest --rule policies/images/fresh-image.yaml verify images freshness (early-availability)
valint verify busybox:latest --rule policies/sboms/complete-licenses.yaml verify complete licences (early-availability)

Target-less Operation:
valint verify evaluate policy without specifying a target subject


Supports the following image sources:
valint verify yourrepo/yourimage:tag defaults to using images from a Docker daemon. If Docker is not present, the image is pulled directly from the registry.

You can also explicitly specify the scheme to use:
valint verify docker:yourrepo/yourimage:tag explicitly use the Docker daemon
valint verify docker-archive:path/to/yourimage.tar use a tarball from disk for archives created from "docker save"
valint verify oci-archive:path/to/yourimage.tar use a tarball from disk for OCI archives (from Skopeo or otherwise)
valint verify dir:path/to/yourproject read directly from a path on disk (any directory)
valint verify registry:yourrepo/yourimage:tag pull image directly from a registry (no container runtime required)
valint verify file:path/to/yourproject/file read directly from a path on disk (any single file)

SBOM-Example:
valint bom alpine:latest -o attest
valint verify alpine:latest -i attest

SLSA-Example:
valint slsa alpine:latest -o attest
valint verify alpine:latest -i attest-slsa

Generic-Example:
valint evidence file.json -o attest
valint verify file.sjon -i attest-generic

Input-Format-aliases:
* statement=statement-cyclonedx-json
* attest=attest-cyclonedx-json

SEE ALSO

  • valint - Validate Supply Chain Integrity