Threat landscape

How companies get breached today.

Rarely through the front door. Through flows that allow more than they should, systems nobody listed, the classic vulnerability classes, and small findings that only matter together. Phishing, insiders and espionage are real too; this page stays with what is technically exploitable from the outside.

Discover more

Social engineering the product

Business logic flaws. The product works as built, and still allows too much.

No single request looks wrong. The flaw is in what the flow lets someone do, usually through two or three steps that each pass their check. That is why they are discussed by example: what someone gets, and the assumption in the flow that allows it.

Airline

Block every seat on a flight.

via seat holds without a limit

How it happens

  1. 1Seats are held when you pick them, before you pay.
  2. 2Nothing limits how many one customer can hold.
  3. 3A script renews the holds before they expire.

OWASP API6:2023

Ticketing

Skip the queue for a sold-out show.

via a checkout that never checks the waiting room

How it happens

  1. 1The waiting room hands out a token when it is your turn.
  2. 2The checkout endpoint does not ask for it.
  3. 3Calling checkout directly buys before the queue moves.

CWE-841 · OWASP API6:2023

Online shop

Buy a laptop for one euro.

via a price the shop takes from the browser

How it happens

  1. 1The price travels with the add-to-cart request.
  2. 2The server keeps it without checking the catalog.
  3. 3The order completes at that price.

PortSwigger · Excessive trust in client-side controls · CWE-602

Online shop

Use a one-time voucher a hundred times.

via redeeming it in parallel

How it happens

  1. 1The shop checks whether the voucher was used.
  2. 2A hundred redemptions arrive in the same instant.
  3. 3All of them pass before the first one is recorded.

PortSwigger · Limit overrun race conditions · CWE-362

Banking

Withdraw the same money twice.

via two payouts in the same second

How it happens

  1. 1The balance is checked before the payout.
  2. 2Two identical payouts arrive together.
  3. 3Both pass the check before either is booked.

CWE-362 · CWE-367

Food delivery

Get the new-customer discount on every order.

via a new account each time

How it happens

  1. 1The discount is tied to a new account.
  2. 2Accounts are not linked by card, phone or address.
  3. 3Every sign-up collects it again.

OWASP API6:2023

SaaS

Use the paid plan without paying.

via features the API never checks against the plan

How it happens

  1. 1The app hides paid features on the free plan.
  2. 2The API behind them does not check the plan.
  3. 3Calling it directly unlocks them.

CWE-840 · CWE-602

Online gaming

Duplicate a rare item.

via trading it twice at once

How it happens

  1. 1A trade checks that you own the item.
  2. 2The same item goes into two trades at the same moment.
  3. 3Both complete, and now there are two.

CWE-362

Marketplace

Review products you never bought.

via a review form that never checks the order

How it happens

  1. 1Reviews are meant for verified buyers.
  2. 2The review endpoint does not check for an order.
  3. 3Anyone can post as a verified buyer.

CWE-841

Internet-facing footprint

Attack surface. Most of it was never on a list.

Whatever is exposed will be found. Attackers have enumerated company attack surfaces for years with traditional tooling, and agentic tooling makes it faster and more thorough. They look for every entry point, and most of what they find was never on anyone’s list.

01

Non-production, exposed

Staging, dev, preview, test

Why it gets missed

Every environment and branch preview gets a public URL by default. They run with weaker auth, test accounts or a copy of production data, and nobody owns them.

StagingPreview deploymentsDev and QADemo instancesDebug endpoints

02

Distributed environments

Many clouds, accounts and platforms

Why it gets missed

A product runs across several clouds, accounts, regions and platforms at once. Each team adds its own. What sits outside the main account is quickly forgotten.

AWS accountsGCP projectsAzure subscriptionsHetznerVercelSupabasePlanetScaleRender

03

Ephemeral hosts

Live for hours, reachable the whole time

Why it gets missed

Spot instances, autoscaling groups, CI runners and preview builds come and go within hours. Their addresses are reachable while they live and rarely appear in any inventory.

Spot instancesAutoscalingCI runnersShort-lived IPsPreview builds

04

Vibe-coded apps built outside engineering

Automations, no-code, low-code, AI-built

Why it gets missed

Productivity tools and automations are now built by ops, sales and marketing, often with AI, in an afternoon. They connect to real data and go live without anyone in engineering knowing.

AI app buildersNo-codeLow-codeWorkflow automationsInternal productivity apps

05

Internal apps on the internet

Web apps, APIs and services meant for staff

Why it gets missed

Back-office tools, internal APIs and services built for staff end up reachable from anywhere: no VPN in front, sometimes no login.

Back-office appsInternal APIsDashboardsSupport toolsService endpoints

06

Unnecessarily exposed ports and services

