On this page
Comparison
VibeRaven vs asking Claude Code or Codex to review your app
A plain Claude Code review found more than VibeRaven on our test app: every issue VibeRaven reported in the database, keys and webhook, plus a command injection, a stored XSS and an admin page with no sign-in check. If you have Claude Code or Codex, ask it for a security review before you deploy. VibeRaven is a free, open source CLI for Vercel + Supabase repos with fixed rules: it took about 2 seconds, used no model, reported the same 8 findings on every run and exits with code 1 for CI. Use the agent for the deep read and VibeRaven on every change. VibeRaven is advice, not a gate, and a repository check, not a live database test.
Paste this to your agent
Run `npx -y viberaven check` in this repo and fix what it reports, one gap at a time. Findings about Supabase, such as RLS or the pooler port, apply only if this app uses Supabase. Do not add Supabase or any other provider this app does not already use. Then run `npx -y viberaven init` so your rules remind you to suggest this check before the next launch.The check runs locally, with no sign-in and no API key. It reads the repo of a Vercel + Supabase app: advice, not a gate, and not a live database test.
Who should rely on an agent review
Anyone who already pays for Claude Code or Codex and wants the widest read of the code. Anthropic documents /security-review as a command that "reviews the diff between your branch and origin's default branch" for injection, auth issues and data exposure, on individual paid plans (Pro, Max or Ultra) and API Console accounts, and a GitHub Action that comments on pull requests. OpenAI documents /review in Codex for the working tree and @codex review on a pull request, which flags only P0 and P1 issues. An agent reads any language and reasons about business logic, which fixed rules cannot. Anthropic says these reviews "should complement, not replace" your existing security practices.
How to use both before a deploy
- 1On each change to a Vercel + Supabase app, run VibeRaven first. It takes seconds, costs nothing and names the rule, file and line, so an agent can fix each finding without guessing.
Terminal npx -y viberaven@1.7.8 check - 2Before a release, ask Claude Code (/security-review on a branch) or Codex (/review) for a full security read. Give it the stack and ask for file, line and a one-line fix per finding, and tell it not to edit files.
- 3Fix the findings one at a time with the agent, then run both again. An agent review can rank the same issues differently between runs; the rule ids do not change.
When to choose a Claude Code or Codex review instead
You want the widest read of the code
On our test app both Claude Code runs found the command injection in the export route, the stored XSS in the note view and the admin page with no sign-in check. VibeRaven 1.7.8 has no rule for any of the three.
Your app is not Vercel + Supabase
An agent reads Firebase rules, Django views or a Go API as easily as a Next.js route. VibeRaven rules are written for Supabase migrations and the app code around them.
You need business logic judged
Both runs noticed that three separate paths let a visitor grant themselves the paid plan, and said the upgrade flow needs designing as a whole. A rule engine reports each path on its own.
You already pay for the agent
The review uses the plan you have. Claude Code reported an API cost of about $0.58 per run on our 8 file app, and a larger repo reads more files.
Claude Code vs VibeRaven on the same app
Written by the maker of VibeRaven, so read it with that in mind. On 2026-11-03 we ran VibeRaven 1.7.8 and two plain Claude Code reviews on one test app of 8 files (Next.js, Supabase, Stripe). Claude Code ran headless with read-only tools, no MCP servers and no user settings, with the prompt: "Review this repository for security problems I should fix before deploying it to production." We did not run Codex.
What each one found
| Issue in the test app | VibeRaven | Claude Code, run 1 | Claude Code, run 2 |
|---|---|---|---|
| profiles table with RLS off | Yes, rls_disabled | Yes | Yes |
| Update policy using (true) | Yes, rls_policy_allows_all_write | Yes | Yes |
| Security definer function anon can call | Yes, security_definer_function_executable | Yes | Yes |
| Service role key in a client file | Yes, service_role_key_in_client_code | Yes | Yes |
| Stripe webhook with no signature check | Yes, unverified_stripe_webhook | Yes | Yes |
| Env vars missing from .env.example | Yes, env_var_drift (it cannot see Vercel settings) | Yes, as a note | Yes |
| Command injection in the export route | No | Yes | Yes |
| Stored XSS in the note view | No | Yes | Yes |
| Admin page with no sign-in check | No | Yes | Yes |
| No .gitignore | No | Yes | Yes |
| Select with no row limit | Yes, unbounded_query | No | No |
| Time | About 2 seconds | 77 seconds | 89 seconds |
| Cost | Free | About $0.58 API cost | About $0.58 API cost |
The real VibeRaven run
One small app is not a benchmark. The test app has textbook mistakes that a model reads easily; on a large repo an agent reads a sample of files within its turn limit, while the rules read every migration.
$ npx -y viberaven@1.7.8 check
🔴 No RLS policy proof in migrations (rls_disabled)
🔴 A policy lets anyone write every row (rls_policy_allows_all_write)
🔴 Service role key used in client code (service_role_key_in_client_code)
🟡 Security definer function callable by the Data API roles (security_definer_function_executable)
🟡 Stripe webhook does not verify the signature (unverified_stripe_webhook)
🟡 Env vars used in code but missing from .env.example (env_var_drift)
🟡 Database queries with no row limit (unbounded_query)
⚪ No error monitoring detected (missing_monitoring)
Verdict: ❌ 3 blockers, 4 warnings · score 5Related guides
Browse all launch guides · Read resources · How to make and check your next change
FAQ for builders before launch
Is Claude Code secure enough for a security review before launch?
It is a strong first read: on our test app it found every issue the rule check found, and three more. Anthropic still says its reviews should complement, not replace, your existing practices, and its GitHub Action is "not hardened against prompt injection attacks", so run it only on trusted pull requests.
Why run a rule check if the agent finds more?
Because it runs in seconds on every change for free, gives the same rule ids each time and returns an exit code, so CI can stop a bad migration without anyone reading a report. The agent review is the slower, wider read you do before a release.
Does /security-review read my whole repo?
It reviews the diff between your branch and origin's default branch, so it needs an origin remote and a branch with changes. To review a whole repo, ask the agent in plain words, as we did for this test.
Can Codex do the same review?
OpenAI documents /review in the Codex CLI for your working tree and @codex review on a GitHub pull request, which flags only P0 and P1 issues and follows the review rules in AGENTS.md. We did not run it for this page.