Skip to content

Attack Surface Area

Attack Surface Area (ASA) is the inventory of everything ShadowMap finds reachable from the public internet under your organization's name: web applications, mobile apps, SSL certificates, JavaScript trackers, login surfaces, and the infrastructure behind them. It is the answer to "what can an attacker actually see and touch?" — discovered continuously from your seed domains and brand, not from a list you maintain by hand.

Overview

Attack Surface Area

The Attack Surface Area module opens on Web Applications — the largest and most-used view. The sidebar lists the other ASA sub-modules.

The module landing page redirects to Web Applications, so this is what you see first. Each ASA sub-module is a separate inventory of one asset class, but they all share the same layout and workflow: a metrics strip at the top, an optional analytics panel, status tabs, a filter bar, a sortable table, and a detail drawer. Learn the pattern once and every sub-module behaves the same way.

ASA differs from the other ShadowMap modules in scope. Where Brand Monitoring tracks impersonation and Data Leaks tracks exposed secrets, ASA tracks your own legitimately-owned assets — the surface you are responsible for defending. A finding here is rarely "someone is attacking you"; it is "this is exposed, here is its risk, decide whether that exposure is acceptable."

Sub-modules

Sub-moduleWhat it inventories
Web ApplicationsEvery HTTP/HTTPS endpoint discovered on your hosts — the default ASA view.
Mobile ApplicationsApps published under your brand on app stores (official and third-party).
SSL CertificatesTLS certificates observed on your endpoints, with expiry and configuration issues.
JS TrackersThird-party JavaScript and analytics tags loaded by your web apps.
Single Sign-On (SSO)Identity-provider login surfaces detected on your applications.
Links & RedirectsOutbound links and redirect chains found on your pages.
CMDB ReconciliationDiscovered assets reconciled against your CMDB to surface shadow IT.

ASA also includes inventory-only sub-modules — Cloud IAM (anonymous cloud-identity primitives), Mobile Secrets (brand-anchored credentials extracted from mobile apps), Mobile Integrations, and Mobile Asset Signals — which appear in the sidebar when enabled for your account.

How it works

These are the mechanics you cannot infer from the table alone.

Discovery is automatic and continuous

You never add an application to ASA manually. ShadowMap starts from your configured seed domains and brand, expands them into subdomains and IP ranges, then probes those hosts for live services. Every reachable HTTP/HTTPS endpoint becomes a Web Applications row; TLS handshakes feed SSL Certificates; page content feeds JS Trackers, SSO, and Links & Redirects. Scans run on a recurring cadence, so the inventory reflects the current state of your perimeter, not a one-time snapshot.

One row is one endpoint, not one URL

A Web Applications row is uniquely identified by the combination of protocol + IP + port + path (the backend keys each row on a hash of those fields). This is why the same hostname can appear on multiple rows:

  • http://example.com:80 and https://example.com:443 are two distinct findings — different protocol and port.
  • The same host served from two load-balanced IPs produces two rows.

Because the discriminator is the (proto, ip, port) tuple, the Proto and Port columns are shown by default. Without them, endpoint rows that differ only by protocol or port collapse into identical-looking lines.

Response status is an analyst decision, not an HTTP code

The Response Status column is the single most misread field in ASA. It is not an HTTP status code (200, 404, 500). It is the triage disposition a reviewer assigns to the finding — the answer to "what did we decide about this exposed app?" An untriaged finding shows . See Response statuses below.

Risk is the priority of the exposure

The Risk column (Critical / High / Medium / Low) reflects how dangerous the exposure is — a more exposed or higher-value endpoint scores higher than a static page. Risk feeds the Unassigned High/Crit metric (High- and Critical-risk findings with no assignee) and is one of the dimensions exposure SLA policies act on. In the filter bar this field is labelled Priority.

Status vs. Response Status