Remote access, databases, infrastructure UIs

Why it gets missed

Services meant for a handful of administrators listen on the public internet: remote access, databases, caches, cluster and monitoring interfaces.

SSHRDPVPN gatewaysDatabasesRedisElasticsearchKubernetes dashboards

07

Third parties

Integrations, webhooks, OAuth apps

Why it gets missed

Every integration hands some trust to a system you don’t control, often with more access than it needs and long after anyone uses it.

OAuth appsWebhooksAPI keys with vendorsSaaS connectorsEmbedded scripts

08

Endpoints that skip your edge

Provider URLs next to your domain

Why it gets missed

Cloud functions, gateways and origins answer on the provider’s own hostname or a bare IP. Traffic there never passes the CDN, WAF or login you put in front of the domain.

Origin IPsFunction URLsDefault gateway URLsPlatform hostnamesStorage URLs

How attackers get in

Attack vectors. Vulnerability classes that keep coming back.

Hundreds of vulnerability classes have been cataloged over the years, maintained by OWASP, MITRE’s CWE and others, each with countless variations, and there are many ways to slice them. Below are the ones we see most. Knowing every name is not the point. No team can test all of them, on every endpoint, every time something changes. At that scale it takes agentic hacking, and that is what superhack does.

AI and agents12

LLM01

Direct prompt injection

Direct prompt injection

A user talks the model out of its instructions and guardrails.

LLM01 · ASI01

Indirect prompt injection

Indirect prompt injection

Instructions hidden in content the model reads, such as a page, a file or an email, take over its goal.

LLM07

System prompt leakage

System prompt leakage

The model reveals its instructions, internal notes or the secrets placed in them.

LLM02 · LLM08

Cross-user data in answers

Cross-user data in answers

Answers carry other users’ data, pulled in through retrieval, memory or shared context.

LLM05

Improper output handling

Improper output handling

Model output is rendered or executed without checks, which turns it into XSS, SQL or commands.

LLM06 · ASI02

Excessive agency

Excessive agency

The agent has more tools and permissions than its task needs, so a manipulated agent can do real damage.

ASI03

Confused deputy

Confused deputy

The agent acts with its own privileges on behalf of a user who does not have them.

ASI06

Memory and context poisoning

Memory and context poisoning

Planted content persists in an agent’s memory and steers later sessions.

ASI05

Code execution through the agent

Code execution through the agent

Code the agent writes or runs escapes the sandbox it was meant to stay in.

LLM03 · ASI04

Malicious tools and MCP servers

Malicious tools and MCP servers

A tool or MCP server the agent trusts carries instructions or behavior it should not.

ASI07

Insecure agent-to-agent messages

Insecure agent-to-agent messages

Messages between agents can be spoofed, replayed or read in transit.

LLM10

Denial of wallet

Denial of wallet

Requests crafted to make every model call as long and expensive as possible.

Access control5

API1 · CWE-639

BOLA / IDOR

BOLA / IDOR

Change an object ID, get someone else’s record, including across tenants.

API5 · CWE-285

BFLA

BFLA

Admin functions reachable with an ordinary user’s session.

CWE-306

Missing authentication

Missing authentication

Endpoints that answer without any login at all.

API3 · CWE-915

Mass assignment

Mass assignment

Fields the user should never set, such as a role or a price, accepted from the request.

API3 · CWE-213

Excessive data exposure

Excessive data exposure

Responses carry more fields than the client shows, and the client filters them out.

Authentication and sessions8

CWE-307

Credential stuffing and brute force

Credential stuffing and brute force

Leaked passwords and guesses tried at scale, with nothing slowing them down.

CWE-204

Account enumeration

Account enumeration

Login, signup or reset responses reveal which accounts exist.

CWE-347

JWT flaws

JWT flaws

Unverified signatures, weak secrets, algorithm confusion, tokens that never expire.

CWE-601 · CWE-352

OAuth and OIDC flaws

OAuth and OIDC flaws

Loose redirect URIs, missing state, accounts linked by an unverified email.

CWE-347

SAML flaws

SAML flaws

Signature wrapping and unchecked assertions that let someone sign in as anyone.

CWE-640

Password reset flaws

Password reset flaws

Reset tokens that can be guessed, reused, or are leaked in the response.

CWE-287

MFA bypass

MFA bypass

A second factor that one of the login paths does not ask for.

CWE-613 · CWE-384

Session management flaws

Session management flaws

Sessions that survive logout, password change or role change, or can be fixed in advance.

Injection9

CWE-89

SQL injection

SQL injection

Input becomes part of a database query.

CWE-943

NoSQL injection

NoSQL injection

Operators smuggled into document database queries.

CWE-78

OS command injection

