Skip to content

Supply-chain Levels for Software Artifacts (SLSA)

A LinkML model of the SLSA specification: its tracks and levels, the roles and systems in a software supply chain, and the in-toto attestations that carry build provenance and verification summaries.

URI: https://w3id.org/lmodel/slsa

Name: slsa

Class Description
InTotoAdditionalDigest One digest under an algorithm that InTotoDigestSet does not name, such as an …
InTotoAnnotation One vendor-specific annotation on a resource descriptor: a key and its values
InTotoDigestSet A set of one or more digests over one artifact, keyed by algorithm, from whic…
InTotoPredicate The base of every predicate an in-toto statement can carry; predicate_kind na…
        SlsaPredicate The base of every predicate this schema models; the predicate_kind it takes f…
                SlsaBuildEnvironmentAttestation Evidence of the state of a build environment when a build was dispatched to i…
                SlsaBuildProvenance The predicate that says how a build platform produced a set of artifacts, so …
                SlsaSourceProvenance Evidence from an SCS of how a revision came to exist and which technical cont…
                SlsaVerificationSummary The predicate in which a verifier records that it evaluated artifacts against…
InTotoResourceDescriptor A reference to a software artifact or other resource by URI or digest, or the…
        InTotoStatementSubject One artifact an in-toto statement is about: a resource descriptor that carrie…
        SlsaVerificationSummaryInputAttestation One attestation a verifier consulted: a resource descriptor that carries the …
        SlsaVerificationSummaryPolicy The policy a verification summary applied: a resource descriptor that names t…
InTotoStatement The statement layer of an in-toto attestation: the subjects it is about, the …
        SlsaStatement An in-toto statement with the fields this schema adds: where the signed attes…
SlsaAdoptionMetadata The adoption challenges a deployment meets and the strategies it applies, fro…
SlsaBuildDefinition The inputs to a build, in enough detail to initialize it and begin execution;…
SlsaBuildImage The template a build environment is instantiated from, such as a VM or contai…
SlsaBuildMetadata Metadata about one execution of a build: its identifier and when it started a…
SlsaBuildParameter One named input to a build, with a string value
SlsaBuildPlatform The system that runs builds and records their provenance: the transitive clos…
SlsaComponentVersion The version of one named component of a platform
SlsaControlPlane The component of a build platform that orchestrates each build and generates …
SlsaDependencyInventory The inventory of every third-party build dependency, direct and transitive, o…
SlsaDependencyLevelCount The number of an artifact’s transitive dependencies verified at one level, ea…
SlsaDocument A document that holds SLSA attestations and the parties, platforms, packages,…
SlsaMeasurement The digest of one component or state of a build environment, to compare with …
SlsaNamedReference A user-friendly name for a revision in a repository, such as main or v1
        SlsaBranch A named reference that moves to track a line of development
        SlsaTag A named reference meant never to move once created
SlsaPackage A unit of software distributed under a package name, which is the primary sec…
SlsaPackageRegistry A distribution platform that resolves package names to immutable package arti…
SlsaParty A person or organization that takes part in a software supply chain, in one o…
        SlsaBuildImageProducer The party that creates and distributes build images; the hosted build platfor…
        SlsaConsumer A party that uses software a producer provides, verifying its provenance itse…
        SlsaInfrastructureProvider A party that provides software or services to the other roles, such as a pack…
        SlsaProducer A party that creates software and provides it to others, choosing a build pla…
        SlsaVerifier A party that inspects provenance or other attestations and decides whether an…
