openeox icon indicating copy to clipboard operation
openeox copied to clipboard

Unique Product Identifier

Open tschmidtb51 opened this issue 2 years ago • 9 comments

As a follow up to https://github.com/OpenPLF/oplf/issues/1 :

  1. Defining the productId The productId should ideally be globally unique to ensure consistency and avoid confusion across different documents or systems. The assignment of productIds can be managed by a central authority, similar to the supplierID, or follow a standardized naming convention established by the industry. By ensuring a globally unique productId, it becomes easier to track and manage EOL and EOS information for products across various sources and platforms. Getting consensus of this central authority will be one of the most challenging parts of all this. However, we can start the conversation with other industry leaders, CISA, and other participants.

Originally posted by @santosomar in https://github.com/OpenPLF/oplf/issues/1#issuecomment-1526425985

Creating this issue to track this.

tschmidtb51 avatar May 04 '23 22:05 tschmidtb51

There is a panel discussion regarding the topic upcoming at the FIRST conference.

tschmidtb51 avatar May 04 '23 22:05 tschmidtb51

If you have a SBOM and you provide it for download and the URL is stable, you can use that URL to uniquely identify a single version of a product.

tschmidtb51 avatar May 04 '23 22:05 tschmidtb51

I would encourage this schema to either make product identification information optional, or simply not to include it at all, and to let the objects serialized by this schema be subordinate to other objects.

elear avatar Jul 27 '23 15:07 elear

I like the idea and it also reflects the Unix philosophy: "Do One Thing And Do It Well."

The embedding might help to find broader acceptance...

tschmidtb51 avatar Aug 04 '23 17:08 tschmidtb51

I suggest to adopt the CPE name as an optional field to fulfill this need. It's well established, well defined, well standardized, used by NVD and proven in use.

CPE Standard, CPE Dictionary

CPE would also solve the "supplierID" #6, because CPE contains the field "vendor", meaning the same. If you made the CPE name mandatory, the supplierID field would become redundant.

I guess that @tschmidtb51 would be more inclined to favor SPDX, given the list of their own repositories... But I don't really see CPE and SPDX as competing.

The CPE would have the additional benefit that it'd become trivial to map CVEs to products in the OpenEoX database.

StefanSchroeder avatar Oct 13 '23 06:10 StefanSchroeder

I would even go one step further and split the schema into two separate things:

  1. a definition schema that gives the different options (comparable to CVSS schemas) and can be imported by other schemas, e.g., CSAF
  2. an API schema that adds the product information (what exactly that should be is tbd)

tschmidtb51 avatar Oct 23 '23 08:10 tschmidtb51

We use both PURLs and CPEs in our schema at endoflife.date and have found both lacking.

In particular: PURLs do not work well with anything that's not distributed as a package. This includes things like operating systems or devices, but also software that might be distributed outside of a package manager.

CPEs do not consider distribution mechanisms so you get the same issues that CVE scanners.

We have also considered SWIDs, to account for gaps in PURLs.

I like the idea of providing an embedable schema, which could be used by other specifications. A simple usecase would be adoption by package managers so the package metadata could embed this specification and provide EoL information.

captn3m0 avatar Nov 01 '23 19:11 captn3m0

There had been a suggestion in Debian to adopt CPE, see https://wiki.debian.org/CPEtagPackagesDep. But the proposal is stale, it's ten years old...

StefanSchroeder avatar Nov 01 '23 20:11 StefanSchroeder

Hi everyone!

This is a great discussion!

FYI only: Now that OpenEoX is an official OASIS technical committee (TC), we are moving the discussion to the repository. I have added this for active discussion and work under https://github.com/oasis-tcs/openeox/issues/2

santosomar avatar Nov 07 '23 02:11 santosomar