Unfortunately I cannot give the SBOM, but it would be pretty easy to create.
I had an SBOM that would not load into Dependency Track with a Schema Validation error. Using the latest version of this tool I ran the validation against it and this is the output:
Welcome to the sbom-utility! Version `v0.17.0` (sbom-utility) (darwin/amd64)
============================================================================
[INFO] Loading (embedded) default schema config file: `config.json`...
[INFO] Loading (embedded) default license policy file: `license.json`...
[INFO] Attempting to load and unmarshal data from: `nps_saas_11.2.3.4_20241223_191016-collected-EDITOR/nps_saas_11.2.3.4_20241223_191016-collected-original-sbom.cdx.json`...
[INFO] Successfully unmarshalled data from: `nps_saas_11.2.3.4_20241223_191016-collected-EDITOR/nps_saas_11.2.3.4_20241223_191016-collected-original-sbom.cdx.json`
[INFO] Determining file's BOM format and version...
[INFO] Determined BOM format, version (variant): `CycloneDX`, `1.4` (latest)
[INFO] Matching BOM schema (for validation): schema/cyclonedx/1.4/bom-1.4.schema.json
[INFO] Loading schema `schema/cyclonedx/1.4/bom-1.4.schema.json`...
[INFO] Schema `schema/cyclonedx/1.4/bom-1.4.schema.json` loaded.
[INFO] Validating `nps_saas_11.2.3.4_20241223_191016-collected-EDITOR/nps_saas_11.2.3.4_20241223_191016-collected-original-sbom.cdx.json`...
[INFO] BOM valid against JSON schema: `true`
Short version of several hours of work is I tracked it to an entry. The entry in error is as follows:
{
"type": "library",
"bom-ref": "pkg:pypi/example@21.12",
"supplier": {
"url": [
"Not Found"
]
},
"author": "UNKNOWN",
"name": "example",
"version": "21.12",
"description": "UNKNOWN",
"licenses": [
{
"license": {
"id": "Apache-2.0"
}
}
],
"copyright": "No copyright found",
"purl": "pkg:pypi/example@21.12",
"properties": [
{
"name": "Relationship Completeness",
"value": "Unknown"
}
]
},
This is the fixed one:
{
"type": "library",
"bom-ref": "pkg:pypi/example@21.12",
"supplier": {
"url": [
""
]
},
"author": "UNKNOWN",
"name": "example",
"version": "21.12",
"description": "UNKNOWN",
"licenses": [
{
"license": {
"id": "Apache-2.0"
}
}
],
"copyright": "No copyright found",
"purl": "pkg:pypi/example@21.12",
"properties": [
{
"name": "Relationship Completeness",
"value": "Unknown"
}
]
},
The difference is in this section:
"supplier": {
"url": [
"Not Found"
]
},
Looking at the spec https://cyclonedx.org/docs/1.5/json/#components_items_supplier_url it clearly states that it needs to be a URL. (Or several of them)
Could the validation tool please be updated to validate this field properly. Thanks.
Unfortunately I cannot give the SBOM, but it would be pretty easy to create.
I had an SBOM that would not load into Dependency Track with a Schema Validation error. Using the latest version of this tool I ran the validation against it and this is the output:
Short version of several hours of work is I tracked it to an entry. The entry in error is as follows:
This is the fixed one:
The difference is in this section:
Looking at the spec https://cyclonedx.org/docs/1.5/json/#components_items_supplier_url it clearly states that it needs to be a URL. (Or several of them)
Could the validation tool please be updated to validate this field properly. Thanks.