ASA tracks two independent dimensions on every finding:

  • Status — the lifecycle state of the finding: New, Open, Reopened, or Closed. This is set by the platform (a newly discovered endpoint is New/Open; one that disappears and reappears is Reopened) and changes to Closed when you close it.
  • Response Status — your triage disposition (below), set by you. A finding can be Open with no response yet (it lands in Needs Review), or Open + Investigating, and so on.

The status tabs combine both: most tabs filter to live findings (Open/New/Reopened) and then narrow by response, while Closed filters by status alone.

"Behind WAF" badge

A row may carry a Behind WAF badge when ShadowMap detects the endpoint is fronted by a Web Application Firewall or CDN. This is informational — it tells you the exposure is mediated, not that the underlying origin is safe.

Understanding the data

Status tabs

The tab bar segments the inventory by review state. Each tab shows a live count.

TabShows
Needs ReviewLive findings with no triage response yet — your work queue.
InvestigatingLive findings you have marked as under active investigation.
ReviewedLive findings you have reviewed and accepted as expected.
To Be ClosedLive findings flagged for closure (e.g. decommissioned apps awaiting confirmation).
Accepted RiskLive findings whose exposure you have formally accepted.
All OnlineEvery live finding regardless of response status.
ClosedFindings that have been closed.
AllEverything, including closed.

TIP

Needs Review is the queue that matters day to day. When the Needs Review metric is non-zero it renders in red — that is the count of exposed apps nobody has looked at yet.

Response statuses

