Vulnerabilities · A01
The tool finds nothing wrong.Customer A still sees B's invoices.
Johan Almgren · Pentester and founder
Published 2026-07-21 · 6 min read
A tool that does not know what your application is for can only look for known patterns. That goes a long way against known flaws. It goes nowhere against the most common serious weakness in modern web applications.
Number one on the list, in every application
OWASP is an independent organisation that periodically compiles the ten most common serious weaknesses in web applications. The 2025 list is based on analysis of more than 2.8 million applications. In first place, for the second edition running, sits broken access control. Exactly what we described above.[01]
100% of the applications tested were found to have some form of broken access control.
That sentence is strong, and it should be read alongside the table beside it, where average incidence is given as 3.74 percent. The category covers 40 different flaw types and just over 1.8 million recorded occurrences, more than any other category on the list.[01]
We quote both halves on purpose. The first sentence gets used in marketing without its context, and a reader who finds the table themselves trusts the rest of the text less.
Why a tool cannot see it
Think about what a tool would have to know to find this. It would have to know that order 4821 belongs to a different customer than the one logged in. That connection is written nowhere. Not in the code, not in the traffic, not in the answer. The server replies that everything went fine, because the code does exactly what it was told.
OWASP says so plainly in its own testing guide. This type of vulnerability cannot be found by an automated tool and relies on the tester's skill and creativity. Further: tools that check processes work when everything goes right cannot detect logical flaws. And finally: this kind of testing cannot be automated, it remains a craft.[02]
The flaw is not in the code. It is in the gap between the code and what you intended.
The price of guessing
A tool that cannot know will instead flag everything that looks suspicious. A 2025 review of nearly 3,000 code projects produced 2,116 flagged issues. 180 of them were real. More than nine in ten were false alarms. For one category the figure was 99.5 percent.[03]
2 116 → 180
Flagged issues versus real flaws in the same study. Each false alarm takes about ten minutes to review away. A queue of that quality is not security work, it is sorting.[03]
But the noise is not the dangerous part. The silence is. Seventy-eight percent of organisations relying on fully automated tools report that those tools missed serious vulnerabilities and reported all clear. A false alarm lands in a queue. A missed flaw lands in an incident report.[04]
AI moves the line, but not where people think
An AI reads code considerably better than an older tool and can reason about context. It moves the line. But it moves it inside the same limitation: the AI does not know what you intended either, unless someone tells it.
The numbers from the platforms where security researchers report flaws show the same pattern. During 2025, systems running without human involvement submitted 560 valid reports, and about half of everything they sent in held up. The summary was that machines are good at the shallow flaws, while humans still find the harder ones.[05]
So what is missing is not capability. It is information. An AI told that the system has three roles, that a caseworker must never reach another caseworker's cases, and that customer A and customer B share a database, can start looking for something meaningful. Without that, all it can do is map.
Which is why our scoping looks the way it does
The scoping call is not administration. It is the only moment when someone can explain what the application was actually meant to do. Which is why we ask things like this.
- What kinds of users exist, and what should each of them never be able to see?
- Do several customers share one database, and what keeps them apart?
- Which things carry a sequential number a user could change in the address bar?
- Which parts of the system touch money, permissions or identity?
- Are there functions protected in the interface but not behind the scenes?
The answers to those questions are the difference between a test that looks for known flaws and a test that looks for your flaws.
Sources
- [01]OWASP Top 10:2025, A01 Broken Access ControlOWASP · 2025-11-06
- [02]Web Security Testing Guide, Introduction to Business Logic Testing (hämtad 2026-07-31)OWASP · 2026-07-31
- [03]Traditional SAST tools are failing developersHelp Net Security · 2025-06-19
- [04]Trust in Automated AI Vulnerability Scanning Collapses to 9%Infosecurity Magazine · 2026-06-25
- [05]Bionic Hackbots Rise, Powerful Partners to HumansSecurity Boulevard · 2025-10-27