PATTERNS WE KEEP FINDING

The same handful of bugs keeps showing up across Lovable, Bolt, Cursor, Replit, and V0 apps. Not a corpus claim — a pattern we can show you, on a live URL, right now.

There is a difference between telling you a bug is common and showing you the bug, on a URL, with a curl command you can run yourself. Most security blogs do the first. This series does the second.

Every article points at a scenario on gapbench.vibe-eval.com — a public security benchmark we operate, currently 104 scenarios. Hit the URL, see the bug, run our scanner, see the finding. No corpus claims, no anonymous client name-drops, no “we scanned 1,500 apps” handwaving. The pattern, the live demo, the detection.

Start here

Auth

Trust boundaries

Data exposure

Infrastructure

Frontend / JS

Agents and LLMs

Injections and primitives

Concurrency

How to use this series

Every article follows the same loose shape — pattern, demo URL, why the AI does it, how we catch it, what to do. We deliberately don’t use a rigid template; each piece reads like a conversation with someone who has seen the bug too many times. The structure is the URL — gapbench.vibe-eval.com/site/<scenario>/ is up right now, you can hit it, the bug is real, the finding reproduces.

If you’ve read one of the data studies and want the anatomy, this is where the anatomy lives. If you’ve read a case study and want to verify the pattern is real, this is where you verify it.

RUN THE SAME SCAN WE RUN

Point VibeEval at your app. The detections written about here are the ones that fire.

START FREE SCAN