BREACHPROBE / SECURITY SCANNERS FOR VIBE-CODED APPS
Security scanners for vibe-coded apps
What each tool actually tests, on one axis set, with every figure traced to the page it was read off and the day it was read.
5 compared· 6 criteria, identical for every column· every competitor figure read off that company's own page· last verified 2026-09-18
There are two different jobs here and most people only know about one of them. A CONFIGURATION check reads your project settings — the Supabase Security Advisor does this, free, inside the dashboard, and everyone should run it. An EXTERNAL check reads what your shipped app actually serves, and only that can catch the case that costs people their data: a row-level security policy that is present, enabled, and does not isolate anything. Of the five here, LaunchGuard and BreachProbe do the external check and sign in to do it. Suparbase does the external check anonymously and covers roles by simulation inside its admin, and it is also the only one of the five that is a place you work rather than a check you run. SecurifyAI's open-source scanner is the one you can run yourself against something private. Do the configuration check first because it is free and takes a minute, then do an external one, and do not treat either as a substitute for the other.
| CRITERION | LAUNCHGUARD | SUPABASE SECURITY ADVISOR | SUPARBASE | SECURIFYAI RLS SCANNER | |
|---|---|---|---|---|---|
| What it costs | Free · Pro $29/month“Free $0 forever … Pro $29 / month”. The free tier is not a findings paywall: “It is not a paywall on findings.” | Not publishedThe advisors documentation states no price; they are part of the dashboard. | Free · Hosted $12 per user/month“Free $0 forever” covers one solo workspace and “Up to 3 Supabase connections”; “$12 per user / month” adds unlimited connections and Agent Sentry’s continuous scans. | Free, open source“Is the Supabase Security Scanner free to use? Yes. This Supabase RLS scanner is open source and free to use.” | Free scan · $19 report · $39 with monitoringThe scan is free. “$19 one payment, one report”; “$39 one payment, 30 days” adds the nightly re-scan. |
| What it needs from you | A URL; sign-up to see full key details“Signing up (still free, no card) reveals the full leaked key and the fix prompt.” | Access to your Supabase project, through Studio, MCP, the CLI or the Management APIThe documentation was rewritten after this row was read on 4 September 2026. It now says "You or an agent can pull the same checks from: Studio: Security Advisor and Performance Advisor. MCP: get_advisors with type set to security or performance. CLI: supabase db advisors. Management API: security advisors and performance advisors." The dashboard is one of four routes rather than the only one. | A Supabase URL and an API key“Paste a Supabase URL + API key”. The key is encrypted at rest and proxied server-side rather than held in the browser. The free Security Scanner is the lighter path — it needs no account. | Run it locally, or a browser extension“You can inspect the code, run it locally, and customize it”; the page also offers “Install Firefox Extension”. | One URL“No account · nothing installed · read-only · one URL”. |
| Tests as a signed-in user | Yes“Logged-in tests included: we sign in as a real user, not just a stranger”. | Not publishedThe advisors inspect the project's own configuration; the documentation describes no test of a running app as a signed-in user. | No — anonymous probe, plus a simulatorThe scanner is explicitly the stranger’s view: “See what a stranger can read from your Supabase project.” Roles are covered separately inside the admin, which can “simulate SELECT/INSERT/UPDATE/DELETE as any role with custom JWT claims. All rolled back.” That is a simulation against your own connection, not a request made by a signed-up account. | Not published | YesIt creates its own accounts rather than asking for yours. |
| Tests one user reading another's rows | Yes, as a saved guardThe free tier saves “up to 2 guards … for a cross-user leak, a payment bypass, or any rule you name”. | Not published | Simulated, one role at a timeThe “RLS debugger” sets custom JWT claims and runs a statement as that role, and the write is “All rolled back.” So one user reading another’s rows is something you construct query by query, rather than a result the tool signs up two accounts to produce. | Not published | YesThe page lists it as a row a passive scan cannot test: "rows one user can read that belong to another", where a passive scan "cannot test it" and the probe "counts them, table by table". |
| Re-checks after you ship | Every deploy, on Pro“It re-checks on every deploy, automatically, the moment you ship”. | Automatically"The advisors run automatically in Studio. After an authorized fix, rerun the relevant advisor and confirm that the finding no longer appears." | Yes, on the paid tier“Agent Sentry continuous scans” is a Hosted line item, described on the homepage as a “Continuous anon-key probe” with per-AI-agent session attribution and one-click undo. | Not published | Nightly for 30 days, on the $39 tier“a nightly re-scan for 30 days and an email the moment a new critical or high issue appears”. |
| What you get | Findings, the request receipt, and a fix“Every finding, and the receipt: the exact request we sent and what your app sent back”. | A numbered list of lint findingsThe published check list includes “0002 auth users exposed” and “0003 auth rls initplan”. | An admin workspace; the scan is on-screenWhat you buy is a surface you work in — “Row cards, type-aware forms, FK lookups, bulk operations, CSV/JSON in + out, undoable deletes”. The free scanner keeps nothing: “the security scanner is stateless”. | Findings from a read-only scan“No. It is read-only and …” — the scanner does not modify the project it inspects. | Findings, a cross-tenant table, a written fix"Every finding located, table by table, a written fix per issue." |
Every figure below was read off that company's own page; each source URL and the date it was read are listed at the foot of this page. BreachProbe is one of the 5 compared and is the one publishing this table.
“Not published” means that company does not state the figure on the page cited at the foot of this page. It is not a claim that no such figure exists. A company that publishes no limit most likely has none — but “most likely” is not a fact, and this table prints what was read rather than what was inferred.
| TESTS AS A SIGNED-IN USER | whether the tool authenticates and probes as a real account, rather than only reading what an anonymous stranger can reach |
|---|---|
| TESTS ONE USER READING ANOTHER'S ROWS | the two-account test. It is the only check that can tell a working row-level security policy from one that is merely present |
What is the difference between a configuration check and an external scan?
A configuration check reads your project's own settings — the Supabase Security Advisor's published checks include "auth users exposed" and unindexed foreign keys, and it runs automatically inside the dashboard. An external scan reads what your app actually serves to the internet: the keys left in the shipped JavaScript bundle, the tables that answer with no login, and what a signed-in user can reach. They overlap very little, which is why running one is not running the other.
Why does the two-user test matter more than the anonymous one?
Because an anonymous request is refused by a correct policy and by a broken one alike. Row-level security that is enabled but does not isolate users — a policy that checks a column that is always true, or one missing a with-check clause on insert — looks perfect from the outside and hands every customer's rows to any account that signs up. The only test that separates those two states is signing in as two different users and trying to read one's data with the other's session. BreachProbe and LaunchGuard both do it. Suparbase can reach the answer through its RLS debugger, which will “simulate SELECT/INSERT/UPDATE/DELETE as any role with custom JWT claims”, but that is a query you write rather than a result it reports, and its scanner proper is the stranger's view. The other two do not publish that they test it at all.
Are free security scanners good enough for a launched app?
For finding the obvious catastrophe, yes. Four of the five here are free to run and all of them will find a table serving rows to the public or a service key left in the bundle. What money buys in this category is not better findings but continuity: LaunchGuard's $29/month re-checks on every deploy and remembers the results, Suparbase's “$12 per user / month” Hosted tier runs a continuous anon-key probe, and BreachProbe's $39 tier re-scans nightly for 30 days. The risk of a free scan is not that it misses things on the day — it is that it happens once.
Can I run any of these against an app I have not deployed publicly?
One. SecurifyAI's RLS scanner is open source and can be run locally or installed as a Firefox or Chrome extension, so it can be pointed at an environment that is not reachable from the internet. The Supabase Security Advisor works on the project regardless of whether the app is public, because it reads configuration rather than traffic, and Suparbase's admin connects to the project directly with a URL and key rather than to the shipped site — but its Security Scanner, like LaunchGuard and BreachProbe, works from something a stranger could reach. That is also exactly the thing those three are testing.
BreachProbe is not the right answer to every version of this question, and a comparison page that pretends otherwise is an advert. Each case below is a real one.
You ship every week and want the check to run itself. LaunchGuard is the only tool in this table that re-checks on every deploy automatically and keeps a history — “Memory: we remember every result and every call you made” — and at $29/month that is cheaper than buying a one-off report every month. It also covers Firebase, which BreachProbe does not.
You have not run anything yet. It is already inside the dashboard you are logged into, it runs on its own, and it sees things no external scanner can — an unindexed foreign key, a table with RLS disabled, a function with a mutable search path. Run it first, whatever else you do. It reads your project's configuration rather than your shipped app, which is why it is a different check and not a lesser one.
You want one tool that both RUNS your Supabase project and watches it, rather than a check you run at launch. Suparbase is the only option in this table that is also a working admin — prod→staging sync, a per-row audit log, inline editing, and a live RLS simulator that can “simulate SELECT/INSERT/UPDATE/DELETE as any role with custom JWT claims”. Its free tier is genuinely free forever for up to 3 connections, and at “$12 per user / month” its Agent Sentry keeps a continuous anon-key probe running, which is the cheapest standing watch here. Its five free tools — a Security Scanner, an RLS generator, a schema visualiser, a type generator and a secret scanner — also need no account at all: “no sign-up, no email wall, and no trial timer.”
You want to read the code that is testing you, or run it against something you cannot expose to a third party. It is the only option here that is open source — “This Supabase RLS scanner is open source and free to use. You can inspect the code, run it locally, and customize it” — which also makes it the only one you can point at localhost or an internal environment.
Prices and limits move, and a page quoting a stale one is worth less than a page quoting none. Every source is printed here so a reader can check it against the day they are reading this, and a job re-fetches each of these URLs on a schedule and fails when a figure above no longer appears on the page it came from.
| TOOL | SOURCE | GAVE | READ |
|---|---|---|---|
| LaunchGuard | www.launchguard.dev/pricing | What it costs, What it needs from you, Tests as a signed-in user, Tests one user reading another's rows, Re-checks after you ship, What you get | 2026-09-18 |
| Supabase Security Advisor | supabase.com/docs/guides/database/database-advisors | What it costs, What it needs from you, Tests as a signed-in user, Tests one user reading another's rows, Re-checks after you ship, What you get | 2026-09-18 |
| Suparbase | suparbase.com/pricing | What it costs, Re-checks after you ship | 2026-09-18 |
| Suparbase | suparbase.com | What it needs from you, Tests as a signed-in user, Tests one user reading another's rows, What you get | 2026-09-18 |
| SecurifyAI RLS Scanner | securifyai.co/supabase-rls-scanner-open-source-supabase-security-audit-tool/ | What it costs, What it needs from you, Tests as a signed-in user, Tests one user reading another's rows, Re-checks after you ship, What you get | 2026-09-18 |
| BreachProbe | breachprobe.thecompound.tech/ | What it costs, What it needs from you, Tests as a signed-in user, Tests one user reading another's rows, Re-checks after you ship, What you get | 2026-09-18 |
Last verified 2026-09-18. https://breachprobe.thecompound.tech/compare/vibe-coded-app-security