diff --git a/.gitignore b/.gitignore index 84f54957..c696060c 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,7 @@ pnpm-lock.yaml # Various CLI Output Files herodevs.report.json herodevs.sbom.json +herodevs.openvex.json bom.json sbom.json cdx.json diff --git a/README.md b/README.md index e81d2ec6..4064167d 100644 --- a/README.md +++ b/README.md @@ -84,7 +84,7 @@ $ npm install -g @herodevs/cli $ hd COMMAND running command... $ hd (--version|-v) -@herodevs/cli/2.0.6 darwin-arm64 node-v24.14.1 +@herodevs/cli/2.0.6 darwin-arm64 node-v24.15.0 $ hd --help [COMMAND] USAGE $ hd COMMAND @@ -102,6 +102,7 @@ USAGE * [`hd tracker init`](#hd-tracker-init) * [`hd tracker run`](#hd-tracker-run) * [`hd update [CHANNEL]`](#hd-update-channel) +* [`hd vex`](#hd-vex) ### `hd auth login` @@ -177,10 +178,10 @@ USAGE FLAGS -c, --csv Output in CSV format -d, --directory= Directory to search - -e, --afterDate= [default: 2025-04-23] Start date (format: yyyy-MM-dd) + -e, --afterDate= [default: 2025-05-05] Start date (format: yyyy-MM-dd) -m, --months= [default: 12] The number of months of git history to review. Cannot be used along beforeDate and afterDate - -s, --beforeDate= [default: 2026-04-23] End date (format: yyyy-MM-dd) + -s, --beforeDate= [default: 2026-05-05] End date (format: yyyy-MM-dd) -s, --save Save the committers report as herodevs.committers. -x, --exclude=... Path Exclusions (eg -x="./src/bin" -x="./dist") --json Output to JSON format @@ -348,6 +349,72 @@ EXAMPLES ``` _See code: [@oclif/plugin-update](https://github.com/oclif/plugin-update/blob/4.7.32/src/commands/update.ts)_ + +### `hd vex` + +Download and filter the HeroDevs VEX statement + +``` +USAGE + $ hd vex [--json] [-f ] [-p ...] [-v ...] [--status + affected|not_affected|fixed|under_investigation...] [-e ...] [-s] [-o ] + +FLAGS + -e, --exclude-package=... Glob pattern matched against product PURLs to exclude (repeatable, e.g. + --exclude-package "pkg:npm/lodash*"). Removes statements where any product matches. + -f, --file= Path to a CycloneDX or SPDX 2.3 SBOM; filters VEX entries to packages present in the + SBOM + -o, --output= Save VEX statement to a custom path (defaults to herodevs.openvex.json when not + provided) + -p, --package=... Glob pattern matched against product PURLs (repeatable, e.g. --package + "pkg:npm/lodash*"). Keeps statements where any product matches. + -s, --save Save VEX statement to herodevs.openvex.json in the current directory + -v, --vuln=... Glob pattern matched against vulnerability IDs (repeatable, e.g. --vuln + "CVE-2021-*") + --status=