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.
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
- 1Seats are held when you pick them, before you pay.
- 2Nothing limits how many one customer can hold.
- 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
- 1The waiting room hands out a token when it is your turn.
- 2The checkout endpoint does not ask for it.
- 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
- 1The price travels with the add-to-cart request.
- 2The server keeps it without checking the catalog.
- 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
- 1The shop checks whether the voucher was used.
- 2A hundred redemptions arrive in the same instant.
- 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
- 1The balance is checked before the payout.
- 2Two identical payouts arrive together.
- 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
- 1The discount is tied to a new account.
- 2Accounts are not linked by card, phone or address.
- 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
- 1The app hides paid features on the free plan.
- 2The API behind them does not check the plan.
- 3Calling it directly unlocks them.
CWE-840 · CWE-602
Online gaming
Duplicate a rare item.
via trading it twice at once
How it happens
- 1A trade checks that you own the item.
- 2The same item goes into two trades at the same moment.
- 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
- 1Reviews are meant for verified buyers.
- 2The review endpoint does not check for an order.
- 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