AppLedger › Guides › Is my vibe-coded app secure?

Is your AI-built app secure? Check it free, in plain English.

Most apps built with AI ship with at least one security problem. Here is what usually goes wrong, and how to find out about yours in two minutes, without being a developer.

STRIPE_KEY = "sk_live_…" pyyaml==5.3 2 to fix
Short answer

Maybe not yet. AI tools write working code fast, but they often leave keys in the code, use outdated packages and skip basic protections. Run an independent check before you share the app, fix what it finds, and treat any key that was ever in the code as leaked.

What the research says

91%of 200 deployed apps built with Claude Code and Lovable had at least one vulnerability. arXiv, 2026
45%of AI-generated code samples contained an OWASP Top 10 flaw across 100+ models. Veracode, 2025
2,000+publicly reachable vibe-coded apps exposed sensitive data. Red Access, 2026

In the first study, two-thirds of the problems found were rated Critical or High. Most were broken access control, injection and login failures.

The five problems AI-built apps usually have

Keys in the code

Payment, AI or database keys written straight into files, sometimes in the part every visitor downloads.

Outdated packages

Libraries with known, published security holes that attackers scan for.

Unsafe queries

Text typed by users glued into database queries or shell commands.

Login checked in the browser

Anyone who opens the developer tools can skip it.

Open database rules

Tables anyone can read, because access rules were never set.

Based on Wiz's review of vibe-coded apps (2025) and the studies above.

It happens to real apps

In 2025 a researcher scanned 1,645 apps from Lovable's showcase and found 170 projects whose database rules let anyone read data such as names, payment details and API keys (CVE-2025-48757, disputed by Lovable). Lovable has since added its own security scan, and says plainly that it can't guarantee your app will be 100% secure.

Check your app in two minutes

  1. Install the free package: pip install appledger. Or, in Claude Code: claude mcp add appledger -- uvx --from appledger appledger-mcp (needs uv).
  2. Run python -m appledger path/to/your-app, or ask Claude Code: “Is my app safe to share?”
  3. Read the plain-English report, then let your AI tool fix the problems with the ready-made fix request, and check again.

Your source files are sent over HTTPS to our scanner, checked with Trivy and Opengrep, and deleted right after. Prefer your code never leaves your computer? Use --local with the scanners installed. Secret files such as .env are never sent in either mode.

What the report looks like

Fix before sharing

Your code contains a live Stripe payment key

Anyone who can see this file can take payments, issue refunds and read your customers' payment details.

Fix before sharing

Someone could read or change your whole database

Text typed by users goes straight into a database query. Use query parameters instead.

Fix soon

pyyaml is out of date

Version 5.3 has 2 known security problems. Update to 5.4 or newer.

Real output from a sample app with deliberate mistakes. Instead of rule IDs like stripe-secret-token, you get what could happen and what to do.

Why not just ask the AI if it's secure?

You can, and it helps. But an AI reviewing code it wrote can share the blind spots it had when writing it, and it can be talked out of a finding by a misleading comment (Checkmarx, 2025). Rule-based scanners give the same answer every time, so the AI doesn't grade its own homework.

What a scan can't tell you

Whether your login and permission logic is right (can one user see another's data?), database access rules set in Supabase or Firebase dashboards, and settings of the live site. Check those separately; for Supabase, use its Security Advisor.

Questions

Is vibe coding safe?

Building with AI is fine, but shipping without a check is not. Independent studies find security problems in most AI-built apps, usually the same few: leaked keys, outdated packages, unsafe database queries and missing access rules.

I found a key in my code. Is moving it to an environment variable enough?

No. Treat any key that was ever in your code or Git history as leaked. Create a new key at the provider, revoke the old one, then store the new one outside the code.

Do you keep my code?

No. Source files are sent over HTTPS, scanned, and deleted right after. In local mode your code never leaves your computer.

Is a clean result a guarantee?

No. Scanners catch common, recognisable problems. They can't judge whether your login and permission logic is right, or check settings that live outside the code, such as database access rules.

Know before you share.

Start free

Related guides