-
Notifications
You must be signed in to change notification settings - Fork 233
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unique builder.id
for SLSA Build > L3
#849
Comments
Bringing in a comment from slsa-framework/slsa-proposals#9 (comment) @kpk47 mentioned
Since a build platform can fall back to the most interoperable format of SLSA verification of artifacts -- i.e. VSA -- for confirming and indicating what the actual SLSA level is, it would be at a disadvantage from the platform's usability perspective to disallow producer flexibility when configuring builds on the platform. Instead, it would be advantageous to
In order to make this process usable, producers shouldn't be dissuaded from the journey so artifacts should continue to be built as the build hardening is occurring. The moment that builds achieve a higher build level, they should be classified as such by the build platform. In order for a build platform to be able to choose a correct ID, the platform has to be able to detect the "chosen path" before the |
I had a conversation with @TomHennen about this at SOSS-EU. While this isn't a summary of the conversation, it is a re-assessment of my original issue in light of the conversation. The provenance specification indicates
While it may be a great feature for a build platform to support multiple modes of operations, there should be some process which simplifies the consumption process, whether that is re-attesting an updated provenance with a unique If a build platform does not adhere to this requirement for Strictly speaking, the mode of operation for the type of build platform that I described above may be described as a single mode (even if that mode is flexible). That mode might just enable users to self-select more restrictive modes which the build platform would then need to verify before claiming higher SLSA levels. Therefore, the |
In identifying requirements for isolation in Build L3, we agreed that L3 would not require specific producer modification to the builds while starting with L4 that the producer and the platform will need to take on additional work before being able to achieve these higher levels.
In the Provenance specification, it is noted
This requirement makes sense when considering Build levels 1, 2, and 3 since there are no required actions for the producer's build other than using a platform capable of achieving the desired level. When considering a future Build L4, however, this requirement starts to add confusion as the build platform might not have a priori knowledge of the achieved SLSA Build level.
If a build platform is capable of achieving a Build L4 due to the additional hardening that it achieves, it might be a usability feature for such a platform to also support L3 based on producer input and configuration. These build systems would then be able to assess the produced artifact (and supporting attestations) to definitively classify a build as L3 or L4 based on user configuration. In this situation, it would make sense that a
builder.id
attached with the provenance is associated with the maximum possible SLSA build level.In these situations, it may require that a build platform produces its own VSA attestation to clearly identify the achieved build level for each artifact due to the implementation of the platform to improve usability.
The text was updated successfully, but these errors were encountered: