Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions schema/2.0/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,6 @@ These are provided for convenience and do not supersede the authoritative pre-de

## Related Resources

- CycloneDX Website: [https://cyclonedx.org](https://cyclonedx.org)
- ECMA-424 Publication: [https://ecma-international.org/publications-and-standards/standards/ecma-424/](https://ecma-international.org/publications-and-standards/standards/ecma-424/)
- Model Definitions: See [`model/README.md`](./model/README.md)
- CycloneDX Website: <https://cyclonedx.org>
- ECMA-424 Publication: <https://ecma-international.org/publications-and-standards/standards/ecma-424/>
- Model Definitions: See [`model/README.md`](model/README.md)
2 changes: 1 addition & 1 deletion schema/2.0/model/cyclonedx-ai-modelcard-2.0.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"$comment" : "OWASP CycloneDX is an Ecma International standard (ECMA-424) developed in collaboration between the OWASP Foundation and Ecma Technical Committee 54 (TC54). The standard is published under a royalty-free patent policy. This JSON schema is the reference implementation and is licensed under the Apache License 2.0.",
"$defs": {
"modelCard": {
"$comment": "Model card support in CycloneDX is derived from TensorFlow Model Card Toolkit released under the Apache 2.0 license and available from https://github.com/tensorflow/model-card-toolkit/blob/main/model_card_toolkit/schema/v0.0.2/model_card.schema.json. In addition, CycloneDX model card support includes portions of VerifyML, also released under the Apache 2.0 license and available from https://github.com/cylynx/verifyml/blob/main/verifyml/model_card_toolkit/schema/v0.0.4/model_card.schema.json.",
"$comment": "Model card support in CycloneDX is derived from TensorFlow Model Card Toolkit released under the Apache 2.0 license and available from <https://github.com/tensorflow/model-card-toolkit/blob/main/model_card_toolkit/schema/v0.0.2/model_card.schema.json>. In addition, CycloneDX model card support includes portions of VerifyML, also released under the Apache 2.0 license and available from <https://github.com/cylynx/verifyml/blob/main/verifyml/model_card_toolkit/schema/v0.0.4/model_card.schema.json>.",
"type": "object",
"title": "Model Card",
"description": "A model card describes the intended uses of a machine learning model and potential limitations, including biases and ethical considerations. Model cards typically contain the training parameters, which datasets were used to train the model, performance metrics, and other relevant data useful for ML transparency. This object SHOULD be specified for any component of type `machine-learning-model` and must not be specified for other component types.",
Expand Down
14 changes: 7 additions & 7 deletions schema/2.0/model/cyclonedx-common-2.0.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@
},
"bomLinkDocumentType": {
"title": "BOM-Link Document",
"description": "Descriptor for another BOM document. See https://cyclonedx.org/capabilities/bomlink/",
"description": "Descriptor for another BOM document. See <https://cyclonedx.org/capabilities/bomlink/>.",
"type": "string",
"format": "iri-reference",
"pattern": "^urn:cdx:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/[1-9][0-9]*$",
"$comment": "part of the pattern is based on `bom.serialNumber`'s pattern"
},
"bomLinkElementType": {
"title": "BOM-Link Element",
"description": "Descriptor for an element in a BOM document. See https://cyclonedx.org/capabilities/bomlink/",
"description": "Descriptor for an element in a BOM document. See <https://cyclonedx.org/capabilities/bomlink/>.",
"type": "string",
"format": "iri-reference",
"pattern": "^urn:cdx:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/[1-9][0-9]*#.+$",
Expand Down Expand Up @@ -815,17 +815,17 @@
"cherry-pick"
],
"meta:enum": {
"unofficial": "A patch which is not developed by the creators or maintainers of the software being patched. Refer to [https://en.wikipedia.org/wiki/Unofficial_patch](https://en.wikipedia.org/wiki/Unofficial_patch).",
"monkey": "A patch which dynamically modifies runtime behavior. Refer to [https://en.wikipedia.org/wiki/Monkey_patch](https://en.wikipedia.org/wiki/Monkey_patch).",
"backport": "A patch which takes code from a newer version of the software and applies it to older versions of the same software. Refer to [https://en.wikipedia.org/wiki/Backporting](https://en.wikipedia.org/wiki/Backporting).",
"unofficial": "A patch which is not developed by the creators or maintainers of the software being patched. Refer to <https://en.wikipedia.org/wiki/Unofficial_patch>.",
"monkey": "A patch which dynamically modifies runtime behavior. Refer to <https://en.wikipedia.org/wiki/Monkey_patch>.",
"backport": "A patch which takes code from a newer version of the software and applies it to older versions of the same software. Refer to <https://en.wikipedia.org/wiki/Backporting>.",
"cherry-pick": "A patch created by selectively applying commits from other versions or branches of the same software."
},
"title": "Patch Type",
"description": "Specifies the purpose for the patch including the resolution of defects, security issues, or new behavior or functionality."
},
"diff": {
"title": "Diff",
"description": "The patch file (or diff) that shows changes. Refer to [https://en.wikipedia.org/wiki/Diff](https://en.wikipedia.org/wiki/Diff)",
"description": "The patch file (or diff) that shows changes. Refer to <https://en.wikipedia.org/wiki/Diff>",
"$ref": "#/$defs/diff"
},
"resolves": {
Expand All @@ -839,7 +839,7 @@
"diff": {
"type": "object",
"title": "Diff",
"description": "The patch file (or diff) that shows changes. Refer to https://en.wikipedia.org/wiki/Diff",
"description": "The patch file (or diff) that shows changes. Refer to <https://en.wikipedia.org/wiki/Diff>.",
"additionalProperties": false,
"properties": {
"text": {
Expand Down
20 changes: 10 additions & 10 deletions schema/2.0/model/cyclonedx-component-2.0.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,16 @@
"service"
],
"meta:enum": {
"application": "A software application. Refer to [https://en.wikipedia.org/wiki/Application_software](https://en.wikipedia.org/wiki/Application_software) for information about applications.",
"framework": "A software framework. Refer to [https://en.wikipedia.org/wiki/Software_framework](https://en.wikipedia.org/wiki/Software_framework) for information on how frameworks vary slightly from libraries.",
"library": "A software library. Refer to [https://en.wikipedia.org/wiki/Library_(computing)](https://en.wikipedia.org/wiki/Library_(computing)) for information about libraries. All third-party and open source reusable components will likely be a library. If the library also has key features of a framework, then it should be classified as a framework. If not, or is unknown, then specifying library is recommended.",
"container": "A packaging and/or runtime format, not specific to any particular technology, which isolates software inside the container from software outside of a container through virtualization technology. Refer to [https://en.wikipedia.org/wiki/OS-level_virtualization](https://en.wikipedia.org/wiki/OS-level_virtualization).",
"application": "A software application. Refer to <https://en.wikipedia.org/wiki/Application_software> for information about applications.",
"framework": "A software framework. Refer to <https://en.wikipedia.org/wiki/Software_framework> for information on how frameworks vary slightly from libraries.",
"library": "A software library. Refer to <https://en.wikipedia.org/wiki/Library_(computing)> for information about libraries. All third-party and open source reusable components will likely be a library. If the library also has key features of a framework, then it should be classified as a framework. If not, or is unknown, then specifying library is recommended.",
"container": "A packaging and/or runtime format, not specific to any particular technology, which isolates software inside the container from software outside of a container through virtualization technology. Refer to <https://en.wikipedia.org/wiki/OS-level_virtualization>.",
"platform": "A runtime environment that interprets or executes software. This may include runtimes such as those that execute bytecode, just-in-time compilers, interpreters, or low-code/no-code application platforms.",
"operating-system": "A software operating system without regard to deployment model (i.e. installed on physical hardware, virtual machine, image, etc) Refer to [https://en.wikipedia.org/wiki/Operating_system](https://en.wikipedia.org/wiki/Operating_system).",
"operating-system": "A software operating system without regard to deployment model (i.e. installed on physical hardware, virtual machine, image, etc) Refer to <https://en.wikipedia.org/wiki/Operating_system>.",
"device": "A hardware device such as a processor or chip-set. A hardware device containing firmware SHOULD include a component for the physical hardware itself and another component of type 'firmware' or 'operating-system' (whichever is relevant), describing information about the software running on the device. See also the list of [known device properties](https://github.com/CycloneDX/cyclonedx-property-taxonomy/blob/main/cdx/device.md).",
"device-driver": "A special type of software that operates or controls a particular type of device. Refer to [https://en.wikipedia.org/wiki/Device_driver](https://en.wikipedia.org/wiki/Device_driver).",
"firmware": "A special type of software that provides low-level control over a device's hardware. Refer to [https://en.wikipedia.org/wiki/Firmware](https://en.wikipedia.org/wiki/Firmware).",
"file": "A computer file. Refer to [https://en.wikipedia.org/wiki/Computer_file](https://en.wikipedia.org/wiki/Computer_file) for information about files.",
"device-driver": "A special type of software that operates or controls a particular type of device. Refer to <https://en.wikipedia.org/wiki/Device_driver>.",
"firmware": "A special type of software that provides low-level control over a device's hardware. Refer to <https://en.wikipedia.org/wiki/Firmware>.",
"file": "A computer file. Refer to <https://en.wikipedia.org/wiki/Computer_file> for information about files.",
"machine-learning-model": "A model based on training data that can make predictions or decisions without being explicitly programmed to do so.",
"data": "A collection of discrete values that convey information.",
"cryptographic-asset": "A cryptographic asset including algorithms, protocols, certificates, keys, tokens, and secrets.",
Expand Down Expand Up @@ -102,7 +102,7 @@
"versionRange": {
"$ref": "#/$defs/versionRange",
"title": "Component Version Range",
"description": "For an external component, this specifies the accepted version range.\nThe value must adhere to the Package URL Version Range syntax (vers), as defined at <https://github.com/package-url/vers-spec\nMay only be used if `.isExternal` is set to `true`.\nMust be used exclusively, either 'version' or 'versionRange', but not both."
"description": "For an external component, this specifies the accepted version range.\nThe value must adhere to the Package URL Version Range syntax (vers), as defined at <https://github.com/package-url/vers-spec>.\nMay only be used if `.isExternal` is set to `true`.\nMust be used exclusively, either 'version' or 'versionRange', but not both."
},
"isExternal": {
"type": "boolean",
Expand Down Expand Up @@ -466,7 +466,7 @@
]
},
"versionRange": {
"description": "A version range specified in Package-URL Version Range syntax (vers) which is defined at https://github.com/package-url/vers-spec",
"description": "A version range specified in Package-URL Version Range syntax (vers) which is defined at <https://github.com/package-url/vers-spec>.",
"type": "string",
"minLength": 1,
"maxLength": 4096,
Expand Down
2 changes: 1 addition & 1 deletion schema/2.0/model/cyclonedx-cryptography-2.0.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,7 @@
"nistQuantumSecurityLevel": {
"type": "integer",
"title": "NIST security strength category",
"description": "The NIST security strength category as defined in https://csrc.nist.gov/projects/post-quantum-cryptography/post-quantum-cryptography-standardization/evaluation-criteria/security-(evaluation-criteria). A value of 0 indicates that none of the categories are met.",
"description": "The NIST security strength category as defined in <https://csrc.nist.gov/projects/post-quantum-cryptography/post-quantum-cryptography-standardization/evaluation-criteria/security-(evaluation-criteria)>. A value of 0 indicates that none of the categories are met.",
"minimum": 0,
"maximum": 6
},
Expand Down
4 changes: 2 additions & 2 deletions schema/2.0/model/cyclonedx-license-2.0.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"expression": {
"type": "string",
"title": "SPDX License Expression",
"description": "A valid SPDX license expression.\nRefer to https://spdx.org/specifications for syntax requirements.",
"description": "A valid SPDX license expression.\nRefer to <https://spdx.org/specifications> for syntax requirements.",
"examples": [
"Apache-2.0 AND (MIT OR GPL-2.0-only)",
"GPL-3.0-only WITH Classpath-exception-2.0"
Expand All @@ -55,7 +55,7 @@
"properties": {
"licenseIdentifier": {
"title": "License Identifier",
"description": "The valid SPDX license identifier. Refer to https://spdx.org/specifications for syntax requirements.\nThis property serves as the primary key, which uniquely identifies each record.",
"description": "The valid SPDX license identifier. Refer to <https://spdx.org/specifications> for syntax requirements.\nThis property serves as the primary key, which uniquely identifies each record.",
"type": "string",
"examples": [
"Apache-2.0",
Expand Down
2 changes: 1 addition & 1 deletion schema/2.0/model/cyclonedx-metadata-2.0.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
},
"tlpClassification": {
"title": "Traffic Light Protocol (TLP) Classification",
"description": "Traffic Light Protocol (TLP) is a classification system for identifying the potential risk associated with artefact, including whether it is subject to certain types of legal, financial, or technical threats. Refer to [https://www.first.org/tlp/](https://www.first.org/tlp/) for further information.\nThe default classification is \"CLEAR\"",
"description": "Traffic Light Protocol (TLP) is a classification system for identifying the potential risk associated with artefact, including whether it is subject to certain types of legal, financial, or technical threats. Refer to <https://www.first.org/tlp/> for further information.\nThe default classification is \"CLEAR\"",
"type" : "string",
"default": "CLEAR",
"enum": [
Expand Down
6 changes: 3 additions & 3 deletions schema/2.0/model/cyclonedx-party-2.0.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -379,7 +379,7 @@
"person": {
"type": "object",
"title": "Person Identity",
"description": "Identity attributes for a party that is an individual person. The name model is intentionally unstructured: a single freeform `name` captures the full name as the person wishes to be known, accommodating the wide variation of naming conventions across cultures. See https://www.w3.org/International/questions/qa-personal-names for background.",
"description": "Identity attributes for a party that is an individual person. The name model is intentionally unstructured: a single freeform `name` captures the full name as the person wishes to be known, accommodating the wide variation of naming conventions across cultures. See <https://www.w3.org/International/questions/qa-personal-names> for background.",
"additionalProperties": false,
"properties": {
"name": {
Expand Down Expand Up @@ -786,8 +786,8 @@
"un-lm": "United Nations Locode for a specific facility or jurisdiction.",
"oidc-sub": "OpenID Connect subject identifier for a machine or service identity.",
"spiffe": "SPIFFE ID for a workload identity.",
"did": "W3C Decentralized Identifier (DID) per https://www.w3.org/TR/did-core/. Common for autonomous agents, federated services, and verifiable-credential subjects.",
"vc-id": "W3C Verifiable Credential identifier per https://www.w3.org/TR/vc-data-model/."
"did": "W3C Decentralized Identifier (DID) per <https://www.w3.org/TR/did-core/>. Common for autonomous agents, federated services, and verifiable-credential subjects.",
"vc-id": "W3C Verifiable Credential identifier per <https://www.w3.org/TR/vc-data-model/>."
}
},
{
Expand Down
2 changes: 1 addition & 1 deletion schema/2.0/model/cyclonedx-patent-2.0.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9\\-/.()\\s]{0,28}[A-Za-z0-9]$",
"title": "Patent Publication Number",
"description": "This is the number assigned to a patent application once it is published. Patent applications are generally published 18 months after filing (unless an applicant requests non-publication). This number is distinct from the application number. \n\nPurpose: Identifies the publicly available version of the application. \n\nFormat: Varies by jurisdiction, often similar to application numbers but includes an additional suffix indicating publication. \n\nExample:\n - US: US20240000123A1 (indicates the first publication of application US20240000123) \n - Europe: EP23123456A1 (first publication of European application EP23123456). \n\nWIPO ST.96 v8.0: \n - Publication Number field: https://www.wipo.int/standards/XMLSchema/ST96/V8_0/Patent/PublicationNumber.xsd"
"description": "This is the number assigned to a patent application once it is published. Patent applications are generally published 18 months after filing (unless an applicant requests non-publication). This number is distinct from the application number. \n\nPurpose: Identifies the publicly available version of the application. \n\nFormat: Varies by jurisdiction, often similar to application numbers but includes an additional suffix indicating publication. \n\nExample:\n - US: US20240000123A1 (indicates the first publication of application US20240000123) \n - Europe: EP23123456A1 (first publication of European application EP23123456). \n\nWIPO ST.96 v8.0: \n - Publication Number field: <https://www.wipo.int/standards/XMLSchema/ST96/V8_0/Patent/PublicationNumber.xsd>."
},
"title": {
"type": "string",
Expand Down
2 changes: 1 addition & 1 deletion schema/2.0/model/cyclonedx-vulnerability-2.0.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,7 @@
},
"range": {
"title": "Version Range",
"description": "A version range specified in Package URL Version Range syntax (vers) which is defined at https://github.com/package-url/vers-spec",
"description": "A version range specified in Package URL Version Range syntax (vers) which is defined at <https://github.com/package-url/vers-spec>.",
"$ref": "cyclonedx-component-2.0.schema.json#/$defs/versionRange"
},
"status": {
Expand Down
Loading