+
Skip to content

CycloneDx SBOM missing components for dependencies #4208

@MGILSON72

Description

@MGILSON72

What happened:

When generating a CycloneDx SBOM for a Node.js runtime environment, the SBOM is missing components for found dependencies.

{
    "dependencies": [
        {
            "ref": "pkg:nuget/Microsoft.JavaScript.Hermes@0.1.23?package-id=205e946433a4b2a8",
            "dependsOn": [
                "pkg:nuget/microsoft.reactnative?package-id=c69beacca8d59ab1"
            ]
        },
        {
            "ref": "pkg:nuget/Microsoft.JavaScript.Hermes@0.1.23?package-id=bed33e0ec05572b4",
            "dependsOn": [
                "pkg:nuget/microsoft.reactnative?package-id=98356cdad9c7d50f"
            ]
        },
        {
            "ref": "pkg:nuget/Microsoft.UI.Xaml@2.8.0?package-id=e87ac46c329bea53",
            "dependsOn": [
                "pkg:nuget/microsoft.reactnative?package-id=c69beacca8d59ab1"
            ]
        },
        {
            "ref": "pkg:nuget/Microsoft.Web.WebView2@1.0.1264.42?package-id=46e8c240d3ab386a",
            "dependsOn": [
                "pkg:nuget/Microsoft.UI.Xaml@2.8.0?package-id=e87ac46c329bea53"
            ]
        },
        {
            "ref": "pkg:nuget/Microsoft.Windows.SDK.BuildTools@10.0.22621.756?package-id=91ea7a1243be1346",
            "dependsOn": [
                "pkg:nuget/Microsoft.WindowsAppSDK@1.5.240227000?package-id=19c6158554d3cf14"
            ]
        },
        {
            "ref": "pkg:nuget/Microsoft.WindowsAppSDK@1.5.240227000?package-id=19c6158554d3cf14",
            "dependsOn": [
                "pkg:nuget/microsoft.reactnative?package-id=98356cdad9c7d50f"
            ]
        },
        {
            "ref": "pkg:nuget/boost@1.83.0?package-id=5ed209f6c5f96b57",
            "dependsOn": [
                "pkg:nuget/common?package-id=26c1efa45aeb6b50",
                "pkg:nuget/folly?package-id=e135b54fa1d2b788",
                "pkg:nuget/microsoft.reactnative?package-id=98356cdad9c7d50f",
                "pkg:nuget/reactcommon?package-id=32aa3702585eac5e"
            ]
        },
        {
            "ref": "pkg:nuget/boost@1.83.0?package-id=673db237af0ca7c7",
            "dependsOn": [
                "pkg:nuget/common?package-id=0676f9089dfbf815",
                "pkg:nuget/folly?package-id=6e79d6e34c9cea55",
                "pkg:nuget/microsoft.reactnative?package-id=c69beacca8d59ab1",
                "pkg:nuget/reactcommon?package-id=0e6e25acd9466060"
            ]
        },
        {
            **"ref": "pkg:nuget/fmt?package-id=79bd16e2078f89d9",**
            "dependsOn": [
                "pkg:nuget/folly?package-id=6e79d6e34c9cea55"
            ]
        },
        {
            "ref": "pkg:nuget/fmt?package-id=f67d2603eb0108f6",
            "dependsOn": [
                "pkg:nuget/folly?package-id=6e79d6e34c9cea55"
            ]
        }
    ]
}

Dependency "pkg:nuget/fmt?package-id=79bd16e2078f89d9" does not have a component defined within the SBOM and leads to a CycloneDX validation error:

One or more Components have Dependency references to Components/Services that are not known in this BOM. They are: {<BomRef 'pkg:nuget/fmt?package-id=79bd16e2078f89d9' id=1712923817328>}

What you expected to happen:
There should be a matching component defined for each dependency in the SBOM

Steps to reproduce the issue:

Below is a simple package.json which will reproduce the issue:

{
  "name": "sbom_missing_component",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@react-native-community/slider": "^4.5.6",
    "react-native-svg": "^15.11.2"
  }
}

Once the package.json is created in a directory run npm install

Scan the directory:
syft scan sbom_missing_component --output cyclonedx-json=sbom_missing_component .json

Anything else we need to know?:
CycloneDX validation was performed using cyclonedx-python-lib version: 11.0.0

Environment:

  • Output of node -v: 20.10.0
  • Output of npm -v: 10.2.3
  • Output of syft version: 1.31.0
  • OS (e.g: cat /etc/os-release or similar):
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.22.1
PRETTY_NAME="Alpine Linux v3.22"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues"

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    Ready

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载