Counted from our database · refreshed every 5 minutes
Audit AI in numbers
What the open-source scanner has actually seen on auditai.sh, counted by one SQL query and shown unedited. Our own test repositories are left out. Small numbers stay small here.
As of 12 Sep 2026, 00:23 UTC · counting since 11 Sep 2026
What the scanner has looked at
What the rules found
By rule
| Rule | Findings | Share | Real / false positive / unsure | Precision from votes |
|---|---|---|---|---|
supabase.mass-assignment-from-request-bodyWrites the request body into a table without an allow-list of columns. | 1 | 50% | no votes | no decided votes yet |
supabase.rls-policy-without-caller-predicateHas an RLS policy that lets rows through without checking the caller. | 1 | 50% | no votes | no decided votes yet |
Share is the rule's part of all open findings. Precision is real ÷ (real + false positive), from votes on report pages; unsure votes are listed but never counted. n is the number of real and false-positive votes behind a figure. Votes on earlier scans of a repository count too, so a rule can have votes and no open findings.
Sandbox proofs
A finding is proven only when we reproduce it. "Prove it" on a report runs the app in an isolated sandbox with two synthetic tenants and tries the attack before and after the fix.
Nobody has requested a proof yet. Until someone does, every finding above stays "likely".
Are the findings real?
Anyone reading a report can mark each finding as real, false positive or unsure. This is the public, self-reported view of precision; it is not checked by us, and people who vote are not a random sample.
No votes yet. The first ones will show up here, next to the rule they are about.
Methodology
What is counted
- Scans stored by auditai.sh: public GitHub repositories pasted into the site, and GitHub App checks on pull requests of public repositories. Every figure comes from one read-only SQL query over scans, proof requests and votes.
- Entry points, queries and findings use the latest scan of each repository, so re-scanning does not inflate them. "Scans run" counts every scan.
- A finding is a match of one of the open-source rules. Nothing on this page comes from a language model.
- Proofs come from the "Prove it" queue; votes from the buttons on report pages.
What is left out
- Our own repositories: everything under github.com/audit0, including the intentionally vulnerable test apps we scan on every change.
- Findings a repository suppressed with an
auditai:ignorecomment. - Private repositories: never stored, never counted. Scans in the CLI or in Claude Code and Cursor through MCP run on your machine; we never see them.
- Anything that identifies a repository: no names, links or code on this page.
The rules, and a vulnerable and a secure test app for each, are open source: what each rule catches · rule source. Numbers are regenerated at most every five minutes.
Add your repository to these numbers
Public repositories, read-only, no sign-up.
Scan a public repository