-
Notifications
You must be signed in to change notification settings - Fork 547
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
Clarifying questions re: cosign vulnerability attestation spec #1381
Comments
+1 to removing this one!
I think the idea was to allow embedding anything here. The only real "standard" we saw around this was SARIF, which isn't widely supported enough for me to feel comfortable requiring.
Naming is hard! Any other suggestions? I'm not picky :) I kind of like having this at the top level since it would make it easier to write policy against consistently, without needing to know where to look in different places. But I'm not too opinionated here. |
cc @developer-guy any other thoughts here? |
Missed this issue. Thanks for the questions. @luhring
Actually, we were thinking that field to use as a source of scan, for example:
I'm saying here: "This vuln spec generated in GitHub Action at URI". If this makes sense to you, we can consider documenting it.
Correct! We should update the documentation. But here is an example:
We are supporting to change the
I didn't think from this perspective. :D Since
Strongly agree with you. We thought that times might be useful for some tracing and estimating scan durations. It would be great to extend and add some more important fields in |
Thanks for the comments! I'll try to keep my thoughts organized by topic... Including an
|
I am interested in if the predicateType field was ever overloaded to include wrapped type? It looks like it was agreed that using the "+" syntax was not necessary and that "/" would be used instead here: in-toto/attestation#58 (comment) however in the above comment by @Dentrax #1381 (comment) "+" is mentioned again. Also the current version of the spec no wrapped type is mentioned in the predicate type URI at all: "cosign.sigstore.dev/attestation/vuln/v1" https://github.com/sigstore/cosign/blob/main/specs/COSIGN_VULN_ATTESTATION_SPEC.md Is this decision still in flight? |
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 5 days. |
This issue was closed because it has been stalled for 5 days with no activity. |
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 5 days. |
This issue was closed because it has been stalled for 5 days with no activity. |
Hi! I saw @developer-guy open anchore/grype#614. I think vulnerability scan attestations are a great idea, and I've been catching up on what exists already via these places so far:
Before starting to apply this spec in a real implementation, I have a few questions that would help me better understanding how to use it.
(ALSO: I should apologize for just now asking these questions and not weighing in earlier in the issue and PR discussions. Sorry about that! 🙇 )
The
invocation
object is shown in the spec but its fields aren't documented below like the other parts of the spec. I don't understand the role thatinvocation
is intended to play in vuln scanning workflows. I believe @dlorenc suggested that we drop this object. Can it be removed from the spec? And if not, could we document the intent of this data in the spec?I was following the conversation here, and it looks like there's an intention to use the statement's
predicateType
field to specify not only this Cosign spec but also the type of the "wrapped" data that goes into theresult
object. Is that true? If so, could the spec example be updated to show how this relationship should work? (i.e. can we include a bit more of the in-toto statement than just the predicate itself?)It looks like this specification features Trivy consistently throughout the document. (And it looks like the example attestation isn't using a wrapped standard, it's using Trivy's own JSON format.) Is this intentional?
Is
result
the right name for a field that wraps an entire scan output from another spec? I'm thinking this term might be overloaded. Those specs tend to include data that's a superset of "results", and thenresult
tends to be an actual field within the specification (i.e. to specify the vulnerability matches).The data contained in
scanner
seems to always be included in other specifications (e.g. see SARIF, CycloneDX). Is this redundant?The
metadata
section shows the start and finish times for the scan. Two thoughts on this: a) this tends to be provided in the vulnerability standard spec (e.g. see SARIF, CycloneDX), and b) (which may be moot), usually the time of the scan is relatively less important than other time-based factors. What matters most in a vulnerability scan are the inputs that are required to reproduce the same results: the vulnerability dataset, the list of discovered software (ideally an SBOM), and the scan tool itself. It can be misleading to promote "scan time" (especially when coupled with a "finish time") to consumers making a policy decision, because a later scan run doesn't necessarily imply that the scan was done in light of more recent vulnerability data, as some would assume.Thanks for the help!
The text was updated successfully, but these errors were encountered: