MODULES / ATTACK SURFACE MAP

See your cloud the way attackers do.

cm-bot scans every region of your AWS account for public entry points: open ports, public databases, APIs without authorization. It ranks them by risk, explains what an attacker would see, and closes them in one click, with undo.

See it work

Scan, map, fix and report in 45 seconds

What it scans

Everything that answers from the internet

One scan walks every enabled region and looks for resources an outsider can reach, then checks which ports and paths are open to them.

ResourceWhat cm-bot checks
EC2 instancesRunning instances with a public IPv4 or IPv6 address, and every security group rule open to 0.0.0.0/0 or ::/0.
Load balancersInternet-facing ALBs and NLBs, HTTP listeners without a redirect to HTTPS, and NLBs with no security group.
RDS databasesDatabases marked publicly accessible, and rules that reach the database port from anywhere.
API GatewayREST APIs that aren't private, HTTP and WebSocket APIs with the default endpoint on, and routes with no authorization.
CloudFrontEnabled distributions serving plain HTTP, allowing old TLS versions, or running without WAF.
Connect to your accountok
Find enabled regions17
EC2 instances17/17 · 42 found
Load balancers17/17 · 6 found
RDS databases17/17 · 9 found
API Gateway17/17 · 4 found
CloudFrontglobal · 3 found
Rank by riskok
Write the summary…

You watch the scan as it runs; a reload picks it up where it is. Not analysed yet: network ACLs, prefix lists, Classic Load Balancers and S3 buckets.

Risk and AI summary

The riskiest door first, explained in plain words

Each entry point gets a risk level from its open rules and findings, and the map lists the riskiest first. cm-bot then writes "What an attacker sees": a short summary of the shortest paths in, and what to close first.

criticalRemote admin or database ports open to the whole internet.
highUnencrypted HTTP, API routes anyone can call.
mediumOld TLS versions, weaker settings that still need a fix.
lowHardening, such as adding WAF to a distribution.

Examples of each level.

What an attacker sees · by cm-bot

An attacker scanning your IP ranges would find a Windows server, jump-1, answering RDP from anywhere, and a production database, orders-db, reachable from the internet. Together they are the shortest path to your customer data.

Close RDP on jump-1 or restrict it to your office IP, then make orders-db private. The HTTP listener on app-alb comes next: it sends logins unencrypted.

Example summary.

One-click fixes

Close it from the map. Undo it if you need to.

Every finding comes with the fix that fits it. Try the buttons below.

Entry pointWhat's exposedRisk
jump-1EC2 · eu-west-1RDP 3389 open to 0.0.0.0/0critical
orders-dbRDS · us-east-1Database publicly accessiblecritical
web-1EC2 · eu-west-1SSH 22 open to the internethigh
orders-apiHTTP API · us-east-1Default endpoint on, route without authorizationhigh
old-cdnCloudFront · globalUnused distribution serving plain HTTPmedium

Close or restrict a rule

Remove the open rule, or keep the port and allow it only from an address range. "Use my IP" fills in yours.

Make private, disable, turn off

Make a database private, disable a CloudFront distribution, or turn off an HTTP API's public endpoint. REST APIs need a redeploy, so you get step-by-step advice instead.

See what else changes

A security group can protect several resources. Before a rule fix, the map lists every other entry point using that group, and you confirm on the spot.

Reports

Reports stay in your own S3 bucket

A report describes how to attack your account, so we don't keep it. Every scan saves a PDF and the raw results to a private bucket in your account; we keep only the file names and counts.

  • Create it for me. cm-bot creates a private, encrypted, versioned bucket with Block Public Access on.
  • CloudFormation. Launch a ready template with a TLS-only bucket policy and 365-day expiry.
  • Your own bucket. Paste its ARN; the page shows the bucket policy to add.
  • Downloads go straight from your bucket to your browser through a 5-minute link.
Reports · Attack surface map
ScanEntry pointsCritical
13 Nov 2026, 09:12643
6 Nov 2026, 09:05615
30 Oct 2026, 08:58587

Open a report to read it in the browser or download the PDF. Example data.

Access and safety

You decide what cm-bot can touch

Your role, your rules

A role you create with one CloudFormation stack and an External ID. Delete the stack and access is gone.

Read-only if you prefer

Set AllowFixes to false and the role can only scan. The map and reports still work.

Fixes use the scan

A fix acts on what the scan found, never on values sent from a browser, apart from the address range you type.

Everything recorded

Every scan, fix and undo is in History, with who did it. Undo works even after a plan ends.

Plans

Scan free. Fix in one click with the add-on.

Attack surface map

$0 in every plan
  • Scans of every region
  • Risk ranking and AI summary
  • PDF reports in your bucket
  • Included in the 30-day trial

One-click fixes

$29 / month add-on
  • Close, Restrict, Make private
  • Disable distribution, turn off endpoint
  • Undo is always free

Enterprise

Custom
  • Many accounts
  • SSO and roles
  • Invoice billing
Contact sales
FAQ

Questions security teams ask

Does cm-bot read my data?

No. It reads configuration: instances, security groups, load balancers, database settings, APIs and distributions. It never reads what's stored in them.

Does the scan send traffic to my resources?

No. It uses the AWS APIs to read settings. Nothing is probed or port-scanned.

Can a fix break something?

A rule fix changes the whole security group, so the map shows every other resource using it before you confirm. If something breaks, Undo puts the old rule back.

Which clouds are covered?

AWS today. The Scheduler already covers Google Cloud and Azure VMs.

Cloud Modules professional services

Need hands-on help? Our DevOps, SecOps and cloud architecture engineers can do it with you.

Find your open doors in one scan.