Veracode's 2026 Report: AI Code Security Pass Rate Still 56%
Quick answer: Veracode has now tested more than 100 AI models over four years of its GenAI Code Security Report, and the average security pass rate across all of them is 56%, meaning roughly 44%…
Quick answer: Veracode has now tested more than 100 AI models over four years of its GenAI Code Security Report, and the average security pass rate across all of them is 56%, meaning roughly 44% of AI-generated code fails a security review. That number hasn't meaningfully moved across the whole four-year window, even as the volume of AI-generated code shipping into production has exploded. If you're shipping an app that an AI tool helped write, and most people are now, this is the actual base rate you're working with, whether or not anyone's told you.
What the report actually found
The 2026 edition added 11 new models to the test, run across the same suite of 80 coding tasks Veracode has used throughout, with this round's dataset collected in summer 2026. Read the report yourself at veracode.com.
The spread between models is real, but it doesn't change the headline. GPT-5.5 came out on top at a 68% security pass rate, the best of the eleven. Six of the eleven models tested clustered between 50% and 53%. Put plainly: even the best model available still fails roughly 1 in 3 security tasks, and the worst fails close to 1 in 2. That's the range on offer right now, not a temporary dip while the industry catches up.
Java is the clearest case of a trend that still isn't good enough. Veracode notes it's shown the clearest year-over-year improvement of any language tested, and it's still dead last by a wide margin, with a mean security pass rate of only 30%. Improving and adequate are two different things, and Java's still only doing one of them.
Maybe the most useful finding for anyone picking a coding tool based on a "built for developers" pitch: purpose-built coding models averaged a 51% pass rate, general-purpose models averaged 52%. Specialized training for writing code did not translate into safer code. That's a direct answer to "wouldn't a model built specifically for coding be more secure," and the data says no.
This lines up with what we cited in an earlier post: Veracode's prior-year testing on the same 80-task suite found AI-generated code introduced exploitable flaws in 45% of individual test runs, with Java failing at 72% and cross-site-scripting defenses failing in 86% of relevant samples. That single-year figure and this report's four-year average (44%) aren't identical measurements, but they tell the same story from two angles: this isn't a number that's been trending down.
Getting a smarter model did not fix it
This is the part worth sitting with, because it's counterintuitive if you've been told that better models, or the right specialized model, mean safer code. The purpose-built-versus-general-purpose numbers above are the cleanest evidence against that: models trained specifically to write code scored slightly worse on security than models that weren't specialized for coding at all. If specialization for the task of writing code doesn't move the needle, "just use a smarter model" was never going to be the fix either.
The reason isn't mysterious once you say it plainly: none of these models, coding-specialized or not, are being asked to reason about a threat model. They're being asked to satisfy a prompt. "Build me a login form" gets you a login form that works, because "works" is what the prompt asked for and what the model was trained and evaluated to deliver. Whether that login form rate-limits attempts, hashes correctly, or escapes its inputs isn't part of "works" unless someone specifically says so, and almost nobody does, because most people asking don't know that's a separate question to ask. A model that's dramatically better at understanding intent and writing clean, functional code has no particular reason to be better at a question it was never asked. That's the whole story of why smarter didn't mean safer, and four years of the same test says there's no obvious reason to expect next year's models to break the pattern on their own either.
This matches what we see when we actually check
It's not just Veracode's finding. When we ran a real vibe-coded app through FlawPilot, the app that scored a perfect 100 on performance, it came back with a 70 on security and 16 open findings: no DMARC record, no CSP header, no HSTS, no clickjacking protection, among others. Nothing on that list showed up by using the app. All of it showed up the moment something outside the team went looking on purpose.
That's the practical version of Veracode's 44%. It's not a statistic about code you'll never touch, it's a rough description of the app you (or a tool, on your behalf) shipped last week. Roughly coin-flip odds that something a security review would flag is sitting in it right now, and "the model is pretty good" was never going to be the thing that ruled that out.
What to actually do about it
The honest fix for a base rate isn't picking a better model and hoping the number improves for you personally, the report already shows that doesn't reliably happen. It's checking the actual, deployed result instead of trusting the process that produced it.
That's a different question than "which AI coding tool is safest," which doesn't really have a stable answer given how fast these models change. It's "does my specific app, right now, in production, have the flaws a security review would catch." That question has a fast, concrete answer if you go looking for it, and it's the same answer whether Lovable, Bolt.new, v0, Cursor, or a human wrote the code underneath it.
Your turn
You don't need to read a 2026 industry report to know your own odds. You need to run the scan.
No setup, no coding, no passwords required. Drop in your app's URL, and in about two minutes you get a full scorecard: security, performance, infrastructure, and SEO, each out of 100, every finding in plain English, with a toggle between the founder view and the full technical one.
44% isn't a number about the industry. It might be a number about the app you shipped this week, and there's a two-minute way to find out which side of it you're on.
Frequently asked questions
How FlawPilot helps
FlawPilot finds security and quality issues in your AI-built app and shows you how to fix them. It checks your deployed site across security, performance, infrastructure, and SEO, and scans your source code for vulnerabilities, hardcoded secrets, and vulnerable dependencies.
Every finding is prioritized and explained in plain English, with the actual fix: the configuration change, DNS record, security header, or code change needed. For supported findings, AI-powered guidance adds step-by-step instructions and suggested code fixes.
Connect your Git provider to scan your repository alongside your live site, so application findings, code vulnerabilities, secrets, and dependency issues all land in one place.
It fits your existing workflow too: a REST API for scores and findings, an embeddable security badge, and an MCP server so tools like Claude, Cursor, or ChatGPT can read your findings and help you work through them.
The boundaries are clear: the public website scan reads only publicly accessible signals, with no agent or credentials required, and source-code scanning is opt-in and read-only. Fixes are never applied or merged without your review.
Verify your AI-generated app is production-ready.
117 security checks in 60 seconds - free, no account needed.
Scan one page
Enter a URL - no account, no install.
Run a Site Health check
Requires a free accountCrawls every page we can reach and scores each one, so a slow template deep in the site stops hiding behind a healthy homepage.
Scan your source code
Requires a free accountConnect a Git provider to check for vulnerabilities, secrets, and risky dependencies.