Skip to content
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

Add more examples for the ResourceDescriptor field type #256

Open
1 task
joshuagl opened this issue Jun 27, 2023 · 6 comments
Open
1 task

Add more examples for the ResourceDescriptor field type #256

joshuagl opened this issue Jun 27, 2023 · 6 comments

Comments

@joshuagl
Copy link
Contributor

joshuagl commented Jun 27, 2023

The ResourceDescriptor is an extremely versatile field type with multiple uses. It would be helpful for implementers to understand the versatility and utility of the field type if we provided more, and richer, examples of its use in the type specification.

Specific examples to add:

Originally requested by @marcelamelara in #251 (review)

@fred-jonkhart
Copy link

In general I cant find any example of any attestation on the internet. If you want people to adopt this methodology you need to lower the threshold. Same for SLSA, not a single example.

@marcelamelara
Copy link
Contributor

@fred-jonkhart Thanks for this feedback, we can certainly always improve upon the documentation in this repo.

Without knowing where you have searched or what exactly you're looking for, I'd recommend you take a look at our https://github.com/in-toto/scai-demos repo, which in fact contains several real in-toto attestation examples (incl. SLSA). Hope that helps.

@fred-jonkhart
Copy link

@marcelamelara, Thanks for your response. Half an hour after adding my remark I found some examples at the SLSA site (https://slsa.netlify.app/blog/2023/05/in-toto-and-slsa). What I noticed is that many predicateType URIs are non-existing. The TypeURI spec reads "SHOULD resolve to a human-readable description, but MAY be unresolvable.", so it is allowed to not be there I guess. The same is true for the the examples in the repo your provided. For instance the "https://in-toto.io/attestation/scai/attribute-report/v0.2" page does not exist.

I try to understand if using in-toto would be beneficial for our internal use case, establish internal policy compliance for software artifacts. Currently our pipelines generate telemetry messages that needs to be refactored / reevaluated for both technical and functional reasons. We generate lots of messages including related to quality assurance steps, e.g. doing a SonarQube scan and have some quality gate evaluation result.

I see potential use of a system like GUAC and hence the benefit of refactoring our telemetry towards in-toto. This in contrast to writing our own solution.

However.......

I see the predicateType as the thing to match with our current messages. In other words; is there a suitable predicateType that fits our current message payload. I have a hard time doing this with the missing or sometimes very rudimentary descriptions of the predicateTypes. I had hoped that examples would shed some light, but many examples are trivial or have many missing attributes. In short, I am stuck. If I cant convince myself, how am I to convince my colleagues?

@jkjell
Copy link
Member

jkjell commented Nov 28, 2023

💯 agree with improving the docs and details. Just adding for reference some "real-world" examples for SLSA build provenance and their verification:

@adityasaky
Copy link
Member

I also want to plug SLSA provenance generated for NPM packages. Eg: https://search.sigstore.dev/?logIndex=33351527 (see "Attestation")

@adityasaky
Copy link
Member

I see the predicateType as the thing to match with our current messages. In other words; is there a suitable predicateType that fits our current message payload. I have a hard time doing this with the missing or sometimes very rudimentary descriptions of the predicateTypes.

There are descriptions of "vetted" predicate types here: https://github.com/in-toto/attestation/tree/main/spec/predicates. I agree supplementing them with real world examples would be neat. I think a new one may be necessary for what you describe, which is documented here: https://github.com/in-toto/attestation/blob/main/docs/new_predicate_guidelines.md.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants