-
Notifications
You must be signed in to change notification settings - Fork 1
docs: describe the sbom attestation type #414
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,6 +4,8 @@ description: "Learn how to make attestations to Kosli to prove compliance in you | |
| icon: "receipt" | ||
| --- | ||
|
|
||
| import CliBetaNotice from "/snippets/cli-beta-notice.mdx"; | ||
|
|
||
| Attestations are how you record the facts you care about in your software supply chain. | ||
| They are the evidence that you have performed certain activities, such as running tests, security scans, or ensuring that a certain requirement is met. | ||
|
|
||
|
|
@@ -288,6 +290,27 @@ Currently, we support the following types of evidence: | |
|
|
||
| See [attest Snyk results to an artifact or a trail](/client_reference/kosli_attest_snyk/) for usage details and examples. | ||
| </Accordion> | ||
| <Accordion title="SBOM" icon="list-tree"> | ||
|
|
||
| <CliBetaNotice /> | ||
|
|
||
| You can attest a software bill of materials in CycloneDX (JSON or XML) or SPDX (JSON or | ||
| tag-value) format. Kosli reads the format, the creation time, the tools that produced it, | ||
| the subject it describes and how many packages it lists, and records those alongside the | ||
| file itself in the [Evidence Vault](#evidence-vault). | ||
|
|
||
| The file is uploaded as supplied, so the checksum Kosli records is the checksum of your | ||
| file and you can verify it by hand. Kosli sets the `sbom_format` and `sbom_sha256` | ||
| annotations for you; you do not pass them with `--annotate`. | ||
|
|
||
| Nothing in the SBOM is checked against the artifact. It is recorded as reported, so the | ||
| attestation says what the SBOM claims, not whether the claim is true. | ||
|
|
||
| The CLI refuses an SBOM file larger than 9 MiB, which leaves room for the attestation | ||
| itself within the 10 MB the server accepts. We are working on raising this. | ||
|
Comment on lines
+306
to
+310
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Two things a reader needs here that the generated reference page has and this accordion does not. A gzipped SBOM is rejected, and the size cap is what makes a reader reach for gzip. Compliance status is still unstated. "Nothing in the SBOM is checked against the artifact" says what is not checked and never says what status the attestation lands in. This has become load-bearing in this PR rather than optional: the same diff adds |
||
|
|
||
| See [attest an SBOM to an artifact or a trail](/client_reference/kosli_attest_sbom/) for usage details and examples. | ||
| </Accordion> | ||
| <Accordion title="Jira issues" icon="clipboard-list-check"> | ||
|
|
||
| You can use the Jira attestation to verify that a git commit or branch contains a reference to a Jira issue and that an issue with the same reference does exist in Jira. | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -87,6 +87,8 @@ An environment policy is a YAML file that declares compliance requirements for a | |
| | `pull_request` | Pull request evidence | | ||
| | `jira` | Jira ticket reference | | ||
| | `sonar` | SonarQube analysis | | ||
| | `decision` | A recorded decision | | ||
| | `sbom` | A software bill of materials | | ||
|
Comment on lines
+90
to
+91
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Both rows match
|
||
| | `*` | Matches any built-in or custom type | | ||
| | `custom:<name>` | A [custom attestation type](/client_reference/kosli_create_attestation-type) (e.g., `custom:coverage-metrics`) | | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -8,6 +8,8 @@ By the end, you will have a Kosli attestation that captures the key facts from y | |
|
|
||
| This two-part approach keeps attestation payloads focused on what compliance rules need to evaluate, while ensuring the raw evidence remains available. | ||
|
|
||
| For SBOMs there is now a dedicated type, `kosli attest sbom`, which reads the format, tools, subject and package count from the file for you. It is in beta. This tutorial remains the approach for any report Kosli does not parse, such as SARIF. | ||
|
AlexKantor87 marked this conversation as resolved.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Still unaddressed at HEAD: this paragraph redirects SBOM readers away, but the two things that route them here were not updated with it.
Leading all three with SARIF and vulnerability reports makes the redirection consistent with the page rather than in tension with it. |
||
|
|
||
| <Note> | ||
| The `--attestation-data` JSON payload sent by `kosli attest custom` is limited to 1 MB — exceeding it returns a 400 error. Distill larger reports into a summary and attach the full document with `--attachments`, as described below. | ||
| </Note> | ||
|
AlexKantor87 marked this conversation as resolved.
|
||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.