{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:0b88ca62-2ba5-46d6-a4d5-3aea0b868b84",
  "version": 1,
  "metadata": {
    "timestamp": "2026-07-29T16:05:15Z",
    "tools": {
      "components": [
        {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.3.3",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.3.3",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.3.3",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      ]
    },
    "authors": [
      {
        "name": "OWASP Foundation"
      }
    ],
    "lifecycles": [
      {
        "phase": "pre-build"
      }
    ],
    "component": {
      "name": "sha",
      "group": "",
      "version": "3.0.0",
      "description": "Check and get file hashes",
      "purl": "pkg:npm/sha@3.0.0",
      "bom-ref": "pkg:npm/sha@3.0.0",
      "properties": [
        {
          "name": "cdx:npm:scripts",
          "value": "test"
        }
      ],
      "type": "application",
      "licenses": [
        {
          "expression": "(BSD-2-Clause OR MIT)"
        }
      ],
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/ForbesLindesay/sha.git"
        }
      ]
    },
    "properties": [
      {
        "name": "cdx:bom:componentTypes",
        "value": "npm"
      },
      {
        "name": "cdx:bom:componentSrcFiles",
        "value": "yarn.lock"
      }
    ]
  },
  "components": [
    {
      "group": "",
      "name": "commander",
      "version": "0.6.1",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-1",
          "content": "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06"
        }
      ],
      "purl": "pkg:npm/commander@0.6.1",
      "type": "library",
      "bom-ref": "pkg:npm/commander@0.6.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "yarn.lock"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "yarn.lock"
              }
            ],
            "concludedValue": "yarn.lock"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "core-util-is",
      "version": "1.0.2",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-1",
          "content": "b5fd54220aa2bc5ab57aab7140c940754503c1a7"
        }
      ],
      "purl": "pkg:npm/core-util-is@1.0.2",
      "type": "library",
      "bom-ref": "pkg:npm/core-util-is@1.0.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "yarn.lock"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "yarn.lock"
              }
            ],
            "concludedValue": "yarn.lock"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "debug",
      "version": "4.1.1",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "a58008cde468f09e8a3c4689d1558e8793f391bc3f45eb6ecde84633b411457e617b87cf1f1dab74a301db9e9e8490a45fe5d1426d7a7992ea2cd4bc45265767"
        }
      ],
      "purl": "pkg:npm/debug@4.1.1",
      "type": "library",
      "bom-ref": "pkg:npm/debug@4.1.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "yarn.lock"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "yarn.lock"
              }
            ],
            "concludedValue": "yarn.lock"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "diff",
      "version": "1.0.2",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-1",
          "content": "4ae73f1aee8d6fcf484f1a1ce77ce651d9b7f0c9"
        }
      ],
      "purl": "pkg:npm/diff@1.0.2",
      "type": "library",
      "bom-ref": "pkg:npm/diff@1.0.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "yarn.lock"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "yarn.lock"
              }
            ],
            "concludedValue": "yarn.lock"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "graceful-fs",
      "version": "4.1.15",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "eae1d484e3c4060436e0733eafa6ff43059f66afb2885722a4a16b38588112759dcb9b1dcd8a22fa925e41a3c8e6a38b445a969805d43d036c89e97374ba1e70"
        }
      ],
      "purl": "pkg:npm/graceful-fs@4.1.15",
      "type": "library",
      "bom-ref": "pkg:npm/graceful-fs@4.1.15",
      "properties": [
        {
          "name": "SrcFile",
          "value": "yarn.lock"
        },
        {
          "name": "ImportedModules",
          "value": "graceful-fs"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "yarn.lock"
              }
            ],
            "concludedValue": "yarn.lock"
          }
        ],
        "occurrences": [
          {
            "location": "index.js#5"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "growl",
      "version": "1.7.0",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-1",
          "content": "de2d66136d002e112ba70f3f10c31cf7c350b2da"
        }
      ],
      "purl": "pkg:npm/growl@1.7.0",
      "type": "library",
      "bom-ref": "pkg:npm/growl@1.7.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "yarn.lock"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "yarn.lock"
              }
            ],
            "concludedValue": "yarn.lock"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "inherits",
      "version": "2.0.3",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-1",
          "content": "633c2c83e3da42a502f52466022480f4208261de"
        }
      ],
      "purl": "pkg:npm/inherits@2.0.3",
      "type": "library",
      "bom-ref": "pkg:npm/inherits@2.0.3",
      "properties": [
        {
          "name": "SrcFile",
          "value": "yarn.lock"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "yarn.lock"
              }
            ],
            "concludedValue": "yarn.lock"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "isarray",
      "version": "1.0.0",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-1",
          "content": "bb935d48582cba168c06834957a54a3e07124f11"
        }
      ],
      "purl": "pkg:npm/isarray@1.0.0",
      "type": "library",
      "bom-ref": "pkg:npm/isarray@1.0.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "yarn.lock"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "yarn.lock"
              }
            ],
            "concludedValue": "yarn.lock"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "jade",
      "version": "0.26.3",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-1",
          "content": "8f10d7977d8d79f2f6ff862a81b0513ccb25686c"
        }
      ],
      "purl": "pkg:npm/jade@0.26.3",
      "type": "library",
      "bom-ref": "pkg:npm/jade@0.26.3",
      "properties": [
        {
          "name": "SrcFile",
          "value": "yarn.lock"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "yarn.lock"
              }
            ],
            "concludedValue": "yarn.lock"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "mkdirp",
      "version": "0.3.0",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-1",
          "content": "1bbf5ab1ba827af23575143490426455f481fe1e"
        }
      ],
      "purl": "pkg:npm/mkdirp@0.3.0",
      "type": "library",
      "bom-ref": "pkg:npm/mkdirp@0.3.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "yarn.lock"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "yarn.lock"
              }
            ],
            "concludedValue": "yarn.lock"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "mkdirp",
      "version": "0.3.3",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-1",
          "content": "595e251c1370c3a68bab2136d0e348b8105adf13"
        }
      ],
      "purl": "pkg:npm/mkdirp@0.3.3",
      "type": "library",
      "bom-ref": "pkg:npm/mkdirp@0.3.3",
      "properties": [
        {
          "name": "SrcFile",
          "value": "yarn.lock"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "yarn.lock"
              }
            ],
            "concludedValue": "yarn.lock"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "mocha",
      "version": "1.9.0",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-1",
          "content": "141054b13cb03ce5ce59aece3d65d5ca01b8df0a"
        }
      ],
      "purl": "pkg:npm/mocha@1.9.0",
      "type": "library",
      "bom-ref": "pkg:npm/mocha@1.9.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "yarn.lock"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "yarn.lock"
              }
            ],
            "concludedValue": "yarn.lock"
          }
        ]
      },
      "tags": [
        "test"
      ]
    },
    {
      "group": "",
      "name": "ms",
      "version": "0.3.0",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-1",
          "content": "03edc348d613e66a56486cfdac53bcbe899cbd61"
        }
      ],
      "purl": "pkg:npm/ms@0.3.0",
      "type": "library",
      "bom-ref": "pkg:npm/ms@0.3.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "yarn.lock"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "yarn.lock"
              }
            ],
            "concludedValue": "yarn.lock"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "ms",
      "version": "2.1.1",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "b60a7e765e5c1a4dbcbad624b41b2b16a03b1ca82b8603ec83a67f11f856238825d47c2af01fc6998ff4a1767a9c5f210d57ac4bf1699d8683fe439685842fca"
        }
      ],
      "purl": "pkg:npm/ms@2.1.1",
      "type": "library",
      "bom-ref": "pkg:npm/ms@2.1.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "yarn.lock"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "yarn.lock"
              }
            ],
            "concludedValue": "yarn.lock"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "process-nextick-args",
      "version": "2.0.0",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "32d102d53a8dd045399dea61689e2b02d4e11ed0bce9d34df6a0ae121b6c86fa55064016e593bb04048df5112717d7a85c6711b9bfa916e284a4e1c4f876c433"
        }
      ],
      "purl": "pkg:npm/process-nextick-args@2.0.0",
      "type": "library",
      "bom-ref": "pkg:npm/process-nextick-args@2.0.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "yarn.lock"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "yarn.lock"
              }
            ],
            "concludedValue": "yarn.lock"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "readable-stream",
      "version": "2.3.6",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "b50b4a03d588021045dfe54b02c7b232a65e0635b4007268c4eb58a92519349c5ab84ae62db566d855b5cbe27f600f5d52b002dfd2137a39595a1548c1ac242b"
        }
      ],
      "purl": "pkg:npm/readable-stream@2.3.6",
      "type": "library",
      "bom-ref": "pkg:npm/readable-stream@2.3.6",
      "properties": [
        {
          "name": "SrcFile",
          "value": "yarn.lock"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "yarn.lock"
              }
            ],
            "concludedValue": "yarn.lock"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "safe-buffer",
      "version": "5.1.2",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "19dd94641243917958ec66c9c5fb04f3f9ef2a45045351b7f1cd6c88de903fa6bd3d3f4c98707c1a7a6c71298c252a05f0b388aedf2e77fc0fb688f2b381bafa"
        }
      ],
      "purl": "pkg:npm/safe-buffer@5.1.2",
      "type": "library",
      "bom-ref": "pkg:npm/safe-buffer@5.1.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "yarn.lock"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "yarn.lock"
              }
            ],
            "concludedValue": "yarn.lock"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "string_decoder",
      "version": "1.1.1",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "9ff4a19ef0e2e851db6d57ef8aba3e5a88e2173bfeb3c30f30705ccd578f7d4a4324bc282d3d21b759786300426e2f29240bde104767907c8fc933ff9b345fc2"
        }
      ],
      "purl": "pkg:npm/string_decoder@1.1.1",
      "type": "library",
      "bom-ref": "pkg:npm/string_decoder@1.1.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "yarn.lock"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "yarn.lock"
              }
            ],
            "concludedValue": "yarn.lock"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "util-deprecate",
      "version": "1.0.2",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-1",
          "content": "450d4dc9fa70de732762fbd2d4a28981419a0ccf"
        }
      ],
      "purl": "pkg:npm/util-deprecate@1.0.2",
      "type": "library",
      "bom-ref": "pkg:npm/util-deprecate@1.0.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "yarn.lock"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "yarn.lock"
              }
            ],
            "concludedValue": "yarn.lock"
          }
        ]
      }
    }
  ],
  "dependencies": [
    {
      "ref": "pkg:npm/commander@0.6.1",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/core-util-is@1.0.2",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/debug@4.1.1",
      "dependsOn": [
        "pkg:npm/ms@2.1.1"
      ]
    },
    {
      "ref": "pkg:npm/diff@1.0.2",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/graceful-fs@4.1.15",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/growl@1.7.0",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/inherits@2.0.3",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/isarray@1.0.0",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/jade@0.26.3",
      "dependsOn": [
        "pkg:npm/commander@0.6.1",
        "pkg:npm/mkdirp@0.3.0"
      ]
    },
    {
      "ref": "pkg:npm/mkdirp@0.3.0",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/mkdirp@0.3.3",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/mocha@1.9.0",
      "dependsOn": [
        "pkg:npm/commander@0.6.1",
        "pkg:npm/debug@4.1.1",
        "pkg:npm/diff@1.0.2",
        "pkg:npm/growl@1.7.0",
        "pkg:npm/jade@0.26.3",
        "pkg:npm/mkdirp@0.3.3",
        "pkg:npm/ms@0.3.0"
      ]
    },
    {
      "ref": "pkg:npm/ms@0.3.0",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/ms@2.1.1",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/process-nextick-args@2.0.0",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/readable-stream@2.3.6",
      "dependsOn": [
        "pkg:npm/core-util-is@1.0.2",
        "pkg:npm/inherits@2.0.3",
        "pkg:npm/isarray@1.0.0",
        "pkg:npm/process-nextick-args@2.0.0",
        "pkg:npm/safe-buffer@5.1.2",
        "pkg:npm/string_decoder@1.1.1",
        "pkg:npm/util-deprecate@1.0.2"
      ]
    },
    {
      "ref": "pkg:npm/safe-buffer@5.1.2",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/string_decoder@1.1.1",
      "dependsOn": [
        "pkg:npm/safe-buffer@5.1.2"
      ]
    },
    {
      "ref": "pkg:npm/util-deprecate@1.0.2",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/sha@3.0.0",
      "dependsOn": [
        "pkg:npm/commander@0.6.1",
        "pkg:npm/core-util-is@1.0.2",
        "pkg:npm/debug@4.1.1",
        "pkg:npm/diff@1.0.2",
        "pkg:npm/graceful-fs@4.1.15",
        "pkg:npm/growl@1.7.0",
        "pkg:npm/inherits@2.0.3",
        "pkg:npm/isarray@1.0.0",
        "pkg:npm/jade@0.26.3",
        "pkg:npm/mkdirp@0.3.0",
        "pkg:npm/mkdirp@0.3.3",
        "pkg:npm/mocha@1.9.0",
        "pkg:npm/ms@0.3.0",
        "pkg:npm/ms@2.1.1",
        "pkg:npm/process-nextick-args@2.0.0",
        "pkg:npm/readable-stream@2.3.6",
        "pkg:npm/safe-buffer@5.1.2",
        "pkg:npm/string_decoder@1.1.1",
        "pkg:npm/util-deprecate@1.0.2"
      ]
    }
  ],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/sha@3.0.0"
      ],
      "annotator": {
        "component": {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.3.3",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.3.3",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.3.3",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      },
      "timestamp": "2026-07-29T16:05:15Z",
      "text": "This Software Bill-of-Materials (SBOM) document was created on Wednesday, July 29, 2026 with cdxgen. The data was captured during the pre-build lifecycle phase without building the application. The document describes an application named 'sha' with version '3.0.0'."
    }
  ]
}