Vulnerabilities and exposure

Software inventory and vendors

What your scans proved the site runs, split into versioned software that can be checked and software only seen; confidence, detector and last-seen; and vendors.

Updated · 2 min read

Every scan observes software: a CMS from its meta tags, a framework from its markup, a server from its headers, a library from a script path, a version from any of those. The inventory is what all of that adds up to, and it is what the KEV and CVE feeds are matched against.

Where

  • Web: Security, Software; Security, Vendors for the rollup.
  • iOS: a domain's Vulnerabilities module, Software segment. The vendor rollup lives under Account, Service status.
  • API/MCP: GET /api/vuln-scan/components (portfolio), GET /api/vuln-scan/vendors, /vendors/:vendor; tools get_observed_components, list_software_vendors, get_software_vendor.

Checkable versus seen

Software that exposed a version leads, because a version is what lets it be compared to a published advisory. Everything else (a CDN, an analytics tag, a font service, a framework with no version) is grouped by what it is, collapsed, and never counted as checked: an unknown version is unknown, not clear.

Each reading

Field Meaning
Confidence High, medium or low, from how the detector saw it (a generator tag is high; a filename pattern is low)
Detector Which check read it: the technology fingerprint, a Nuclei template, Trivy, the header parser
Host Which host it was on
Last seen The newest scan that observed it

Reconciliation

The inventory is reconciled on every scan rather than appended to: a component that a scan of the same host no longer sees is retired from the current inventory (it stays in history), so a site that moved off WordPress stops carrying WordPress advisories. The scanner's own egress is discounted, so a fetch that passed through Cloudflare does not put Cloudflare on every site.

Name matching

Advisories are matched to products by canonical name, not by token overlap. "WP Engine" no longer matches Exchange CVEs on the word "Exchange". Where a component has no version, a matching advisory is labelled a name match and shown under Watching, never as a finding.

Vendors

The same evidence rolled up by company: every vendor the portfolio runs on, with component counts and open advisories, and how much of the portfolio the list rests on. A vendor with a status page shows its live status; one without shows "CVEs and KEVs only" and opens its advisory history.

Common questions

The inventory says my site runs software it does not. Open the reading: the detector and the evidence say what was seen. A theme that ships another CMS's assets is the usual cause. Dismiss the reading as a false positive and it stays dismissed across re-scans.

Why does the inventory look short? Most often because domains have never been cleared, so only the passive fingerprint runs. The Software view names those domains.

Still stuck?

Ask the people who run the scanner.

Send the domain and what you expected to see. We look at the same scan you are looking at and write back with what it means and what to change.