{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:eef4d895-27f4-4b06-bac5-c9cc7db33e27",
  "version": 1,
  "metadata": {
    "timestamp": "2026-08-25T15:36:02Z",
    "tools": {
      "components": [
        {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.8.4",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.8.4",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.8.4",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      ]
    },
    "authors": [
      {
        "name": "OWASP Foundation"
      }
    ],
    "lifecycles": [
      {
        "phase": "pre-build"
      }
    ],
    "component": {
      "name": "ruby",
      "group": "@vercel",
      "version": "2.3.2",
      "purl": "pkg:npm/%40vercel/ruby@2.3.2",
      "bom-ref": "pkg:npm/@vercel/ruby@2.3.2",
      "author": "Nathan Cahill <nathan@nathancahill.com>",
      "properties": [
        {
          "name": "cdx:npm:scripts",
          "value": "build, test, test-e2e, type-check"
        },
        {
          "name": "cdx:npm:buildScripts",
          "value": "build"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "type": "application",
      "licenses": [
        {
          "license": {
            "id": "Apache-2.0",
            "url": "https://opensource.org/licenses/Apache-2.0",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "externalReferences": [
        {
          "type": "website",
          "url": "https://vercel.com/docs/runtimes#official-runtimes/ruby"
        },
        {
          "type": "vcs",
          "url": "https://github.com/vercel/vercel.git"
        }
      ]
    },
    "properties": [
      {
        "name": "cdx:bom:componentTypes",
        "value": "npm"
      },
      {
        "name": "cdx:bom:componentNamespaces",
        "value": "@types\\n@vercel"
      },
      {
        "name": "cdx:bom:componentSrcFiles",
        "value": "node_modules/@types/fs-extra/package.json\\nnode_modules/@types/semver/package.json\\nnode_modules/@types/which/package.json\\nnode_modules/@vercel/build-utils/package.json\\nnode_modules/execa/package.json\\nnode_modules/fs-extra/package.json\\nnode_modules/jest-junit/package.json\\nnode_modules/semver/package.json\\nnode_modules/which/package.json"
      }
    ]
  },
  "components": [
    {
      "authors": [
        {
          "name": "GitHub Inc."
        }
      ],
      "group": "",
      "name": "which",
      "version": "3.0.0",
      "description": "Like which(1) unix command. Find the first instance of an executable in the PATH.",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "ISC",
            "url": "https://opensource.org/licenses/ISC",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/which@3.0.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/npm/node-which.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/which@3.0.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/which/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "which"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/which/package.json"
              }
            ],
            "concludedValue": "node_modules/which/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/install-ruby.ts",
            "line": 2
          },
          {
            "location": "src/install-ruby.ts",
            "line": 58
          },
          {
            "location": "src/install-ruby.ts",
            "line": 59
          },
          {
            "location": "src/install-ruby.ts",
            "line": 254
          },
          {
            "location": "src/install-ruby.ts",
            "line": 255
          },
          {
            "location": "src/start-dev-server.ts",
            "line": 5
          },
          {
            "location": "src/start-dev-server.ts",
            "line": 236
          },
          {
            "location": "src/start-dev-server.ts",
            "line": 241
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "GitHub Inc."
        }
      ],
      "group": "",
      "name": "semver",
      "version": "6.3.1",
      "description": "The semantic version parser used by npm.",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "ISC",
            "url": "https://opensource.org/licenses/ISC",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/semver@6.3.1",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/npm/node-semver.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/semver@6.3.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/semver/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "semver,intersects,semver/intersects"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/semver/package.json"
              }
            ],
            "concludedValue": "node_modules/semver/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/install-ruby.ts",
            "line": 4
          },
          {
            "location": "src/install-ruby.ts",
            "line": 141
          },
          {
            "location": "src/install-ruby.ts",
            "line": 159
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Jason Palmer"
        }
      ],
      "group": "",
      "name": "jest-junit",
      "version": "16.0.0",
      "description": "A jest reporter that generates junit xml files",
      "scope": "optional",
      "licenses": [
        {
          "license": {
            "id": "Apache-2.0",
            "url": "https://opensource.org/licenses/Apache-2.0",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/jest-junit@16.0.0",
      "type": "library",
      "bom-ref": "pkg:npm/jest-junit@16.0.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/jest-junit/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/jest-junit/package.json"
              }
            ],
            "concludedValue": "node_modules/jest-junit/package.json"
          }
        ]
      },
      "tags": [
        "test",
        "xml"
      ]
    },
    {
      "authors": [
        {
          "name": "JP Richardson <jprichardson@gmail.com>"
        }
      ],
      "group": "",
      "name": "fs-extra",
      "version": "7.0.1",
      "description": "fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as mkdir -p, cp -r, and rm -rf.",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/fs-extra@7.0.1",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/jprichardson/node-fs-extra"
        },
        {
          "type": "vcs",
          "url": "https://github.com/jprichardson/node-fs-extra"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/fs-extra@7.0.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/fs-extra/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "fs-extra,ensureDir,fs-extra/ensureDir,move,fs-extra/move,remove,fs-extra/remove,pathExists,fs-extra/pathExists,readFile,fs-extra/readFile,writeFile,fs-extra/writeFile"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/fs-extra/package.json"
              }
            ],
            "concludedValue": "node_modules/fs-extra/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/index.ts",
            "line": 11
          },
          {
            "location": "src/index.ts",
            "line": 53
          },
          {
            "location": "src/index.ts",
            "line": 80
          },
          {
            "location": "src/index.ts",
            "line": 186
          },
          {
            "location": "src/index.ts",
            "line": 190
          },
          {
            "location": "src/index.ts",
            "line": 214
          },
          {
            "location": "src/index.ts",
            "line": 215
          },
          {
            "location": "src/index.ts",
            "line": 227
          },
          {
            "location": "src/index.ts",
            "line": 232
          },
          {
            "location": "src/index.ts",
            "line": 242
          },
          {
            "location": "src/index.ts",
            "line": 248
          },
          {
            "location": "src/index.ts",
            "line": 250
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)"
        }
      ],
      "group": "",
      "name": "execa",
      "version": "2.0.4",
      "description": "Process execution for humans",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/execa@2.0.4",
      "type": "library",
      "bom-ref": "pkg:npm/execa@2.0.4",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/execa/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "execa"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/execa/package.json"
              }
            ],
            "concludedValue": "node_modules/execa/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/index.ts",
            "line": 3
          },
          {
            "location": "src/index.ts",
            "line": 116
          },
          {
            "location": "src/index.ts",
            "line": 147
          },
          {
            "location": "src/install-ruby.ts",
            "line": 1
          },
          {
            "location": "src/install-ruby.ts",
            "line": 233
          }
        ]
      }
    },
    {
      "group": "@vercel",
      "name": "build-utils",
      "version": "13.5.0",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "Apache-2.0",
            "url": "https://opensource.org/licenses/Apache-2.0",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40vercel/build-utils@13.5.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/vercel/vercel/blob/main/DEVELOPING_A_RUNTIME.md"
        },
        {
          "type": "vcs",
          "url": "https://github.com/vercel/vercel.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@vercel/build-utils@13.5.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@vercel/build-utils/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@vercel/build-utils,download,@vercel/build-utils/download,getWriteableDirectory,@vercel/build-utils/getWriteableDirectory,glob,@vercel/build-utils/glob,Lambda,@vercel/build-utils/Lambda,debug,@vercel/build-utils/debug,walkParentDirs,@vercel/build-utils/walkParentDirs,cloneEnv,@vercel/build-utils/cloneEnv,FileBlob,@vercel/build-utils/FileBlob,GlobOptions,@vercel/build-utils/GlobOptions,Files,@vercel/build-utils/Files,BuildV3,@vercel/build-utils/BuildV3,ShouldServe,@vercel/build-utils/ShouldServe,Meta,@vercel/build-utils/Meta,NowBuildError,@vercel/build-utils/NowBuildError,Version,@vercel/build-utils/Version,StartDevServer,@vercel/build-utils/StartDevServer"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@vercel/build-utils/package.json"
              }
            ],
            "concludedValue": "node_modules/@vercel/build-utils/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/index.js",
            "line": 6952
          },
          {
            "location": "dist/index.js",
            "line": 6959
          },
          {
            "location": "dist/index.js",
            "line": 7164
          },
          {
            "location": "src/index.ts",
            "line": 25
          },
          {
            "location": "src/index.ts",
            "line": 41
          },
          {
            "location": "src/index.ts",
            "line": 91
          },
          {
            "location": "src/index.ts",
            "line": 92
          },
          {
            "location": "src/index.ts",
            "line": 110
          },
          {
            "location": "src/index.ts",
            "line": 135
          },
          {
            "location": "src/index.ts",
            "line": 136
          },
          {
            "location": "src/index.ts",
            "line": 146
          },
          {
            "location": "src/index.ts",
            "line": 173
          },
          {
            "location": "src/index.ts",
            "line": 177
          },
          {
            "location": "src/index.ts",
            "line": 199
          },
          {
            "location": "src/index.ts",
            "line": 201
          },
          {
            "location": "src/index.ts",
            "line": 204
          },
          {
            "location": "src/index.ts",
            "line": 210
          },
          {
            "location": "src/index.ts",
            "line": 219
          },
          {
            "location": "src/index.ts",
            "line": 223
          },
          {
            "location": "src/index.ts",
            "line": 229
          },
          {
            "location": "src/index.ts",
            "line": 254
          },
          {
            "location": "src/index.ts",
            "line": 282
          },
          {
            "location": "src/install-ruby.ts",
            "line": 5
          },
          {
            "location": "src/install-ruby.ts",
            "line": 120
          },
          {
            "location": "src/install-ruby.ts",
            "line": 161
          },
          {
            "location": "src/install-ruby.ts",
            "line": 205
          },
          {
            "location": "src/install-ruby.ts",
            "line": 212
          },
          {
            "location": "src/install-ruby.ts",
            "line": 232
          },
          {
            "location": "src/start-dev-server.ts",
            "line": 6
          },
          {
            "location": "src/start-dev-server.ts",
            "line": 7
          },
          {
            "location": "src/start-dev-server.ts",
            "line": 69
          },
          {
            "location": "src/start-dev-server.ts",
            "line": 74
          },
          {
            "location": "src/start-dev-server.ts",
            "line": 82
          },
          {
            "location": "src/start-dev-server.ts",
            "line": 117
          },
          {
            "location": "src/start-dev-server.ts",
            "line": 120
          },
          {
            "location": "src/start-dev-server.ts",
            "line": 249
          },
          {
            "location": "src/start-dev-server.ts",
            "line": 286
          }
        ]
      }
    },
    {
      "group": "@types",
      "name": "which",
      "version": "3.0.0",
      "description": "TypeScript definitions for which",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40types/which@3.0.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/which"
        },
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@types/which@3.0.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@types/which/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@types/which/package.json"
              }
            ],
            "concludedValue": "node_modules/@types/which/package.json"
          }
        ]
      }
    },
    {
      "group": "@types",
      "name": "semver",
      "version": "6.0.0",
      "description": "TypeScript definitions for semver",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40types/semver@6.0.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@types/semver@6.0.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@types/semver/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@types/semver/package.json"
              }
            ],
            "concludedValue": "node_modules/@types/semver/package.json"
          }
        ]
      }
    },
    {
      "group": "@types",
      "name": "fs-extra",
      "version": "8.0.0",
      "description": "TypeScript definitions for fs-extra",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40types/fs-extra@8.0.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@types/fs-extra@8.0.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@types/fs-extra/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@types/fs-extra/package.json"
              }
            ],
            "concludedValue": "node_modules/@types/fs-extra/package.json"
          }
        ]
      }
    }
  ],
  "dependencies": [],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/@vercel/ruby@2.3.2"
      ],
      "annotator": {
        "component": {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.8.4",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.8.4",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.8.4",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      },
      "timestamp": "2026-08-25T15:36:02Z",
      "text": "This Software Bill-of-Materials (SBOM) document was created on Tuesday, August 25, 2026 with cdxgen. The data was captured during the pre-build lifecycle phase without building the application. The document describes an application named 'ruby' with version '2.3.2'. The package type in this SBOM is npm with 2 purl namespaces described under components. The components were identified from 9 source files."
    }
  ]
}