Findings by severity
All 283 findings, by triage level.
AI coding tools repeat the same authentication anti-patterns across the projects they touch. We scanned 132 public repositories that describe themselves as AI-generated applications and measured which auth anti-patterns turn up, how often, and how severe they are. Here is what we found, reported in aggregate, with no repository, author, or specific tool named.
Updated June 27, 2026 · OAuthLint v0.4.0 · default ruleset
of all findings landed on the exact patterns we tag as HIGH-prevalence in AI-generated code, the bugs OAuthLint was built to catch. The rules and the corpus point the same way: these are the anti-patterns AI tools reach for first.
The anti-patterns that showed up most across the corpus. Each one links to its rule page, where you can read what it is, why it matters, and how to fix it.
| Pattern | CWE | Findings | % of repos |
|---|---|---|---|
| Non-constant-time secret comparison | CWE-208 ↗ | 75 | 13% |
| Auth tokens in browser storage | CWE-922 ↗ | 60 | 8% |
| Session identifier in the URL | CWE-598 ↗ | 27 | 8% |
| Hard-coded provider / API keys | CWE-798 ↗ | 27 | 5% |
| No rate limiting on auth endpoints | CWE-307 ↗ | 23 | 4% |
| Secrets written to logs | CWE-532 ↗ | 8 | 2% |
Counts are findings (static matches); "% of repos" is the share of the 132 scanned repositories with at least one such finding. A repository can appear under several patterns.
All 283 findings, by triage level.
Which area of the auth surface they land in.
Primary language of the repositories that carried at least one finding.
We assembled a corpus of 132 public repositories that describe themselves as AI-generated or "vibe-coded" applications. We found them through GitHub search over that category, not by targeting any one tool. Each repository was scanned with OAuthLint v0.4.0 using the default ruleset. A "finding" is a static match of an auth anti-pattern: 283 findings across 35 affected repositories, an average of 8.1 per affected repository.
The measurement is reproducible. The ruleset is open and the scan is one command. Run it against any codebase:
Our reading lines up with independent research into AI-generated code from other teams.
The same scan that produced these numbers runs against your repository in one command. No signup, MIT-licensed, low false positives.