Skip to content

Port Exposure

The Port Exposure factor measures how many ports are open and how risky the exposed services are. Single ports are scored by the known risk of their service; multi-port specifications are scored by their breadth or the worst service they contain, whichever is higher.

Default max contribution: 25 points.

Scoring table

Single ports

Service Risk LevelPointsExamples
CRITICAL18Telnet (23), Redis (6379)
HIGH15FTP (21), RDP (3389), SMB (445)
MEDIUM10SSH (22), DNS (53)
LOW0HTTPS (443)
Unknown3No known service match

Port ranges and lists (2 or more ports)

A multi-port specification scores the higher of two values:

BreadthBreadth points
All ports (1-65535) or any25 (max, the whole factor)
> 1,000 ports22
101 - 1,000 ports18
11 - 100 ports12
2 - 10 ports8
Worst known service in the rangeService points
CRITICAL18
HIGH15
MEDIUM10
LOW or none0

Points = max(breadth points, service points). The factor detail names the highest-risk service, for example 2 ports, highest-risk service: SSH / SFTP 22/TCP (MEDIUM).

Examples (TCP):

PortsBreadthWorst servicePoints
22,4438SSH (MEDIUM) 1010
443,84438HTTPS (LOW) 08
3389-33908RDP (HIGH) 1515
1-10012Telnet (CRITICAL) 1818
200-29912MEDIUM 1012
5000-600022HIGH 1522
any25-25

Monotonicity guarantee

Widening a port specification never lowers the port points, the port risk level (port_risk in the browser's CSV export) or the final score:

  • every multi-port value is at least 8, more than any unknown single port (3);
  • the breadth points and the worst-service points can only grow when ports are added;
  • a range is never scored below the worst known service it contains (3389-3390 scores the same 15 as 3389);
  • for a multi-port specification, switching TCP or UDP to ANY never lowers the score, because ANY matches every service entry.

Protocol matching

Service lookups are protocol-aware (see Port & Service Database): TCP matches TCP and TCP/UDP entries, UDP matches UDP and TCP/UDP entries, ANY matches all entries. For example TCP/514 is rsh (CRITICAL, 18 points), UDP/514 is Syslog (MEDIUM, 10 points), ANY/514 takes the worse one (18), and UDP/80 is an unknown port (3) because HTTP is a TCP service.

ICMP

When the protocol is ICMP, no port applies. The Port Exposure factor is omitted entirely from the score calculation - only the remaining three factors contribute, so the factor-sum ceiling is 75 (Source 25 + Destination 30 + Zone 20). ICMP counts as a specific port (it is never "all ports"), so an any-to-any ICMP flow floors at 88 through the any-any combo floors.

Custom caps

With a custom portMax in the CLI, the points above are scaled proportionally: round(points x portMax / 25). any ports always score the full custom cap. For example, portMax: 10 turns SSH's 10 points into 4.