Skip to content

Commit

Permalink
Clarify requirements around cache use by the build platform.
Browse files Browse the repository at this point in the history
Addresses #894

Signed-off-by: arewm <arewm@users.noreply.github.com>
  • Loading branch information
arewm committed Jul 6, 2023
1 parent cdf14cc commit b984852
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions docs/spec/v1.0/requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -301,13 +301,18 @@ The build platform MUST guarantee the following:
- It MUST NOT be possible for one build to persist or influence the build
environment of a subsequent build. In other words, an ephemeral build
environment MUST be provisioned for each build.
- The build platform MUST NOT open services that allow for remote influence
unless all such interactions are captured as `externalParameters` in the
provenance.

If the build platform leverages a cache for builds, it MUST guarantee the following:

- It MUST NOT be possible for one build to inject false entries into a build
cache used by another build, also known as "cache poisoning". In other
words, the output of the build MUST be identical whether or not the cache is
used.
- The build platform MUST NOT open services that allow for remote influence
unless all such interactions are captured as `externalParameters` in the
provenance.
- The resolved dependencies used to generate the cached artifacts MUST be captured
in the provenance.

There are no sub-requirements on the build itself. Build L3 is limited to
ensuring that a well-intentioned build runs securely. It does not require that
Expand Down

0 comments on commit b984852

Please sign in to comment.