advanced24 min studyLesson 438 in Engineering

Check what a builder actually attests about an artifact

Bind versioned provenance claims to their subject, predicate semantics, and trusted builder instead of treating signed metadata as an automatic security verdict.

On this page

What you’ll understand

  • Read an in-toto statement’s subject and predicate type together.
  • Locate build definition and execution claims in SLSA 1.2 provenance.
  • Explain the limits imposed by an untrusted or compromised builder.

An inference image arrives with an attestation saying it was built from reviewed source. Before relying on it, establish that the statement describes this exact image, uses a predicate your verifier understands, and comes from an authority trusted to report that build. Provenance records a claim about production history. Verification makes the claim attributable and bound to content; its evidential strength still depends on the builder and on which facts the build platform actually observed and guarantees.

Bind the subject and interpret the predicate

The in-toto Statement v1 structure separates subjects from a predicate and identifies the predicate's meaning with a type URI. A subject digest binds the statement to content; a convenient subject name or registry tag is not an equivalent substitute. Match the intended algorithm and digest against the artifact being considered. A statement can contain multiple subjects, so inspect the relevant subject rather than assume the first name is the only output. Verify the signed envelope or signature format according to its contract and keep the verified payload as the data being interpreted, avoiding an unsigned replacement document.

The predicate type supplies semantics, not just a label to display. An inventory statement, test result, and build provenance make different assertions even when their envelopes share a structure. A verifier must understand the required type and version and must not count an unrelated predicate as satisfying a provenance requirement. Distinguish unsupported required semantics from harmless unknown extension fields permitted by a specification's parsing rules. SLSA's versioned provenance rules do not require indiscriminately rejecting every unfamiliar field, while external build parameters may need stricter policy scrutiny because they can change what was built.

usable⁡(s,A)⇒subjectMatch⁡(s,H(A))∧expectedType⁡(s)\operatorname{usable}(s,A)\Rightarrow\operatorname{subjectMatch}(s,H(A))\land\operatorname{expectedType}(s)
s is a verified statement and A the candidate artifact. These are necessary Boolean binding and semantics checks, not sufficient trust conditions; the accepted signer, builder, and required predicate contents must also satisfy policy.↔ Scroll wide equations horizontally.

Separate build definition from the reporting authority

SLSA 1.2 build provenance uses the provenance/v1 predicate and organizes information into buildDefinition and runDetails. The build definition identifies the build type, external parameters, and resolved dependencies; run details identify the builder and particular execution information. The specification's builder identity represents a defined trusted platform boundary, not merely a human-friendly job name. Consumers need an expectation for the allowed source, parameters, and builder. For an AI build, that may include which repository revision and toolchain or model-conversion inputs the approved workflow is supposed to use, with each requirement grounded in available evidence.

Do not infer complete input capture merely because resolvedDependencies is present. The specification describes completeness as best effort in the relevant build levels and documents the builder's guarantees separately. A build script can fetch an unrecorded tool, and a compromised builder can emit a false account of what happened. A valid signature preserves that false account's attribution rather than making it true. Stronger isolation, control-plane-generated evidence, source controls, and independent reconstruction constrain different threats. Explain which party observes each field and which assurance would fail if that party were compromised.

U=S∩T∩BU=S\cap T\cap B
S is the set of candidate statements bound to the intended subject, T those with the expected predicate semantics, and B those satisfying the configured builder and evidence policy. U is the set of usable evidence items; |U| gives its count, not a probability or a security strength score.↔ Scroll wide equations horizontally.

Treat verification as maintained decision work

Record the verified subject, builder, predicate version, relevant parameters, and policy version with the deployment decision. A changed trust root or newly distrusted builder can require reevaluation of a previously accepted statement. Keep provenance discoverable and retained with its artifact, but do not confuse registry attachment with authenticity. Handle missing, malformed, or unsupported required claims explicitly. If verification becomes a throughput bottleneck, improve capacity or an appropriately keyed cache; silently omitting builder or subject checks changes the policy rather than merely improving performance.

