Component assembly compositions in CycloneDX focus on the completeness of an individual component and its constituent parts. This level of detail allows for a clear understanding of whether a specific component includes all its embedded components, such as configuration files, assets, and other embedded modules.
By describing the composition of individual components, organizations gain greater transparency into the accuracy of their BOMs at a granular level. This helps identify potential gaps in assemblies and ensures that nested relationships are fully documented, providing the context needed for effective risk assessment and compliance tracking. Component assembly compositions ensure that the focus extends beyond high-level inventories to the structural details of each component.
Property | Usage Description |
---|---|
aggregate | Describes the overall completeness of the inventory for the component, such as complete or incomplete. |
assemblies | Lists the components or services that are structurally part of this component. |
{
"$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json",
"bomFormat": "CycloneDX",
"specVersion": "1.6",
"serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79",
"version": 1,
"metadata": {
"component": {
"bom-ref": "acme-application-1.0",
"type": "application",
"name": "Acme Application",
"version": "1.0"
}
},
"components": [
{
"bom-ref": "pkg:maven/partner/[email protected]",
"type": "library",
"name": "Partner Shaded Library",
"version": "1.0",
"purl": "pkg:maven/partner/[email protected]",
"components": [
{
"bom-ref": "pkg:maven/ossproject/[email protected]",
"type": "library",
"name": "Some Opensource Library",
"version": "2.0",
"purl": "pkg:maven/ossproject/[email protected]"
}
]
},
{
"type": "library",
"name": "Acme Library",
"version": "3.0",
"purl": "pkg:maven/acme/[email protected]"
}
],
"dependencies": [
{
"ref": "acme-application-1.0",
"dependsOn": [
"pkg:maven/partner/[email protected]",
"pkg:maven/acme/[email protected]"
]
}
],
"compositions": [
{
"aggregate": "complete",
"assemblies": [
"pkg:maven/partner/[email protected]"
],
"dependencies": [
"acme-application-1.0"
]
},
{
"aggregate": "unknown",
"assemblies": [
"pkg:maven/acme/[email protected]"
]
}
]
}