CIPHERCUE

Published 2026-04-30 — v1.0

Exposed-device classification methodology

CipherCue classifies open-port banners — already collected by nmap service detection — against a versioned device-rule dictionary. This page specifies the four categories, the banner-source posture, the recorded fact shape, and how CISA KEV cross-reference is applied.

A device classification is an observation that a service banner returned by an open port matched a vendor pattern. CipherCue does not authenticate, does not exploit, does not validate that the device is in active use, and does not assert that exposing the port is a fault — many of these device categories are exposed deliberately and routinely.

Banner source

Banners are collected by nmap with -sV service detection at -T3 polite timing — the same scan that produces the port_scan fact. Service detection sends a small set of well-known probes (HTTP OPTIONS, SMB SessionSetup, RTSP DESCRIBE, etc.) and records the response banner. CipherCue does no additional probing for classification — the data is already on disk.

Categories

Four categories are recognised:

Each rule has a severity field — low, medium, or high — that reflects the operational sensitivity of the exposure category. It is not a verdict on the entity. A Jenkins admin panel has severity high because credentialed access typically means code-execution; an HP printer has severity low because the typical exposure is office-network printing, not credentialed admin.

Matching

For each open port, the service, product, version, and CPE strings from nmap are joined with a separator and matched against each rule's patterns list (PCRE). The first matching rule wins per port — overlapping patterns produce one classification, not two.

CISA KEV cross-reference

Where a rule has cve_lookup => true, the matched vendor and product are looked up in the locally-cached CISA KEV signal index. If a CISA KEV entry exists for the same lowercased (vendor, product), the classification fact is decorated with:

This is a vendor-product KEV match, not a per-version CVE assertion. See /methodology/kev-matching for the version-required policy that governs kev_match facts; the device decoration is the looser vendor-history view.

Recorded fact

One device_classification fact is written per (host, port, rule) match per scan day:

What we do not do

Pre-disclosure handling

Device classifications are derived from the same nmap data that produces the port_scan fact, which has always been written as a public_observation. Classifications are likewise written with disclosure_status = "public_observation" and surfaced to customers immediately. The vendor-history KEV decoration follows the same posture — it is a derived view over the public CISA catalogue.

Correction

If a classification is spurious (e.g. banner mis-attribution, device not actually deployed at the host), email corrections@ciphercue.com. We investigate within 7 days.

Changelog
v1.0 — 2026-04-30 — Initial publication. ~38 rules across four categories. Vendor-product KEV decoration via local CISA KEV signal index.