PlatformPlatform architectureProduct tourProduct graphRisk intelligenceContinuous governanceEvidence & auditDeploymentIntegrationsExecutive view
BOM SuiteSBOMCBOMQBOMAIBOMHBOMBOM Governance
SolutionsSecurityComplianceSupply chain riskQuantum readinessAI governanceDigital trust
ComplianceCERT-InRBISEBI / CSCRFMeitYNISTEU CRAEU AI ActCERT-In SBOM guide
IndustriesBanking & Financial ServicesGovernment & Public SectorDefence & Critical InfrastructureHealthcareIndian enterprises
ResourcesResource centreSBOM resourcesCBOM resourcesQBOM resourcesAIBOM resourcesHBOM resourcesProgramme & regulationBlog
CompanyAboutSecurity & trustContact
Request a DemoTalk to an expert
How-to3 min readReviewed September 202611 sources

How to validate an HBOM: a step-by-step procedure

A repeatable procedure for checking a supplier or operational HBOM, from schema validation to reconciliation with the devices it describes.

Key takeaways
  • Automate schema validation with the CycloneDX CLI and fail the pipeline on errors.
  • Check CERT-In Table 11 fields per component, not per file.
  • Reconcile the HBOM with Redfish, fwupd, lshw and dmidecode output from real devices.
  • Verify firmware hashes and record every result as a dated version.

Before you start

You need the HBOM under review, a field policy (for example the CERT-In Table 11 elements [1]), access to at least one representative device, and a place to record results. For the concepts behind each step, see HBOM validation.

Step 1: validate the schema

Run the CycloneDX CLI against the file, specifying the format and version the supplier claims:

cyclonedx validate --input-file hbom.json --input-format json --input-version v1_6 --fail-on-errors

The --fail-on-errors flag returns a non-zero exit code on validation errors, so the check can gate an intake pipeline [2]. For SPDX files, use an SPDX validator for the declared version. Reject files that fail; nothing else is meaningful until this passes.

Step 2: check component types and structure

Confirm that physical parts use the device type and firmware uses firmware, and that each device with firmware includes a component for the hardware itself, as the CycloneDX specification advises [3]. Check that nesting reaches the depth agreed in the contract.

Step 3: check field completeness

For each component, test for every element in your policy: name, version, supplier, licence (on firmware), dependencies, vulnerabilities, patch status, release date, EOL date, criticality, hashes (on firmware) and unique identifier [1]. Output a per-component gap list. A simple script over the JSON is enough to start; what matters is that gaps are reported individually and tracked to closure.

Step 4: reconcile with the device

Collect observations from a representative unit and compare:

  • Out of band: query /redfish/v1/UpdateService/FirmwareInventory on the BMC; entries include version and manufacturer for platform firmware [4].
  • Firmware on Linux: run fwupdmgr get-devices to list devices and firmware that fwupd detects [5].
  • Hardware configuration: run lshw -xml for memory, mainboard, CPU and firmware details [6].
  • SMBIOS data: run dmidecode -t system and dmidecode -t bios for manufacturer, model, serial and BIOS version [7].

Classify each difference as expected (documented update), benign (naming) or unexplained. Remember that dmidecode reports what the BIOS declares and is not proof on its own [7].

Step 5: verify firmware integrity

Compare firmware hashes in the HBOM with the vendor’s published values and with images in your repository. Where the platform supports it, confirm signature verification at update. For critical platforms, run CHIPSEC in a lab to assess firmware and platform configuration; its maintainers note it is intended for security testing [8]. This supports the detection principle of NIST SP 800-193 [9].

Step 6: check identifiers and vulnerabilities

Confirm that unique identifiers resolve: CPE names should use the hardware part value where appropriate [10], and part numbers should match supplier catalogues. Then run the HBOM through vulnerability correlation against vendor advisories and CISA’s KEV catalogue [11], and confirm the supplier’s declared vulnerabilities and patch status agree.

Step 7: check provenance declarations

For critical components, compare declared manufacturers and locations with your approved-source and restricted-entity lists. Where contracts require authorised-source purchasing, check the supplier’s declarations against it.

Step 8: record and diff

Store the validated HBOM as a dated version with the validation report. On the next delivery or collection, compare with cyclonedx diff hbom-old.json hbom-new.json --component-versions to list added, removed or modified component versions [2]. Unexplained changes go back to step 4.

Checklist

CheckPass condition
SchemaNo validation errors
StructureDevice and firmware types used; agreed depth reached
CompletenessAll policy fields present per component, or exceptions recorded
ConsistencyNo unexplained differences from device observations
IntegrityFirmware hashes match vendor values
IdentifiersCPE and part numbers resolve
RecordVersion and report stored with timestamp

How IntelliXBOM helps

IntelliXBOM automates the document-level steps: it validates CycloneDX and SPDX HBOMs against required-field policies, reports gaps per component, keeps each version with diffs and correlates components with vulnerabilities and known-exploited lists. Results are stored as timestamped evidence mapped to framework controls.

Frequently asked questions

What tool validates a CycloneDX HBOM?

The open-source CycloneDX CLI has a validate command that checks a BOM against the specification for a given version and can return a non-zero exit code on errors, which suits automated intake pipelines.

How do I check an HBOM against real hardware?

Collect observations from a representative device using Redfish FirmwareInventory, fwupdmgr get-devices, lshw and dmidecode, then compare models, serials and firmware versions with the HBOM and investigate unexplained differences.

How often should HBOMs be validated?

Validate supplier HBOMs on every delivery and operational HBOMs after every change, such as a firmware update or part replacement, plus periodic re-validation to catch vulnerability and EOL changes.

Sources

  1. Technical Guidelines on SBOM, QBOM & CBOM, AIBOM and HBOM, Version 2.0 (9 July 2025)CERT-In, Government of Indiawww.cert-in.org.in/PDF/TechnicalGuidelines-on-SBOM,QBOM&CBOM,AIBOM_and_HBOM_ver2.0.pdf
  2. CycloneDX CLIOWASP CycloneDX (GitHub)github.com/CycloneDX/cyclonedx-cli
  3. CycloneDX v1.6 JSON ReferenceOWASP CycloneDXcyclonedx.org/docs/1.6/json/
  4. DSP2062, Redfish Firmware Update White PaperDMTFwww.dmtf.org/sites/default/files/standards/documents/DSP2062_1.0.0.pdf
  5. fwupd, firmware update daemonfwupd project (GitHub)github.com/fwupd/fwupd
  6. lshw, Hardware Listerlshw project (GitHub)github.com/lyonel/lshw
  7. Dmidecodedmidecode project (Savannah)www.nongnu.org/dmidecode/
  8. CHIPSEC: Platform Security Assessment FrameworkCHIPSEC project (GitHub)github.com/chipsec/chipsec
  9. SP 800-193, Platform Firmware Resiliency Guidelines (May 2018)NISTcsrc.nist.gov/pubs/sp/800/193/final
  10. NIST IR 7695, Common Platform Enumeration: Naming Specification Version 2.3NISTcsrc.nist.gov/pubs/ir/7695/final
  11. Known Exploited Vulnerabilities CatalogCISAwww.cisa.gov/known-exploited-vulnerabilities-catalog

Sources checked in September 2026. Regulations and guidance change; always refer to the issuing body’s current publication. This content is for general information and is not legal advice.

Related HBOM guides

Across the BOM Suite

Put your HBOM under governance.Hardware & firmware trust with continuous correlation and timestamped evidence.