Security testing for vibe-coded applications: what changes when AI writes the code
Security testing for vibe-coded applications: what changes when AI writes the code
In 2026, a growing number of product features ship without a human reading every line of the code that implements them. A product manager describes what they want to Claude Code or Cursor. The agent writes the feature, runs the tests, and opens a pull request. A reviewer glances at the diff and merges it. The feature ships.
This is vibe coding. It is not a joke. It is how significant portions of real products are now built, and the people doing it ship faster than teams that do not.
The problem: the code that ships looks correct to a human reviewer, passes its own unit tests, and still contains a class of defects that traditional QA has never encountered at this scale. If your testing process was designed around "the developer knows what the code does", you are about to learn new failure modes the hard way.
What actually changes in a vibe-coded application
Three things shift at once.
Velocity goes up 10x. A feature that used to take a senior engineer three days takes an AI-assisted one three hours. Teams that used to ship weekly now ship daily. The old "manual QA pass before release" rhythm stops working when releases are every few hours.
Code review becomes shallow. When an engineer writes 500 lines of Rust, they understand every branch. When they accept 500 lines of AI-generated Rust, they usually read the diff, nod at the happy path, and trust the tests. Subtle bugs in error handling, race conditions, and edge cases now sail through review.
The failure profile is different. Human engineers miss boundary conditions. AI assistants miss them too, but they also confidently hallucinate library APIs that do not exist, invent security assumptions, and write code that is convincing but subtly wrong. The bugs look smart.
These are not hypothetical. Teams that have adopted vibe coding are already reporting the new failure modes.
The top security failure modes in vibe-coded code
1. Hallucinated dependencies
An AI assistant suggests a Python library called \