Safeguard
Security Guides•

Which provenance fields help during a supply chain incident?

During an incident, SLSA provenance fields such as invocationId, timestamps, internalParameters and byproducts help trace a build. Here is how to use them.

Safeguard Security Team
4 min read

Four groups of fields help most in an incident: the subject digest to find the exact artifact, builder.id and metadata to find the exact run, externalParameters to see what was requested, and internalParameters and byproducts for platform detail and logs. Know where they are before you need them.

When a bad release is suspected, the first questions are always the same. Which build made it, from what, when, and who triggered it? Provenance can answer if you recorded it well.

Field map

QuestionField to read
Is this the artifact in question?Subject digest
Which platform built it?builder.id
Which run?metadata invocationId
When did it run?metadata startedOn and finishedOn
What did the caller ask for?externalParameters
How was the platform set up?internalParameters
What logs or configs exist?byproducts
What was fetched?resolvedDependencies

The SLSA provenance page describes these. It says internalParameters are trusted values set by the platform and help with debugging, incident response and sometimes reproducing a build. It says byproducts are extra artifacts such as logs or a digest of the evaluated configuration that may help debugging or incident response, and that they are not the build output and should not include every intermediate file.

A response sequence

  1. Match the digest. Confirm that the file you hold is the subject of a provenance record. If no record matches, treat the artifact's origin as unknown.
  2. Read the builder and run. Note builder.id and invocationId, then find the matching run in your CI system.
  3. Check the times. Compare startedOn and finishedOn with the timeline of the suspected event. A build that ran at an odd hour deserves attention.
  4. Read externalParameters. Look for an unexpected repository, branch or input value. This is where tampered requests show up.
  5. Pull logs. If byproducts reference logs or a configuration digest, retrieve them before retention policies delete them.
  6. List affected artifacts. Search your stored provenance for the same builder, parameters or dependency, and list every artifact that shares it.

What to store in advance

  • Provenance for every release, named by artifact digest and kept for as long as the release is supported.
  • A mapping from invocationId to the CI run page and its logs, with log retention long enough to cover your support window.
  • Copies of the provenance outside the CI system, so a platform compromise cannot erase it.

Retention is a decision, not a default. Ask your CI provider how long logs live and set up export where needed.

Limits

Provenance is a record the platform produced. If the platform was compromised, treat its records as suspect and lean on other evidence such as registry logs and source control history. The spec also says resolvedDependencies completeness is best effort, so a missing entry is not proof that the build did not fetch something.

After the incident

Write down which fields helped and which were missing, then change what you record. Teams often discover they wished for a field they did not capture.

Safeguard can help you find which of your products contain an affected component through SBOM and dependency scanning, and the free scan at https://gold.safeguard.sh/scan is a way to start building that inventory.

Quick check

What is the first thing to match in an incident?

The artifact digest against the subject of a provenance record.

Are byproducts part of the build output?

No. The spec says they are extra artifacts, such as logs, and not the build output.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.