Skip to content

Add tea-collection external reference type #634

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

Draft
wants to merge 1 commit into
base: 1.7-dev
Choose a base branch
from

Conversation

ppkarwasz
Copy link
Contributor

@ppkarwasz ppkarwasz commented May 5, 2025

Adds a new type to reference a TEA Collection object. A Transparency Exchange API Collection for the most part is a replacement of the externalReferences object, but provides a versioned and modifiable view of all security-related documents for a given CycloneDX Component.

The easiest way to integrate a TEA Collection into CycloneDX is to introduce a new type of externalReference that points:

Closes #633

Note: This PR is a draft until beta1 of the Transparency Exchange API is published.

Adds a new type to reference a [TEA Collection object](https://github.com/CycloneDX/transparency-exchange-api/blob/main/tea-collection/tea-collection.md).

A Transparency Exchange API Collection for the most part is a replacement of the `externalReferences` object, but provides a **versioned** and modifiable view of all security-related documents for a given CycloneDX Component.

Signed-off-by: Piotr P. Karwasz <piotr@github.copernik.eu>
@oej
Copy link

oej commented May 5, 2025

Why not a TEI ?

@ppkarwasz
Copy link
Contributor Author

Why not a TEI ?

Using the TEI doesn't seem very practical in this context:

  • If we provide the URL to the (latest) TEA Collection (https://example.com/tea/v1/release/3f92c28c-13c9-4e32-8d5b-5f8ae77ef265/collection) only one TEA API call is required to see all documents.
  • If we provide the URL to the TEA Component Release (https://example.com/tea/v1/release/3f92c28c-13c9-4e32-8d5b-5f8ae77ef265) a client can easily retrieve the TEA Collection by appending /collection.
  • If we use the TEI some complex logic must be used to find the right TEA Collection object, since a client will need to find:
    1. The appropriate TEA Component. For a software package this can be done by comparing PURLs, for a hardware device I don't know.
    2. The appropriate TEA Component Release. Again, it is not very clear how to find the appropriate one.

Certainly using TEI would be more stable if the URL of the TEA Service changes, but the logic to implement its usage seems quite complex.

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

Successfully merging this pull request may close these issues.

3 participants