-
Notifications
You must be signed in to change notification settings - Fork 229
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
Should we capture provenance for the control plane? #1253
Comments
CC @paveliak |
That's an interesting problem. The short answer is "no" and let me elaborate... Ultimately the objective of Build Environment track is to provide cryptographic evidence that build is running using the specified image. Image itself has provenance and comes from a build pipeline with a SLSA level but since build runs inside the environment (aka "inside the image") we need to rely on extra things to actually attest the environment build runs in. One option to address that could be to trust control plane to do that and attest the control plane instead. Apple is doing some very interesting work in this area with their Private Compute Cloud. Below I enumerate few challenges that existing build platforms would need to provide answer for and to be honest I think that the bar could be prohibitively high for the majority of them. In this track we take slightly different approach relying on the hardware root of trust to do the attestation leaving control plane outside of Another caveat is by treating Control plane as untrusted we have to accept security risks coming from the interaction with the Control plane. For example, we have to trust build request message that initiates the build. Granted, the important properties of this message are included into the build attestation (e.g. commit SHA). And generally we should include into the provenance all input messages coming from the control plan that can influence build results. I would add another interesting consideration regarding untrusted control plane as we are on this topic. As we boot build environment we cannot expect (untrusted) control plane to attest build environment before executing the job and terminate environment if it failed the attestation. Rather we include hardware-assisted build environment attestation into the build provenance and let build consumer decide on what to do. Getting back to attesting Control plane... Suppose we request attestation of the Control plane. What kind of challenges come with this request for the build platform providers?
I would be happy to see these questions solved as they may be relevant to other tracks too (Source track? tagging @zachariahcox for it). |
Currently the BuildEnv track doesn't require provenance for the control plane because it's not considered part of the build environment per se? But should there be (except for the bootstrapping problem)? One argument in favor is that at BuildEnv L2+, the platform's control plane is no longer trusted.
Originally posted by @arewm in #1244 (comment)
The text was updated successfully, but these errors were encountered: