I Built an Attack Surface Analyzer for Asset Discovery and Exposure Mapping

I Built an Attack Surface Analyzer for Asset Discovery and Exposure Mapping

I Built an Attack Surface Analyzer for Asset Discovery and Exposure Mapping

Attack Surface Analyzer homepage

A company doesn't have one security boundary — it has dozens, and most organizations don't have a complete list of their own. A main website is just the visible tip. Underneath it, there's usually a sprawl nobody's fully mapped:

  Main website
    ↓
  Subdomains
    ↓
  Cloud services
    ↓
  APIs
    ↓
  Development environments
    ↓
  Exposed ports/services
    ↓
  Third-party infrastructure

Every layer in that stack is a potential entry point. A forgotten staging subdomain, an unlisted API endpoint, a cloud storage bucket someone spun up for a one-off project — none of these show up on a company's homepage, but every one of them is technically part of what an attacker could target. That's the attack surface, and it's almost always bigger than whoever's defending it assumes.

I built the Attack Surface Analyzer to make that sprawl visible — a reconnaissance tool that discovers public-facing assets, maps how they relate to each other, and prioritizes which exposures actually deserve attention first.

Use It Only on Assets You Own or Are Authorized to Test

This is a reconnaissance tool, and reconnaissance tools carry a responsibility that comes with the territory. The Attack Surface Analyzer is built for authorized security assessment and defensive asset discovery — running it against a domain, network, or infrastructure you don't own and don't have explicit permission to test can violate the law, regardless of intent. Use it on your own assets, assets you've been contracted or authorized to assess, or dedicated practice environments built for that purpose.

What this covers: What an attack surface actually is, and why asset discovery is the foundation of defending one. What the analyzer looks for — domains, subdomains, hosts, services, and public-facing assets. How discovered assets get organized into an exposure map. How risk gets prioritized once you have more assets than you can address at once.

What Is an Attack Surface?

In plain terms: your attack surface is every point where an outside party could potentially interact with, probe, or attempt to compromise something you own. That includes the obvious stuff — your main website — and a long tail of less obvious stuff: subdomains, APIs, cloud storage, forgotten development environments, and services running on ports nobody remembers opening.

The uncomfortable truth about attack surfaces is that they tend to grow quietly. Nobody sits down and designs a sprawling, half-forgotten set of exposed assets on purpose — it accumulates one deployed staging server, one quick cloud bucket, one abandoned marketing microsite at a time, until the organization's actual footprint is significantly larger than what anyone has fully inventoried.

Why Asset Discovery Matters

This is the part that sounds obvious but gets skipped constantly: you can't properly secure an asset you don't know exists. Security teams spend enormous effort hardening the systems they know about, while an unmonitored subdomain or an exposed development environment sits completely outside that effort — not because someone decided it was low priority, but because nobody put it on the list in the first place.

Asset discovery is the unglamorous, foundational step that makes everything else possible. You can't patch, monitor, or defend what you haven't found.

Target Input & Discovery

Attack Surface Analyzer target input screen

The full process runs through a consistent pipeline, from a single target down to a prioritized list of what actually needs attention:

Target
Asset Discovery
Subdomain / Infrastructure Mapping
Exposure Identification
Risk Analysis
Prioritization

Asset Discovery

Attack Surface Analyzer asset discovery in progress screen

Given a target, the analyzer attempts to identify the categories of assets that typically make up an attack surface:

Domains
The primary domain and any related domains tied to the same organization, which often extend further than the one everyone thinks of as "the website."
Subdomains
The long tail underneath the main domain — API endpoints, staging environments, mail services, admin panels — which is usually where the most overlooked exposure lives.
Hosts
The actual servers and infrastructure behind those domains and subdomains, since a domain is just a label pointing at something that has to actually be running somewhere.
Services
What's actually running and reachable on discovered hosts — the difference between "a server exists" and "here's specifically what it's exposing to the internet."
Public-Facing Assets
Anything reachable from the open internet without special access — the assets that matter most for attack surface purposes, since internal-only systems face a very different threat model.
Attack Surface Analyzer discovered assets list screen

Exposure Mapping

Attack Surface Analyzer exposure map screen

A flat list of discovered assets is useful, but a structured map is far more useful — it shows how everything relates to the primary domain, which makes patterns jump out that a plain list would bury.

example.com

├── api.example.com
├── dev.example.com
├── mail.example.com
└── staging.example.com

Laid out this way, it's immediately obvious that dev.example.com and staging.example.com are exactly the kind of assets that tend to get deployed quickly, secured as an afterthought, and then quietly forgotten — which is precisely why they show up disproportionately often in real-world exposure incidents.

Risk Prioritization

Attack Surface Analyzer risk prioritization screen

Discovering 100 assets doesn't mean all 100 deserve equal attention — in practice, a small fraction usually account for almost all of the real risk. The analyzer categorizes findings into four tiers so effort goes where it matters most:

Critical
An internet-facing sensitive service — something exposing data or functionality that should never have been reachable from the open internet in the first place.
High
A potentially exposed administrative interface — a login panel or management console that's reachable when it likely shouldn't be, or isn't adequately restricted.
Medium
An unexpected public service — something running and reachable that doesn't obviously belong in the public-facing footprint, worth investigating even without an immediate obvious risk.
Low
Informational exposure — details that reveal something about the environment (software versions, internal naming conventions) without directly enabling compromise on their own.

Detailed Asset Information

Attack Surface Analyzer detailed asset information screen

Drilling into any single discovered asset shows the specific evidence behind its risk categorization — what was found, why it was flagged at that severity, and what makes it different from a similar-looking asset that scored lower. This traceability is what turns a list of flags into something an analyst can actually act on with confidence.

The Final Report

Attack Surface Analyzer final report screen

The finished report consolidates everything — the full discovered asset inventory, the exposure map, and the risk-prioritized findings — into something that reads like an actual reconnaissance deliverable, not just a raw dump of scan output.

5 Pipeline stages: target → discovery → mapping → exposure → risk → prioritization
4 Risk tiers: critical, high, medium, low
The Realization Behind This Project

The thing that struck me most while building this wasn't any single vulnerability class — it was how often "attack surface" and "known infrastructure" turn out to be two different, overlapping-but-not-identical sets for a real organization. Building a tool that surfaces that gap directly, rather than just scanning a list of assets someone already knew about, felt like the actual point of the project.

What This Teaches

Core Takeaways From Building an Attack Surface Analyzer

  • You can't secure what you haven't found: Asset discovery is the unglamorous prerequisite to every other defensive measure.
  • The attack surface is usually bigger than assumed: Subdomains, dev environments, and third-party infrastructure routinely extend well past what a company's own inventory reflects.
  • Structure reveals patterns a flat list hides: An exposure map makes overlooked assets — like forgotten staging subdomains — visually obvious in a way a spreadsheet row doesn't.
  • Not all exposure is equally urgent: Prioritization turns "100 findings" into "here are the 5 that matter right now."
  • Reconnaissance tools carry real responsibility: The same techniques that support defensive asset discovery are indistinguishable, technically, from early-stage attacker recon — which is exactly why authorized use matters.
Try it yourself

Run it against a domain you own or are authorized to assess, and see your real footprint mapped out.

Open Attack Surface Analyzer

What's Next

I'm planning to expand exposure identification with more service-fingerprinting detail and refine the risk-prioritization logic so it accounts for combinations of exposures, not just individual findings in isolation. If there's an asset category the tool misses, or a risk tier that felt miscalibrated against a real finding, I'd like to hear about it.

Attack Surface Analyzer FAQs

Is it legal to use the Attack Surface Analyzer on any domain?
No — it should only be used on assets you own or are explicitly authorized to assess. Running reconnaissance tools against domains or infrastructure without authorization can be illegal regardless of intent.
Is the tool free to use?
Yes. You can run a scan against an authorized target without creating an account.
What's the difference between an asset and an exposure?
An asset is anything discovered that belongs to the target's infrastructure — a domain, subdomain, host, or service. An exposure is a specific way that asset is reachable or configured that carries potential risk. Not every discovered asset represents a meaningful exposure.
Why does a "Low" risk finding still get reported?
Informational exposures don't directly enable compromise on their own, but they can add up — software version details or naming conventions can help an attacker plan a more targeted approach even without being a vulnerability themselves.
Does this replace a professional penetration test?
No. It's a reconnaissance and asset-discovery tool focused on mapping exposure, not a substitute for a full authorized penetration test or a professional security assessment.

About the Author

Amardeep Maroli

Built the Attack Surface Analyzer to make an organization's real, often-forgotten footprint visible — for authorized security assessment and defensive asset discovery. Writes about practical, hands-on cybersecurity topics based on real experiments and projects.

Tags: attack surface management, asset discovery, reconnaissance, OSINT, exposure mapping, side project

Ran a scan on your own domain? Let me know what surprised you in the results.

Post a Comment

0 Comments