Emerald Red Team

Security for apps built with AI

Hack yourself
before someone
else does.

Emerald Red Team attacks your app the way real attackers do, safely, then gives you the fix as a prompt for your AI tool, a file, or a pull request. It flags lawsuit risks too.

Passive check. We only look at what any visitor's browser can see. No signup.

Built for apps made withLovableBoltReplitCursorv0Base44Claude CodeWindsurfSupabaseFirebase

Watch it work

From F to A, one fix at a time.

Every finding becomes a fix you can paste. Each re-scan proves it worked, and the seal fills in pillar by pillar.

F

leaky-lemonade.demo

Demo app we built to be vulnerable · 0 of 5 fixed

  • CriticalSupabase service-role key in your JavaScript
  • CriticalTable “orders” readable without logging in
  • High/api/admin/users answers without a session
  • HighFacebook Pixel fires before consent
  • MediumNo Content-Security-Policy header

Illustration of a scan replay. Grades move as fixes land and the re-scan confirms them.

The problem

What breaks in vibe-coded apps

97.6%

of 1,072 vibe-coded sites had at least one vulnerability; 16.1% had a critical one.

Source: Symbiotic Security

400+

exposed secrets, including Supabase service-role keys, across 5,600+ vibe-coded apps.

Source: Escape

~1.5M

API keys exposed at Moltbook after a Supabase key in client JavaScript met missing row-level security.

Source: Wiz via SecurityBrief

How it works

Connect. Verify. Attack. Fix.

  1. 01

    Connect

    Paste your URL. Optionally link GitHub, Supabase or Firebase so we can see the whole stack.

  2. 02

    Verify

    Prove you own it with a DNS record, a file or a meta tag. Nothing beyond a browser-level look happens until you do.

  3. 03

    Attack (safely)

    We run the attacks that actually hit AI-built apps: leaked keys, open tables, broken access, injection. Throttled, scoped and non-destructive.

  4. 04

    Fix

    Every finding comes with a prompt for your AI tool, a ready-to-paste file, or a pull request. Re-scan confirms it.

How scanning stays safe →

Coverage

15 modules. One rampart.

Mapped to the OWASP Top 10:2025 and the OWASP Top 10 for LLM Applications, plus the lawsuit risks scanners ignore.

Fix it your way

A prompt, a file, or a pull request.

Fixes are written for the tool you actually use, scoped to change only what's broken.

Fix a security issue in this app. Do not change anything else.

Problem: the "profiles" table in Supabase has Row Level Security turned off,
so anyone with the public anon key can read every row.

Do this:
1. Enable RLS on public.profiles.
2. Add a policy so users can only select and update their own row:
   using (auth.uid() = id)
3. Make sure no frontend code relies on reading other users' profiles.

When you're done, list the SQL you ran.

Safety model

What we never do

  • Never scan sites you can't prove you own
  • Never download your users' data
  • Never store your secrets
  • Never run destructive payloads
  • Never keep hammering if your app starts erroring
Read our Responsible Scanning Policy →

Pricing

Start free. Upgrade when you launch.

Free

See what an attacker sees.

$0 forever

  • 1 project, 1 verified web target
  • Passive Quick Check (5/day)
  • Weekly passive monitor
  • Top 3 fix prompts
  • 30 days of score history
Start free

Builder

For your first real launch.

$29 /month

  • 3 projects
  • 30 Standard scans/mo (authenticated + repo + backend)
  • Daily passive monitoring
  • Every fix prompt + Fix Pack
  • Email alerts
Choose Builder

Pro

Most popular

Continuous red teaming.

$79 /month

  • 10 projects
  • 60 Deep scans/mo (injection, AI/LLM, write tests)
  • Deploy-triggered scans
  • Fix PRs on GitHub
  • MCP, API & GitHub Action
  • Slack, Discord, webhooks
  • PDF reports + Trust Page
Choose Pro

Agency

Every client app, one rampart.

$249 /month

  • 50 projects
  • Client workspaces + client viewers
  • White-label reports & Trust Pages
  • 5 seats included
  • Everything in Pro
Choose Agency

One-time

Launch Audit · $99

One Deep + Lawsuit-risk scan, a Launch Readiness Report PDF, and 30 days of re-tests while you fix. Fully refundable until the scan starts.

Book a Launch Audit

FAQ

Questions, answered.

Is this a pentest?

No. It's automated testing that catches the most common, most damaging issues. For high-risk apps we still recommend a human pentest.

Will scanning break my app?

The free check only reads what any visitor's browser can see. Deeper tests are throttled to 5 requests a second, use non-destructive payloads, and stop automatically if your app starts returning errors. Write tests are off by default and clean up after themselves.

Why do I have to verify ownership?

Because attacking a site you don't own is illegal and harmful. Verification keeps Emerald Red Team from being used against anyone else's app.

Do you see my users' data?

We're designed not to. Data-exposure checks count records instead of downloading them, and evidence is redacted before we store it. Discovered secrets are stored only as a fingerprint and a masked value.

Which builders do you support?

Anything with a URL. We have specific checks for Lovable, Bolt, Replit, Cursor, v0, Base44, Claude Code, Windsurf, Supabase, Firebase, Vercel and Netlify.

What does “lawsuit risk” mean?

Things that get small apps demand letters: tracking before consent, accessibility barriers, missing legal pages and dark patterns. They're risk signals, not legal advice.

Can my AI tool fix the issues?

Yes. Each finding includes a prompt written for your tool (Lovable, Cursor, Claude Code and more). Pro plans can open GitHub pull requests directly, and our MCP server lets agents pull findings themselves.

Does a good grade mean my app is secure?

No. Automated testing finds common and high-impact issues. It can't prove an app is secure and isn't a substitute for a professional penetration test.

Automated testing finds common and high-impact issues. It can't prove an app is secure and isn't a substitute for a professional penetration test.

Find it before they do.

Scan my app — free