Monster · Security Review

The vibecoded
attack surface

What an uncensored model driving 5,000 parallel agents finds in a weekend-built site — and why the people you'd normally hire can't find it.
The split

Built in a weekend.
Armored by default?

What vibecoding optimizes for

Shipped. Tomorrow's problem is today's acceptable risk. Every default that gets you to launch is a default that trusts whoever arrives next.

What an attacker optimizes for

The gap between what the UI assumes and what the server verifies. That gap is never in the pretty part.

Optimistic defaults, by name

Each one is a tutorial
default.

What changed

This used to be a three-week job.

Then
One consultantOne checklist. One snapshot. $8–25k.
Stale the next time you deploy.
Now
A swarmAlways running. Cents per agent.
Re-runs on every deploy.
Why uncensored is load-bearing

A hedged model returns
documentation.

The competition

A subscription is not
a harness.

The average engineer with one

Can scaffold a CRUD app and land a refactor. Will hand you a security list it generated and never read. Runs one session at a time, sandboxed, one file at a time, and stops when you close the tab.

What a campaign needs

Hundreds of concurrent probes against a live host, memory that persists across them, triage that ranks by exploitability, a per-agent cost ceiling, and a model that won't stall mid-run on a permission gate.

The other camp

And manual review can't
cover this hourly.

A good reviewer finds an IDOR in a week. The bugs in slide 3 all live on the wire — a header, a response body, an exported function, a rule nobody wrote. None of it shows up by clicking around, and nothing re-checks it after the deploy that reintroduces it.

GET /rest/v1/users?select=* apikey: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... ← the key in your bundle 200 email, phone, stripe_customer_id, balance × 18,442
The surface, mapped

Named classes. Each reachable
with an anon key.

Exposure
Public buckets · verbose errors · source maps · repo history · health endpoints
Authz
IDOR on sequential IDs · missing ownership checks · middleware-only auth · client-trusted roles
Session
alg:none JWTs · no rotation · no expiry validation · tokens in localStorage
Money paths
Promo replay races · non-idempotent withdrawals · forged payment webhooks
LLM surface
Prompt injection via retrieved content · system-prompt leak · tool calls on service credentials
Infra
CORS wildcard with credentials · no CSP · unpinned deps · missing lockfile integrity
Money paths, specifically

Apps that hold money
lose differently.

You don't get hit for a database dump. You get hit for the part that moves value:

Example loss modes · not measured against this build
The new front door

Your most expensive endpoint
is the one that talks back.

You shipped a chat feature. It holds an API key, bills per call, reads whatever it's handed, and in most builds calls tools on a service credential. That's not a feature with a vulnerability — that's an authenticated deputy.

The shape of it

Up to five thousand agents,
five jobs

The math
~$24

One thousand agents, one full run. $0.33/M in · $1.32/M out · $0.01/M cached.

Inference only. Orchestration, sandboxes and human triage are the rest — and still round to nothing beside a contract.

Scale

Linear. Humans aren't.

100 agents$2.38
500 agents$11.90
1,000 agents$23.80
5,000 agents$118.80

Testing the whole surface costs less than the coffee you drink doing it.

What a hit costs

The cheap outcome is
still expensive.

Global average breach
$4.44MIBM, Cost of a Data Breach 2025
US average
$10.2MSame report, US sample
Days to identify + contain
241Reported median
IBM Cost of a Data Breach Report 2025 — self-reported averages across all org sizes, not per-incident medians
Side by side

One is an audit.
The other is a heartbeat.

The contract

$8,000 – $25,000
2 – 4 weeks
one snapshot
stale on next deploy
findings you triage alone

This

$25 – $120 / run
under an hour
re-runs on deploy
never stale
ranked, deduped, fixed

What protected looks like

Twelve controls. No shopping list.

The path

Find. Close. Hold.

Why me

I've run the things
that get attacked.

Receipts

Public, verifiable,
not self-reported.

carsonszeder.com · linkedin.com/in/carson-szeder-599242257
The fit

Most security people can't build.
Most builders can't break.

You don't need a report shipped from a firm that will hand you a Jira board and leave. You need someone who can find it, fix it in the codebase he already understands, and set the gate so it stays fixed. Same person, both directions.

The ask
Give me a week
and the staging URL.

Day seven you have a ranked list of everything a swarm found, the first tranche already closed, and a written diff. Then we decide whether you sleep better.

Contact

carsonszeder.com

Carson Szeder · Los Angeles
monster.bet — real-money marketplace, built and run solo
WIRED, Sept 2025 · Available this week.
vibecoded attack surface
1 / 22 · ← → · n = notes