The queue lab explores only the capacity of such work. For each separate run, Reset, set both arrival rate λ=2 and service rate μ=4, predict the initial backlog's drain time, then Play or Step. The deterministic fluid backlog starts at four and drains in two seconds under these fixed rates. It does not parse statements, authenticate builders, or decide which claims are true. The operational connection is that a required verification stage needs capacity and a defined failure path; reducing its backlog does not justify weakening the evidence checks performed on each item.

Filter evidence by binding, semantics, and authority

Five signed statements accompany a fictional image. Assume their signatures verify. Three describe the intended digest; among those three, two have the required build-provenance predicate; among those two, one satisfies the approved builder and parameter policy.

  1. Subject binding reduces the candidate set from five to three. The other two statements are irrelevant to this image even though they are signed.

  2. Predicate checking leaves two statements with the required semantics. A different signed claim does not replace the requested provenance.

  3. Builder and parameter policy leaves one usable statement. That item supports the specified claim under its trust assumptions; one of five is not a 20% probability of safety.

The result

Exactly one statement satisfies all supplied conditions. Its trust boundary and actual predicate contents remain part of the deployment evidence.

Explore the model

Interactive lab

Interactive lab · queue

Provision the required verification stage

Reset, set both arrival λ=2 and service μ=4, predict, then Play or Step. The fluid backlog q=max(0, 4−2t) reaches zero at 2 seconds, four half-second Steps. This is a fixed-rate capacity illustration, not an attestation parser, cryptographic verifier, or measured service benchmark.

Provision the required verification stageFluid backlog starts at 4 and follows max(0, 4 + (λ − μ)t). The separate M/M/1 residence-time formula assumes Poisson arrivals, exponential service and λ < μ. Current readings: Fluid backlog: 4; Net rate · λ − μ: −1 /s; M/M/1 mean residence: 1 s. All parameters are adjustable with the labeled controls below.02.557.51001.534.56Elapsed time · sFluid backlogλ < μ
Fluid backlogCurrent time
Fluid backlog
4
Net rate · λ − μ
−1 /s
M/M/1 mean residence
1 s
t = 0 s

Fluid backlog starts at 4 and follows max(0, 4 + (λ − μ)t). The separate M/M/1 residence-time formula assumes Poisson arrivals, exponential service and λ < μ. Parameter changes pause playback and recompute the model at the current elapsed time. Reset restores both parameters and returns time to zero. Playback starts paused. Adjust either parameter, then choose Play or Step.

Look forA verification stage needs operational capacity and an explicit failure path. Queue throughput cannot establish that the accepted claims or builder are trustworthy.

Check your understanding

An attestation signature is valid and its builder is approved, but its subject digest is for another image. Does it satisfy this image’s provenance requirement?

Try it yourself

A fictional verifier receives eight signed statements. Six match the candidate digest; four of those six have the required predicate; three of those four satisfy builder and parameter policy. How many are usable? Does that count prove all build inputs were captured?

Take a moment to make a prediction or work it out on paper. Open a hint when you need one.

Give me a hint

Apply the nested conditions and keep evidence quantity separate from builder guarantees.

Compare with the solution

Three statements satisfy all supplied conditions. The count does not establish complete input capture; that depends on the predicate’s contents, the builder’s documented guarantees, and how those facts were observed. Repeated claims do not fill an unobserved input boundary.

Take it with you

  • The subject digest and versioned predicate semantics give a statement its scope.
  • A trusted builder’s documented observation boundary determines the claim’s strength.
  • Signed provenance is attributable evidence, not a guarantee that a build is safe or complete.

Read further

Original sources and deeper explanations to follow at your own pace.

Optional progress, saved in this browser when available. Revisit any lesson at any time.

Lesson not marked complete.