SlsaRunDetails What is specific to one execution of a build: the platform that ran it, metad…
SlsaSourceControlSystem The platform or services that host a source repository and enforce its organi…
SlsaSourceRepository A self-contained unit that holds a set of files, their revision history and m…
SlsaSourceRevision A logically immutable snapshot of a repository’s tracked files, with its vers…
Slot Description
additional_digests The digests under algorithms this class does not name
adoption_metadata How the deployment the document describes fares against the adoption study’s …
algorithm The algorithm’s name, as the key the attestation’s JSON uses, such as svn_rev…
annotation_key The annotation’s key
annotation_values The annotation’s values
annotations Vendor-specific annotations on the resource, such as the source references a …
artifact The artifact whose dependencies are inventoried
attestation_storage_uri Where the signed attestation is stored or can be fetched
attestations The attestations, as in-toto statements with SLSA’s fields
authored_at When the revision was created
authored_by The identity of the person or automation that authored the revision
blake2b The BLAKE2b digest of the artifact, of 32 to 64 bytes
blake2s The BLAKE2s digest of the artifact, at its full 32 bytes
build_definition The inputs to the build; required at Build L1
build_env_level The SLSA Build Environment level this meets
build_id The immutable identifier of the build execution the environment was assigned …
build_image The image the environment was instantiated from
build_images The build images
build_level The highest SLSA Build level the platform’s provenance can meet
build_metadata Metadata about this execution of the build
build_platform The build platform this party or component belongs to or uses
build_platforms The build platforms
build_type The URI of the template that says how to run the build and read its parameter…
builder The build platform that ran the build and is trusted to have written this pro…
builder_dependencies Dependencies of the platform’s orchestrator that do not run inside the build …
builder_id The URI that identifies the platform and determines its SLSA Build level
byproducts Artifacts the build produced beside its outputs that may help debugging or in…
challenges The challenge themes that apply
component The component’s name
component_version The component’s version string
component_versions The version of each named component of a platform
content The resource’s content itself, base64-encoded, for a resource small enough to…
control_planes The control planes of the build platforms
controls_enforced The technical controls the SCS enforced when the revision was created, as the…
dependencies The dependencies, each as a resource descriptor
dependency_count How many dependencies were verified at that level
dependency_inventories The dependency inventories
dependency_level The SLSA Dependency level the producer’s process meets for this artifact
dependency_levels How many transitive dependencies were verified at each level; absent when the…
digest The cryptographic digests of a resource’s content, keyed by algorithm
dir_hash A digest over a directory’s content by the dirhash Hash1 function, in lowerca…
download_location Where the resource can be fetched, when that differs from its identifying URI
ecosystem The package ecosystem whose rules govern how a package is named and distribut…
external_parameters The inputs under the tenant’s control; required at Build L1, complete at Buil…
finished_on When the build finished
git_blob The git blob id of a file’s content
git_commit The git commit id of a source revision
git_tag The git object id of an annotated tag
git_tree The git tree id of a source revision’s content, or of any file tree
gost The GOST R 34
guac_uri Where a GUAC instance answers queries about the package’s dependency and prov…
hermetic Whether the build could reach only the dependencies it declared, with no othe…
hosted Whether the platform is a hosted service on shared or dedicated infrastructur…
hosted_by The source control system that hosts the repository
image_uri The URI that identifies the image version, such as an OCI reference with its …
input_attestations Every attestation the verifier consulted, each with a digest; complete when p…
internal_parameters The inputs the platform sets itself; kept for debugging, incident response an…
invocation_id An identifier for this build invocation, in a format the builder defines; use…
md5 The MD5 digest of the artifact
measured_component The component or state that was measured, such as the bootloader, guest kerne…
measurements The measurements of the environment’s components taken during boot
media_type The IANA media type of the resource’s content
named_references The branches and tags
organization_properties Properties the organization defines for the revision, each prefixed ORG_SOURC…
package_artifacts The immutable artifacts the package name has resolved to
package_name The name consumers use to obtain the package within its ecosystem and registr…
package_registries The package registries
packages The packages
parameter_name The parameter’s name
parameter_value The parameter’s value
parent_revisions The revisions this one descends from, which together form the change history
parties The parties, each in its role
party_name The party’s name
party_type The role the party acts in, one of this class’s descendants
pipeline_orchestrator The CI/CD system that coordinated the build, named by URI, where it differs f…
policy The policy the subject was verified against, by URI and preferably by digest …
predicate The predicate, one of the kinds this schema or an importing one models; predi…
predicate_kind The kind of predicate, one of this class’s descendants
predicate_type The URI that names the predicate’s type and so its schema, such as https://in…
produced_by The party that created and distributes the image
protected Whether the organization has the SCS enforce its technical controls on this r…
provenance The build provenance of the image itself, required at Build Environment L1
provenance_generation_tool The tool that generated this provenance, named by URI
reference_name The reference’s name, fully qualified in git, such as refs/heads/main
reference_type The kind of named reference, one of this class’s descendants
registry The registry the package is published to
registry_uri The URI that identifies the registry
repository The source repository this belongs to
repository_uri The stable locator the SCS gives the repository
resolved_dependencies The artifacts fetched during the build, as far as the platform knows them; co…
resource_name A name for the resource within the attestation that carries it
resource_uri The URI that identifies a resource, such as a package URL, a git repository a…
review_type The form of review that approved the revision
revision The source revision this refers to
revision_id The revision identifier the SCS assigns, such as a git commit id or a path- q…
ripemd160 The RIPEMD-160 digest of the artifact
run_details What is specific to this execution of the build; required at Build L1
scs_uri The URI that identifies the source control system
security_insights_uri The SECURITY-INSIGHTS
sha1 The SHA-1 digest of the artifact
sha224 The SHA-224 digest of the artifact
sha256 The SHA-256 digest of the artifact
sha384 The SHA-384 digest of the artifact
sha3_224 The SHA3-224 digest of the artifact
sha3_256 The SHA3-256 digest of the artifact
sha3_384 The SHA3-384 digest of the artifact
sha3_512 The SHA3-512 digest of the artifact
sha512 The SHA-512 digest of the artifact
sha512_224 The SHA-512/224 digest of the artifact
sha512_256 The SHA-512/256 digest of the artifact
shake128 The SHAKE128 digest of the artifact, of at least 32 bytes
shake256 The SHAKE256 digest of the artifact, of at least 32 bytes
signing_tool The tool that signed the attestation, named by URI, such as Cosign or Notatio…
slsa_version The SLSA specification version the verifier applied, as MAJOR
sm3 The SM3 digest of the artifact
source_control_systems The source control systems
source_level The SLSA Source level the SCS asserts for the revision
source_repositories The source repositories
source_revisions The source revisions
started_on When the build started
statement_type The in-toto statement type, always https://in-toto
strategies The strategy themes applied or recommended
subject The artifacts the predicate is about, each with a digest
time_verified When the verification happened
transparency_log_entry The transparency log entry that records the signature, such as a Rekor entry
value The digest under that algorithm, in the encoding the algorithm documents
verification_result Whether the subject passed the policy
verified_level The level the dependencies were verified at, or a result of the issuer’s own
verified_levels The highest level verified in each track, any verified property, and any resu…
verifier The verifier that made this determination
verifier_id The URI that identifies the verifier
Enumeration Description
SlsaAdoptionChallenge The four themes of difficulty practitioners met when adopting SLSA
SlsaAdoptionStrategy The five themes of strategy practitioners proposed for the adoption challenge…
SlsaBuildEnvironmentLevel The levels of the SLSA Build Environment track, each extending integrity furt…
SlsaBuildLevel The levels of the SLSA Build track, each adding protection against tampering …
SlsaDependencyLevel The levels of the SLSA Dependency track, each reducing the risk third-party d…
SlsaResult A result of evaluating an artifact against SLSA: a track level, a verified pr…
SlsaReviewType The forms of review that may approve a revision, including the contested form…
SlsaSourceLevel The levels of the SLSA Source track, each adding trust in how a revision was …
SlsaVerificationResult The outcome of verifying an artifact against a policy
Type Description
Boolean A binary (true or false) value
Curie a compact URI
Date a date (year, month and day) in an idealized calendar
DateOrDatetime Either a date or a datetime
Datetime The combination of a date and time
Decimal A real number with arbitrary precision that conforms to the xsd:decimal speci…
Double A real number that conforms to the xsd:double specification
Float A real number that conforms to the xsd:float specification
InTotoResourceUri A URI that identifies or locates a resource, such as a package URL or a git r…
InTotoTimestamp A point in time in RFC 3339 format in the UTC time zone, written with a trail…
InTotoTypeUri A URI that names a type, such as a statement’s or a predicate’s, with its sch…
Integer An integer
Jsonpath A string encoding a JSON Path
Jsonpointer A string encoding a JSON Pointer
Ncname Prefix part of CURIE
Nodeidentifier A URI, CURIE or BNODE that represents a node in a model
Objectidentifier A URI or CURIE that represents an object in the model
SlsaResultValue A result as a VSA writes it: one of the SLSA-defined results SlsaResult lists…
Sparqlpath A string encoding a SPARQL Property Path
String A character string
Time A time object represents a (local) time of day, independent of any particular…
Uri a complete URI
Uriorcurie a URI or a CURIE
Subset Description
slsa_adoption_study Elements this schema adds from an empirical study of SLSA adoption (Tamanna e…
slsa_build_environment_track Elements of the SLSA Build Environment track, a working-draft track for the i…
slsa_build_track Elements of the SLSA Build track, which measures the trustworthiness of a bui…
slsa_dependency_track Elements of the SLSA Dependency track, a working-draft track for managing ris…
slsa_source_track Elements of the SLSA Source track, which measures how source revisions are cr…
slsa_ssf Elements this schema adds from the CNCF TAG-Security Secure Software Factory …