New Savings Proposals: approve, test and roll back cost changesLearn more Sign in|Talk to a cloud engineer

Find attack paths before someone else does

Atlas follows network rules, roles and data permissions the way an attacker would: in from the internet, through a workload and the role it runs as, to the data at the end. Every path is ranked by what it reaches.

What you're watching
  1. 1
    Trace the path hop by hop

    The internet reaches checkout-lb on 443, which routes to checkout-api on 8080. checkout-api runs as checkout-task-role, which can read customer-exports.

  2. 2
    See why it ranks Critical

    The header names three causes: a security group open to 0.0.0.0/0, a role with s3:* on *, and PII in the bucket at the end.

  3. 3
    Measure the role's full reach

    The role also reaches payments-archive (PCI), claims-lake (PHI) and ci-config secrets, 14 targets in all. The fix belongs on the role too.

Who does thisSecurity engineer, with the Checkout team's engineering leadWhat you getOne ranked path with the network rule, the role and the data named, ready to become a single ticket.
Attack paths
0
chains from the internet to sensitive data
Reachable
0
findings on internet-reachable resources
Top path reaches
2.4M
PII records in customer-exports
Critical
0
critical findings, toxic combinations first

A thousand findings, and no idea which one is reachable

Scanners list issues one at a time. An attacker chains them. These rows show where that gap hurts.

Priority

A number is not a consequence

What usually happens: The report says 342 findings are internet-reachable. It doesn't say which of them leads anywhere that matters.

How CloudLens resolves it: Each path ends at a named resource, like customer-exports with 2.4M PII records, so the first ticket is obvious.

Resolved
Identity

The role is often the bigger problem

What usually happens: The team closes the open port and moves on. The workload still runs as a role that can read every bucket in the account.

How CloudLens resolves it: The path shows the role as its own hop, so the fix covers the network rule and the permissions together.

Resolved
Vulnerabilities

CVE queues never get shorter

What usually happens: Inspector reports hundreds of package CVEs, and patching follows CVSS order regardless of where the package runs.

How CloudLens resolves it: A CVE on a workload the internet can reach becomes a step in a path and moves up the queue.

Resolved

One path, from detected to closed

Marcus is one of two security engineers at Lumora Retail. This is how the top path of the week was handled.

MCMarcus ChenSecurity engineer, Lumora Retail

Lumora Retail is a fictional company. The people, names and numbers are sample data.

    1
    Mon 08:45Critical

    The checkout path is ranked first

    Internet → checkout-lb → checkout-api → checkout-task-role → customer-exports. It outranks the other 16 paths because the bucket at the end holds PII.
    2
    Mon 09:10

    He reads the hops

    A public load balancer is expected. The real issue is at the end of the chain: checkout-task-role can read every object in customer-exports, and checkout-api only needs the receipts/ prefix.
    3
    Mon 09:25SEC-77

    Creates SEC-77 from the path

    The Jira issue is prefilled with the chain, the role policy and the fix steps, and assigned to the Checkout team.
    4
    Wed 15:00

    Checkout narrows the role

    The policy change ships with Wednesday's release. The role can now read customer-exports/receipts/ and nothing else in the bucket.
    5
    Thu 06:00Resolved

    The overnight scan confirms it

    Atlas re-reads the role. The chain no longer ends at customer-exports, so the path resolves, and SEC-77 shows Done next to it.
Is there a path to your customer data?

Map your attack paths with a read-only scan

Edges come from your own configuration

A path is only useful if every hop is real. Atlas derives reachability from the rules that allow traffic, then follows identity and data permissions to the end of the chain.

Security-group rules become edges you can check

An inbound rule that admits traffic from the internet, a load balancer or another workload's security group becomes a REACHES edge. A rule that admits a CIDR range with nothing running in it adds no edge, so paths don't include traffic that can't happen.
  • Inbound rules become REACHES edges
  • Load balancer to workload to database
  • No workload, no edge
What you're watching
  1. 1
    Read the inbound rules

    checkout-lb-sg admits 443 from 0.0.0.0/0. checkout-api-sg admits 8080 only from checkout-lb-sg.

  2. 2
    Watch each rule become an edge

    Each allowed source adds a REACHES edge, ending with checkout-api reaching orders-db on 5432. Every edge traces back to one rule.

  3. 3
    Skip the empty CIDR range

    orders-db-sg also allows 10.20.0.0/16, and nothing runs in that range. No edge is drawn for it.