The values you assign in the Response Status column (and via the detail drawer's quick actions):

ResponseMeaning
(none)Untriaged. Appears in Needs Review.
InvestigatingUnder active review; you are determining whether the exposure is intended.
ReviewedExamined and accepted as expected behavior. (Displayed in place of the legacy internal value Public.)
Accepted RiskExposure is known and formally accepted; no further action planned.
To Be ClosedMarked for closure — the asset should be removed or decommissioned.

Columns

The table is column-customizable (the column picker is in the page header). The Application column is always shown and locked.

ColumnDescriptionShown by default
ApplicationPage title, or the host if no title is available. Shows the host as a subtitle and any Behind WAF badge.Yes (locked)
IPResolved IP address of the endpoint.Yes
ProtoHTTP or HTTPS — part of the row's unique identity.Yes
PortTCP port the service answers on.Yes
PathURL path of the endpoint.No
Response StatusYour triage disposition (see above).Yes
RiskCritical / High / Medium / Low priority of the exposure.Yes
AssignedTeam member the finding is assigned to.Yes
Provider / ASNHosting provider / autonomous system the IP belongs to.No
CountryGeolocation of the endpoint.No
Last SeenWhen the endpoint was last observed live (relative time).Yes
TagsSecurity tags and your custom tags.Yes

Metrics strip

The cards across the top summarize the current inventory. Clicking a card applies its filter to the table.

MetricMeaning
Total OnlineAll live endpoints (the All Online tab).
Needs ReviewLive, untriaged findings. Renders red when above zero.
InvestigatingLive findings under investigation.
ClosedFindings that have been closed.
Unassigned High/CritHigh- or Critical-risk findings with no assignee. Informational (not clickable) — your backlog of important exposures nobody owns.

INFO

All five cards except Unassigned High/Crit are clickable — selecting one applies its filter to the table. Unassigned High/Crit is informational only.

The filter bar supports building compound queries with AND/OR conditions across 24 filter categories, including: Title, Status, Response Status, Priority (risk), Domain, Host, IP, Netblock, ASN, Protocol, Port, Path, Country, Continent, SSO Provider, JS Trackers, Technology Stacks, Organization, Tag, Tag Rule, SLA Policy Violation, Assigned To, First Seen On, and Last Seen On.

Each status tab pre-loads the filter rules it represents (for example Needs Review seeds Status IN (New, Open, Reopened) and Response IN (None)), so the filter bar always shows exactly what the current tab is querying. You can edit or extend those rules without leaving the tab.

Two extra controls sit beside the filter bar:

  • Bookmarked (star) — toggles the view to only findings you have bookmarked.
  • Export — queues a background export of the current filtered result set.

TIP

Filter by ASN or Netblock to audit everything you expose from a single hosting provider or IP range in one pass — useful when migrating off a provider or after acquiring infrastructure.

Detail view

Click any row to open the detail drawer without leaving the list. The drawer shows the finding's Risk, Response, and Status badges, the full URL (opens in a new tab), application detail fields, and any custom tags. Four quick-action buttons let you set the response in one click: Investigating, Reviewed, Accept Risk, and Close.

For the full picture, open the application's dedicated page (the expand icon in the drawer header). The full page is organized into tabs:

TabShows
DetailsOverview of the application and its core attributes.
InfrastructureThe hosts, IPs, ports, and providers behind the application.
HistoryThe finding's observed history over successive scans.
ComplianceCompliance-relevant attributes of the endpoint.
ActivityThe audit trail of triage actions, status changes, and comments.

Press j / k to move between findings in the drawer, Space to select, s to bookmark, and Esc to close.

Taking action

Select one or more rows (or Select all) to reveal the bulk action bar:

  • Set response status — bulk-apply Investigating / Reviewed / Accepted Risk / To Be Closed / Closed across the selection.
  • Bookmark — flag findings for follow-up.
  • Assign / clear assignee — route findings to a team member; the Assigned column and Unassigned High/Crit metric update accordingly.
  • Add tag — apply a custom tag value to the selection.
  • Share — push findings to a connected integration (e.g. ticketing) — see Sharing & Integrations.

Single findings can also be triaged from the detail drawer's quick-action buttons, commented on inline, and bookmarked from the row's star icon.

WARNING

Accepted Risk and Closed remove a finding from your active Needs Review queue, but ASA keeps scanning. If a closed endpoint is observed live again on a later scan its status flips to Reopened and it returns to the queue — accepting risk is a decision, not a permanent suppression.

Common questions

Why does the same application appear on several rows? Each row is one endpoint, keyed on protocol + IP + port + path. The same site on HTTP and HTTPS, on two IPs, or on two ports is genuinely multiple exposed endpoints, so it is multiple rows. Turn off the Proto and Port columns only if you have deduplicated mentally — they are the discriminator.

Is "Response Status" the HTTP status code? No. It is your triage disposition (Investigating, Reviewed, Accepted Risk, To Be Closed), not an HTTP response code. An untriaged finding shows .

How do I find apps nobody has looked at? The Needs Review tab (or metric card) — live findings with no response yet. It shows in red when non-empty.

How is Risk calculated? Risk reflects the danger of the exposure based on what the endpoint runs and how reachable it is; an exposed admin/login surface scores higher than a static page. It drives the Unassigned High/Crit metric and SLA timing.

Do I have to add my own applications? No. Discovery is automatic from your seed domains and brand. If a legitimate app of yours is missing, it usually means a seed domain is not configured or the host was unreachable during the scan — see Missing assets.

What happens when I close a finding and the app is still live? It will return as Reopened on the next scan that observes it. To suppress a known, intended exposure permanently, use Accepted Risk rather than relying on Closed.

  • Web Applications — the default ASA view, documented in full.
  • SSL Certificates — TLS inventory and expiry/config issues for these same endpoints.
  • CMDB Reconciliation — reconcile discovered ASA assets against your CMDB to find shadow IT.
  • Open Ports — the network-layer view of the same hosts (services and ports), complementary to ASA's application-layer view.
  • SSL Issues — security findings derived from the SSL certificates inventoried here.
  • Technology Stack — the technologies fingerprinted on these applications.
  • SLA Policies — how the SLA clock and policy-violation filter are configured for exposure findings.
  • Status Workflow — the platform-wide model of statuses and triage responses used across modules.

ShadowMap - External Attack Surface Management