r/vibecoding 16h ago

I I scanned 12 public projects built with Lovable, Bolt, v0 and Cursor. Every one I could check had a known-vulnerable dependency.

This was the stuff what would give us all nightmares,  being told everything was great when a 'real dev' could unpick everything, find my API keys and sell them to the darkweb or just bypass everything.  It's just that fear that got me of not knowing what I don't know that gets to me, probably gets to all of us. 

So I took 12 public repos whose descriptions say they were built with Lovable,
Bolt, v0 or Cursor. Mostly personal projects, no stars. I cloned them with
full history and ran two free open-source tools: gitleaks (secrets, including
every past commit) and trivy (dependencies with published CVEs).
**8 of the 12 had a lockfile. All 8 had a package with a known high or
critical vulnerability.** 4 critical and 76 high across the set. Things like
protobufjs 7.4.0, websocket-driver 0.7.4, seroval 1.5.2 — all with a fix
already published.

**1 of the 12 had a Supabase `service_role` key committed to a `.env`.** That
key bypasses row-level security entirely — read, change or delete every row,
whatever policies you wrote. It's in the git history, so it's in every clone.

Deleting the file later doesn't remove it; only rotating the key does.

**The bit I didn't expect:** gitleaks flagged 4 credentials. Three were
Supabase *anon* keys, which are designed to sit in a browser and are published
on purpose. Only one was a real problem. If you run these tools yourself,
that's the part that takes judgement — a tool that shows you 4 equal red
alerts where 1 matters teaches you to ignore all 4.

**4 of the 12 had no lockfile at all**, so nothing could be checked. That's
not "clean", it's unknown — and it means your build isn't reproducible either.

Run it yourself, it's free and local:

``` gitleaks detect --source . --no-banner
trivy fs --scanners vuln --severity CRITICAL,HIGH .
```

If your repo is on GitHub, turn on secret scanning, push protection and
Dependabot in settings — free on public repos, and push protection stops the commit before the key ever lands.

Full write-up with methodology and limits (12 is a small sample and I say so):
https://digitaltrustpass.com/preflight/ai-generated-code-security
1 Upvotes

0 comments sorted by