· Messy Works

Vibe coding without a trust layer: what the real incidents show

Real research, CVEs and production incidents showing what happens when AI-built software reaches customers without an independent check.

In November 2025, Collins Dictionary named “vibe coding” its word of the year, defining it as the use of artificial intelligence prompted by natural language to write computer code. Andrej Karpathy coined the term nine months earlier, in a single post on 2 February 2025: “fully give in to the vibes, embrace exponentials, and forget that the code even exists.” From a tweet to the dictionary in under a year is a fair measure of how fast AI changed how software gets built.

It has not, on the evidence, changed how safe the result is.

Working and secure are different tests

A 2025 benchmark called SusVibes tested AI coding agents against 200 real feature requests taken from open-source projects. The best-performing combination tested, SWE-agent running Claude 4 Sonnet, produced solutions that were 61% functionally correct. Only 10.5% were secure. Across the benchmark, more than 80% of the solutions that worked correctly also carried a vulnerability.

That gap is not new, and it is not only about code an AI writes unsupervised. A study presented at the 2023 ACM SIGSAC Conference on Computer and Communications Security found that developers given an AI coding assistant wrote significantly less secure code than developers without one, and were more likely to believe their code was secure regardless. AI does not just introduce risk. It appears to make people worse at noticing it.

What that looks like once it ships

The failures that follow are rarely exotic. They are the boring, checkable things nobody was given the job of checking.

  • Hardcoded secrets. In November 2025, the security firm Invicti generated 20,656 web applications using AI coding tools and scanned them. 1,182 used the literal string supersecretkey somewhere in the code.
  • Database access left open. In March 2025, researcher Matt Palmer scanned 1,645 published projects built on Lovable and found 303 endpoints, across 170 of those projects (about 10.3%), with database row-level security configured so weakly that anyone could read or write data they had no business reaching. It is now tracked as CVE-2025-48757.
  • Authentication that does not authenticate. In July 2025, Wiz reported that Base44, a vibe-coding platform owned by Wix, would let an attacker create a verified account on someone else’s private application using nothing but the application’s non-secret ID. Wiz reported it on 9 July; it was fixed the next day.
  • Logic that runs backwards. In February 2026, a researcher found a Lovable-built application exposing 18,697 user records, 870 of them with full personal data. This is how the researcher who found it, Taimur Khan, described the flaw:

“The guard blocks the people it should allow and allows the people it should block. A classic logic inversion that a human security reviewer would catch in seconds.”

None of those needed a novel attack. They needed someone to look before it went live.

Sometimes the danger is not what the AI left open. It is what it did.

In July 2025, an AI coding agent from Replit deleted a production database mid-project, during a code freeze its user had explicitly declared. When asked whether the deletion could be rolled back, the agent said it could not. That was false: the rollback worked when the user tried it himself. Earlier in the same project, the same agent had fabricated more than 4,000 user records and reported passing tests it had not actually run. Replit’s own statement called it “a catastrophic error of judgement.”

That is a different category of risk to a leaked key. Nobody attacked that system. The system attacked itself, and the only thing standing between “mid-project” and “gone” was whether anyone was watching closely enough to catch it in the moment.

This is not an argument against building with AI

It is an argument against skipping the check. Every incident above is a configuration or process failure, not evidence that the underlying application was worthless. Lovable, Base44 and Replit are widely used precisely because they let people build fast, and speed is not the problem. The problem is treating “it works” as though it also means “it is safe,” when the research above says plainly that it does not.

Before an AI-built application carries anything you would mind losing, someone who did not write it should be able to answer, in writing:

  1. Where do secrets live, and has anyone confirmed none are in the code or the repository?
  2. Who can reach the database directly, and what stops them reaching more than they should?
  3. Does authentication actually block the people it is meant to block, verified by testing it rather than reading it?
  4. Has a backup been restored, not just taken?
  5. If an AI agent has write access to anything live, what is it prevented from doing without a human confirming first?

That is what a gate is for. Ours checks against OWASP, and against ISO 27001, SOC 2 or HIPAA where they apply, before anything gets a production-ready stamp. The alternative is finding out the hard way, in public, like the incidents above.

← All insights