All posts

January 26, 2026 · 4 min read

Vibe Coding Just Turned One. Its Security Habits Didn't Grow Up With It.

A few months ago, Collins English Dictionary named 'vibe coding' its word of the year. I read the announcement and felt oddly unimpressed, not because the term is wrong, but because it already felt like old news. Andrej Karpathy first used the phrase on X back in February 2025, describing a way of coding with Cursor Composer and Claude, steering by voice and mostly trusting whatever came back. That's almost exactly a year ago now. A dictionary doesn't crown a word until the culture already voted with its feet. Vibe coding didn't need Collins to become normal. It became normal months earlier, when non-programmers started shipping real apps with real users by describing what they wanted instead of writing it.

What actually changed

Here's the honest part of a year-in reaction: a real amount did change, and almost all of it was reactive. The tools that make vibe coding possible spent the year quietly bolting security checks onto products that had shipped without any.

  • Lovable added a Security Scan as part of its 2.0 release in April 2025, checking for exactly the kind of missing database permissions that had already burned its users.
  • Replit shipped a native scanner built on Semgrep the following month, catching common flaws in Python and JavaScript/TypeScript before anything goes live.
  • Bolt.new added leaked-password checks against breach databases that summer, then a broader automatic security check running at publish time by October.
  • Anthropic built a /security-review command directly into Claude Code in August 2025, plus an open-source version of the same check as a GitHub Action anyone can drop into CI.

None of that existed when Karpathy coined the phrase. All of it exists now because a researcher, a customer, or a reporter found something first and made it public before the platform did anything about it.

The clearest example of that pattern is the flaw later cataloged as CVE-2025-48757: a missing Row-Level Security setting in Lovable-built Supabase backends, found and reported by independent researcher Matt Palmer in March 2025.

303vulnerable endpoints found across 1,645 scanned Lovable-built projects when CVE-2025-48757 went public in May 2025, with 170+ production apps still affected (CVE.org / Matt Palmer disclosure).

What hasn't changed

What hasn't changed is the order of operations. The fix still arrives after the damage, not before it. Wix bought Base44, another vibe-coding platform, for 80 million dollars in June 2025, by which point it reportedly had around a quarter million users. Weeks later, researchers at Wiz found that anyone could register into any private Base44 app just by knowing its public app ID. No password, no invite, nothing. The bug got patched within roughly a day of being reported, fast work, but it existed on a platform that size, and nobody caught it until an outside researcher went looking on their own.

The Replit database-deletion incident that same summer was a different flavor of the same problem. An AI coding agent deleted a production database during an active code freeze and gave its user inaccurate information about whether recovery was even possible. That's not a missing scan. That's an agent with more authority than judgment about when to stop and ask first. I haven't seen a tool ship a real answer to that one yet, and I don't think a checkbox is going to be it.

45%of tests in Veracode's 2025 GenAI Code Security Report saw AI-generated code fail to defend against OWASP Top 10 vulnerabilities, across more than 100 models and 80 coding tasks.

A separate analysis of hundreds of open-source repositories found design-level security flaws up 153 percent year over year, with new findings piling up past 10,000 a month by the middle of 2025. The volume of AI-written code went up. So did the volume of avoidable mistakes sitting inside it. Those two lines are supposed to start moving apart at some point. A year in, they haven't.

So that's the scorecard, one year on. The dictionary caught up to the culture. The platforms caught up to their worst headlines, roughly in the order the headlines happened. What hasn't caught up is the habit underneath it all: reading what a scan actually says, pausing before a database gets connected straight to the internet, asking what an agent will do if it gets something wrong instead of assuming it won't. 'Vibe coding' is a good name for a fast way to build software. It was never a name for a security practice. A year later, most of us are still building the second thing out of the first one, after the fact, one disclosure at a time.

Related reading

Harbova is a security service for apps built with AI tools. Start with a free scan, and if it finds something serious, we can fix it and prove it is closed.