Who does thisCloud security engineer checking a path before raising it with a service teamWhat you getPaths where every hop points to a specific security-group rule, which settles whether the path is real.

Paths ordered by what sits at the end

How the Jira integration works
Ranking uses the data class at the end of the chain (PII, PCI, PHI or secrets, from Data Governance) and how many targets the final identity can reach. Open a path to see each hop, then create a Jira issue from it.
  • Data-class aware ranking
  • Reach view for every role
  • Jira issue from the path
What you're watching
  1. 1
    Scan the ranked list

    Four paths, ordered by what they reach. customer-exports with 2.4M PII records is first, and the support-tickets path ranks on reach only because that table isn't scanned.

  2. 2
    Open the top path

    The drawer draws the hops and lists what the role reaches: customer-exports, orders-db with 8.1M PII records, and 12 more targets.

  3. 3
    Create the Jira issue

    One click creates SEC-77, linked to the path. Its Jira status syncs back next to the finding.

Who does thisSecurity engineer running the weekly path reviewWhat you getThe path with the most at stake is first in the queue and already has a ticket.

A CVE on the path moves up the queue

Amazon Inspector package findings are joined to the graph. A critical CVE on a workload the internet can reach becomes part of a path and outranks the same CVE on an instance nothing can connect to.
  • Inspector package vulnerabilities
  • Unsupported software on reachable resources
  • Fix guidance on the finding
What you're watching
  1. 1
    Inspector flags a package on checkout-api

    Amazon Inspector reports libxml-parse 2.9.1 with CVE-2026-1182 on the running image. The finding attaches to the checkout-api node.

  2. 2
    Confirm the internet can reach it

    The path runs from the internet through checkout-lb to checkout-api. A reachable CVE moves ahead in the patch queue.

  3. 3
    Follow it to the data

    From checkout-api the path continues through checkout-task-role to customer-exports. The fix shown is libxml-parse 2.9.4 in checkout-api:2026.09.2.

Who does thisVulnerability management engineer, with the service's engineering leadWhat you getThis CVE gets patched before the same CVE on hosts nothing can connect to.

Every path opens as a finding with answers

See toxic combinations
Open the path to see the account, the frameworks it touches, the owner and when it was first seen. Ask what the risk is, who should fix it, what else is related and what the plan is, with the path drawn underneath.
  • Account, frameworks and owner
  • Risk, owner, related, remediation
  • Path drawn hop by hop
What you're watching
  1. 1
    Ask what the risk is

    Port 22 on checkout-api is open to the internet, and its role can escalate and read 2.4M PII records. Each is High alone, Critical together.

  2. 2
    Ask who should fix it

    The team=checkout tag assigns the finding to the Checkout team. Nobody has to guess the owner from a resource name.

  3. 3
    Check the related findings

    sg_open_to_world, iam_privilege_escalation and CVE-2026-1182 on checkout-api are listed. Each one can still be closed on its own.

  4. 4
    Read the remediation plan

    Allow port 22 only from bastion-sg, remove iam:PassRole and * actions from the role, then patch and redeploy checkout-api.

Who does thisSecurity engineer triaging, with the Checkout team's engineering leadWhat you getOwner, frameworks, related findings and a three-step fix for one Critical path, on a single page.

Network, identity and data in one chain

Internet exposure

Public load balancers, open security groups and CloudFront origins mark where a path can start.

Identity reach

Wildcards and privilege-escalation permissions on a workload's role extend the path.

Data at the end

Classified stores holding PII, PCI, PHI or secrets decide how much a path matters.

Known CVEs

Inspector findings on reachable workloads join the chain as a step instead of sitting in a separate list.

About attack paths

No. Atlas reads configuration through a read-only role and computes paths from it. Nothing is probed and no traffic is sent.

The path is ranked on reach alone and the store is labelled Not scanned. It is not treated as holding nothing sensitive.

Yes. Each path is a finding with severity, triage state, comments and Jira linking, so it goes through the same workflow as everything else.

Find the paths in your own cloud

Connect a read-only AWS role or Azure service principal. We'll walk you through your bill, your security graph and the first things worth fixing.