OS command injection

Input reaches a shell on the server.

CWE-1336

Server-side template injection

Server-side template injection

Input is rendered as a template and runs on the server.

CWE-79

Cross-site scripting

Cross-site scripting

Script that runs in another user’s browser: stored, reflected or DOM-based.

CWE-611

XML external entities

XML external entities

XML parsers that fetch files or URLs named in the document.

CWE-90

LDAP injection

LDAP injection

Input changes the meaning of a directory query.

CWE-93

Header and CRLF injection

Header and CRLF injection

Line breaks in input that add headers or split responses.

CWE-1321

Prototype pollution

Prototype pollution

Input that changes the base objects of a JavaScript application.

Server side8

API7 · CWE-918

Server-side request forgery

Server-side request forgery

The server fetches a URL you choose, including internal and metadata addresses.

CWE-22

Path traversal

Path traversal

File paths that walk out of the folder they should stay in.

CWE-434

Unrestricted file upload

Unrestricted file upload

Uploads that execute, overwrite or land where they should not.

CWE-502

Insecure deserialization

Insecure deserialization

Objects rebuilt from data an attacker controls.

CWE-444

HTTP request smuggling

HTTP request smuggling

Front end and back end disagree where one request ends and the next begins.

CWE-349

Web cache poisoning

Web cache poisoning

A harmful response gets cached and served to everyone.

CWE-525

Web cache deception

Web cache deception

A private page gets cached as if it were public.

A10:2025 · CWE-636

Fail-open error handling

Fail-open error handling

An error in a check lets the request through instead of stopping it.

Misconfiguration9

CWE-538

Exposed source and config files

Exposed source and config files

.git folders, .env files and backups served from the web root.

CWE-489

Debug mode in production

Debug mode in production

Debug consoles, stack traces and test routes left on.

CWE-1392

Default credentials

Default credentials

Systems still using the password they shipped with.

CWE-548

Directory listing

Directory listing

Folders that list their own contents.

CWE-209

Verbose error messages

Verbose error messages

Errors that reveal paths, versions, queries or internals.

CWE-942

Permissive CORS

Permissive CORS

Other sites may read your API with the user’s session.

CWE-732

Public cloud storage

Public cloud storage

Buckets readable or listable by anyone.

CWE-862

Missing row-level security

Missing row-level security

A public database key plus a missing policy is a public database.

CWE-250

Over-permissive cloud roles

Over-permissive cloud roles

Service accounts and keys that can do far more than their job.

Secrets and cryptography4

CWE-798

Secrets in client code

Secrets in client code

Keys and tokens shipped to every browser, often through source maps.

CWE-532

Secrets in repos and logs

Secrets in repos and logs

Credentials in git history, CI output and logs, long after the fix.

CWE-330

Predictable tokens and IDs

Predictable tokens and IDs

Tokens, links or IDs that can be guessed.

CWE-319 · CWE-326

Weak transport security

Weak transport security

Old TLS, missing HSTS, or plain HTTP where it matters.

APIs4

API4

Unrestricted resource consumption

Unrestricted resource consumption

No limits on size, rate or cost, so a few requests exhaust the service.

API9

Shadow and zombie APIs

Shadow and zombie APIs

Undocumented and outdated API versions still answering.

API10

Unsafe consumption of third-party APIs

Unsafe consumption of third-party APIs

Data from partner APIs trusted more than user input.

API8 · CWE-770

GraphQL abuse

GraphQL abuse

Introspection, batching and deep queries left open in production.

Supply chain and integrity3

A03:2025 · CWE-1395

Components with known vulnerabilities

Components with known vulnerabilities

Libraries and services running versions with published exploits.

CWE-345

Unsigned webhooks

Unsigned webhooks

Incoming events that are accepted without checking who sent them.

CWE-829

Third-party scripts without integrity

Third-party scripts without integrity

Scripts loaded from other hosts that could change at any time.

Client side4

CWE-352

Cross-site request forgery

Cross-site request forgery

Another site makes the user’s browser act on your app.

CWE-1021

Clickjacking

Clickjacking

Your page framed invisibly so users click what they cannot see.

CWE-346

postMessage abuse

postMessage abuse

Messages between windows accepted from any origin.

CWE-601

Open redirect

Open redirect

Links on your domain that send users anywhere.

How issues compound

Attack chains. Rarely one bug. Usually two or three.

Most breaches start with findings that do not look critical on their own. Attackers are very good at turning little into a lot, and after two or three hops most companies are compromised. What follows is a full company compromise: enough for extortion and double extortion, to destroy trust in the market, or for whatever else an attacker is after.

Get started

See what an attacker would find. Results within 24 hours.

Prefer to talk first? Half an hour with the founders