Skip to content
Calcrivo

Attack Surface Calculator

Index your external attack surface across hosts, services, web apps, API endpoints, remote users, integrations and cloud accounts.

Inputs

addresses
services
apps
endpoints
users
integrations
accounts

Attack Surface Index

538.5pts

Normalised Score

90.7/ 100

Surface Band

Critical

Largest Contributor

Listening services — 177 points from 118 reachable services

Services per Public IP

2.81

Points Removable by Halving It

88.5pts

Step by step

  1. Values used

    Public IP addresses = 42 addresses; Reachable listening services = 118 services; Internet-facing web applications = 14 apps; Published API endpoints = 260 endpoints; Remote-access users = 900 users; Third-party integrations with data access = 22 integrations; Cloud accounts or subscriptions = 9 accounts

  2. Attack Surface

    Index = 1 × public IPs + 1.5 × reachable services + 4 × web apps + 0.5 × API endpoints + 0.05 × remote users + 3 × integrations + 2.5 × cloud accounts. Normalised = min(100, 10 × log₂(index)).

  3. Service concentration

    Services per public IP shows how much you have stacked behind each address — high values mean one firewall mistake exposes many services at once.

  4. Attack Surface Index

    = 538.5 pts

  5. Normalised Score

    = 90.7 / 100

  6. Surface Band

    = Critical

  7. Largest Contributor

    = Listening services — 177 points from 118 reachable services

  8. Services per Public IP

    = 2.81

  9. Points Removable by Halving It

    = 88.5 pts

How it works

The weights encode how much attacker effort each entry point saves: a web application is worth four points because it brings its own authentication, session handling and dependency tree, while an API endpoint is worth half a point because dozens usually sit behind one authentication layer. Normalising logarithmically keeps a 40-host estate and a 4,000-host estate on the same 0–100 scale. Attack surface is the only vulnerability metric you can reduce without patching anything, and decommissioning is cheaper than remediation every single time.

Formulas

Attack Surface

Index = 1 × public IPs + 1.5 × reachable services + 4 × web apps + 0.5 × API endpoints + 0.05 × remote users + 3 × integrations + 2.5 × cloud accounts. Normalised = min(100, 10 × log₂(index)).

1.5 per service
Each listening port is a distinct entry point
4 per web app
Applications carry their own logic, session and dependency risk
0.05 per user
Human surface: credential phishing and device compromise
log₂
Logarithmic normalisation so the index stays readable across estate sizes

Service concentration

Services per public IP shows how much you have stacked behind each address — high values mean one firewall mistake exposes many services at once.

Frequently Asked Questions

How is Attack Surface calculated?

Index = 1 × public IPs + 1.5 × reachable services + 4 × web apps + 0.5 × API endpoints + 0.05 × remote users + 3 × integrations + 2.5 × cloud accounts. Normalised = min(100, 10 × log₂(index)). The weights encode how much attacker effort each entry point saves: a web application is worth four points because it brings its own authentication, session handling and dependency tree, while an API endpoint is worth half a point because dozens usually sit behind one authentication layer. Normalising logarithmically keeps a 40-host estate and a 4,000-host estate on the same 0–100 scale.

Why does Attack Surface matter?

Attack surface is the only vulnerability metric you can reduce without patching anything, and decommissioning is cheaper than remediation every single time.

What values do I need to enter?

This calculator takes 7 inputs: Public IP addresses, Reachable listening services, Internet-facing web applications, Published API endpoints, Remote-access users, Third-party integrations with data access, Cloud accounts or subscriptions. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.

Why do remote users count as attack surface?

Because credential phishing and compromised endpoints are the most common initial-access vectors, so each remote user is a reachable entry point. The weight is small per user precisely because MFA and device posture checks scale across all of them at once.

How do I actually reduce the index?

Decommission unused services, consolidate public IPs behind fewer ingress points, retire shadow applications and cut third-party integrations that no longer have a business owner. The largest-contributor output tells you which of those gives the biggest single reduction.

You might also need