Skip to main content
Scan binaries and firmware for vulnerabilities.
vulhunt-ce scan [OPTIONS] -o <OUTPUT> -d <data> -r <rules> <INPUT>
OptionRequiredDescription
-o, --output <OUTPUT>YesPath to write output JSON
-d, --data <data>YesPath to the VulHunt data directory
-r, --rules <rules>YesDirectory or file containing VulHunt rules
<INPUT>YesPath to the binary or firmware to scan
--loader <loader>NoLoader to use for the input source (see below)
--component-attribute <key=value>NoComponent attributes (repeatable, see below)
-m, --modules <modules>NoDirectory containing VulHunt modules
--prettyNoRender each issue to stdout for human consumption
--streamNoStream results as JSONL for machine consumption
--compressNoCompress output JSONL stream with Zstandard
--pretty and --stream are mutually exclusive. --compress and --pretty are mutually exclusive.

Loaders

The --loader option selects how the input is loaded for analysis. The default is component for the Community Edition and ba2 for the Enterprise Edition.
ValueDescription
componentComponent loader
ba2BA2 loader (alias: default)
uefiUEFI firmware loader
bndbBinary Ninja database loader

Component attributes

The --component-attribute option can be repeated to pass additional metadata during loading analysis. Each attribute is a key=value pair:
vulhunt-ce scan \
  --loader component \
  --component-attribute kind=SmmModule \
  --component-attribute guid=FEAB1234-5678-90AB-CDEF-1234567890AB \
  ...
Only supported with the component loader.