Bob Starr built a site called “Boomberg” — a tracker showing how much US tax money flows to tech companies — entirely through vibe coding. He shipped it immediately. Months later, he discovered a hidden SQL injection vulnerability that could have exposed the site to attackers the entire time it was live.
One hobbyist’s close call is a useful story. The pattern behind it is the actual problem. Vibe-coded apps skip the step where someone who understands security reads the code before it hits production. When you prompt an AI to build something and deploy the output directly, you inherit every bad default the model chose — and LLMs have no concept of threat modeling.
The common gaps in vibe-coded projects:
- SQL injection — models frequently concatenate user input into queries instead of using parameterized statements
- No input validation — forms and API endpoints accept whatever gets sent, because the AI wasn’t told to sanitize
- Exposed secrets — API keys and database credentials hardcoded in client-side code or committed to public repos
- Missing auth checks — routes that should require login are left open because the prompt didn’t specify access control
- Default configs shipped to production — debug modes, permissive CORS, verbose error messages leaking stack traces
A Reddit thread in r/vibecoding asked users point-blank: do you actually read the code before you run it? The honest answers lean toward “vibe and pray.” That’s fine for a local prototype. It’s negligent for anything handling user data or running on the public internet.
NOTE
SQL injection has been on the OWASP Top 10 for over two decades. LLMs still produce vulnerable query patterns regularly — they optimize for “code that works,” not “code that’s safe.”
If you’re shipping vibe-coded projects live, run a basic security pass first. Even a free tool like sqlmap against your own endpoints, or asking the same AI to audit its own output for injection and auth flaws, catches the worst of it. Starr’s Boomberg got lucky — the vulnerability was found before it was exploited. Most people won’t know until it’s too late.