Home / Bolt.new Security Audit
Security guide · 2026

Bolt.new Security Audit

Auth middleware gaps, exposed credentials, rate limiting, and missing security headers — what Bolt builds and what it leaves unconfigured.

OWASP Top 10 CWE Top 25 CVSS v3 CVE-2025-48757
In brief: Bolt.new builds full-stack applications from natural language prompts — fast. What it does not do is configure the security layer. Rate limiting, CSRF protection, input validation, security headers, and database row-level permissions all require manual implementation after Bolt generates the code. The Cloud Security Alliance documented 20 security incidents in AI-powered applications in February 2026, the majority preventable with under an hour of configuration work once identified. Average Bolt app score on first scan: 44/100. Free scan: launchreadycode.com.

Why Bolt.new Apps Need a Security Audit

Bolt.new is designed to get a working application in front of users as fast as possible. That goal is in direct tension with security configuration, which slows down the build loop and produces no visible output. The result: Bolt generates a deployable app, and the security layer is simply not there.

This is not a criticism of Bolt.new. It is the expected behaviour of any AI code generator optimised for speed. The problem is that many founders deploy without running any audit, assuming the generator handles security automatically. It does not. For a complete pre-launch checklist, see our Bolt.new security guide.

91% of Bolt.new apps return at least one P0 (critical) finding on their first Launch Readiness scan. The most common: missing authentication middleware on API routes that should require login.

What a Bolt.new Security Audit Checks

Every audit covers four dimensions. Each maps to a specific set of checks with documented severity scoring.

1. Security

The largest dimension. Checks every protected API route for authentication middleware, scans the client bundle and Git history for committed secrets (API keys, service_role keys, database credentials), verifies that rate limiting exists on /login, /signup, and /reset-password, confirms CSRF protection on state-changing routes, and validates HTTP security headers — Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, and Strict-Transport-Security. Input validation checks confirm that server-side validation exists, not just client-side form logic.

2. Reliability

Bolt-generated code often has happy-path error handling and no fallback for service failures. Reliability checks cover: uncaught promise rejections that crash the server process, missing try/catch around database queries, no graceful degradation when Supabase or external APIs are unavailable, and error responses that leak stack traces, internal file paths, or database schema to the browser.

3. Performance

AI code generators are prone to N+1 query patterns — a loop that makes one database call per item instead of a single bulk query. Performance checks include: N+1 query detection, missing database indexes on foreign keys and columns used in WHERE clauses, oversized JavaScript bundles from unoptimised dependency imports, and synchronous blocking operations on the request thread.

4. Monitoring

The most commonly skipped dimension. Bolt apps frequently ship to production with no error tracking, no uptime monitoring, and no alerting. Monitoring checks confirm whether an error tracking integration (detected by outbound request signatures) is present and configured, whether uptime checks are in place, and whether logging captures enough context to debug production incidents without attaching a debugger.

What Bolt.new Builds vs. What It Leaves Unconfigured

The distinction between what Bolt generates and what it skips is where every security finding lives.

Bolt builds thisBolt does not configure this
UI components and routingAuthentication middleware on API routes
Database schema and queriesSupabase RLS policies on tables
API endpointsRate limiting on auth and sensitive endpoints
Form validation (client-side)Server-side input validation and sanitisation
Environment variable referencesCorrect client/server variable separation
Deployment configurationHTTP security headers (CSP, HSTS, X-Frame-Options)
Auth flow structureCSRF protection on state-changing routes
Error responsesError tracking and production monitoring

Most Common Bolt.new Findings by Severity

FindingSeverityCWE
Auth middleware missing on protected API routes
Routes that should require login accept unauthenticated requests. Any caller can read or modify other users' data.
P0 CWE-306
Credentials in client bundle or Git history
API keys, database credentials, or service_role keys appearing in files accessible to the browser or committed to the repository.
P0 CWE-312
Supabase RLS disabled (CVE-2025-48757 class)
Tables without RLS allow any user with the public anon key to read and write all rows. The anon key is in the client bundle by design.
P0 CWE-284
No rate limiting on auth endpoints
/login, /signup, /reset-password accept unlimited requests per IP. Brute-force and credential-stuffing attacks are unrestricted. OWASP A07:2021.
P1 CWE-307
CSRF protection absent
State-changing routes accept cross-origin requests without validating origin or using CSRF tokens. Attackers can trigger actions on authenticated users' behalf.
P1 CWE-352
HTTP security headers not configured
Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, and Strict-Transport-Security absent. Opens the door to clickjacking and XSS.
P1 CWE-693
Server-side input validation missing
Validation exists only in client-side form logic. Any direct API call bypasses it — allowing oversized payloads, injection characters, and malformed data.
P2 CWE-20
No error tracking or monitoring
Production errors are invisible. You learn about outages from support tickets, not alerts. No error tracking integration detected.
P2 CWE-778

CVE-2025-48757: The Database Exposure Class That Affects Bolt Too

CVE-2025-48757 is frequently cited as a Lovable vulnerability. The root cause — Supabase tables with RLS disabled — is equally present in Bolt-generated apps. Bolt creates Supabase schemas without enabling row-level security. The Supabase anon key is present in the client bundle. The result is identical: a direct GET request to the Supabase REST endpoint returns all data in unprotected tables, with no authentication required.

170+ apps across vibe-coding platforms were found to be exposing user data through this class of misconfiguration. Bolt apps using Supabase are in the same exposure category as Lovable apps.

91%
First scans return at least one P0 finding
78%
CSRF protection absent on state-changing routes
78%
HTTP security headers completely unconfigured
44/100
Average first-scan score for Bolt apps

The SQL to check your Bolt app's RLS status in Supabase:

-- Check your Bolt app's Supabase RLS status:
SELECT schemaname, tablename, rowsecurity
FROM pg_tables WHERE schemaname = 'public'
ORDER BY rowsecurity, tablename;

-- Any row showing rowsecurity = false is publicly accessible
-- Fix: ALTER TABLE your_table ENABLE ROW LEVEL SECURITY;

For a fully automated check, use the free Supabase RLS Checker — enter your Supabase project URL and get a table-by-table RLS status report in seconds.

How to Run a Bolt.new Security Audit

Three options depending on how much depth you need.

Option 1: Free Launch Readiness Score

URL-based scan. No code access, no signup required. Enter your app's URL at launchreadycode.com and get a Launch Readiness Score out of 100 in under 60 seconds. The score covers all four dimensions and flags the highest-severity findings. This is the right starting point before launch.

Option 2: Launch Readiness Audit Report — $499

The full diagnostic. All findings, each with CVSS v3 severity, file-and-line references, and a specific recommended fix. Delivered in under 2 minutes. Includes a prioritised fix roadmap with time estimates, a benchmark comparison against 200+ audited vibe-coded apps, and a branded PDF report. The LRA is the definitive answer to "what does my Bolt app actually need to be production-safe?"

Option 3: Manual Supabase RLS Check

If your most urgent concern is the CVE-2025-48757 class of database exposure, run the SQL above in your Supabase SQL editor. Any table showing rowsecurity = false is world-readable. Fix: ALTER TABLE your_table ENABLE ROW LEVEL SECURITY; then write owner-scoped policies. This addresses one P0 finding — a full audit covers the other seven patterns in the findings table.

Pre-Launch Security Checklist for Bolt.new Apps

Six steps that address the most common critical and high-severity findings before your app reaches real users.

These six steps address the gaps that Bolt.new does not configure by default. They are all independent of Bolt — you implement them in your deployment layer, your hosting configuration, and your Supabase dashboard. The free scan tells you exactly which of these apply to your app.

Scan My Bolt App — Free

URL-based scan. No code access. No signup. Free Launch Readiness Score in 60 seconds — security, reliability, performance, monitoring.

Scan my Bolt app — free

Frequently Asked Questions

Is Bolt.new secure?

Bolt.new is a capable builder that generates production-deployable applications. It does not configure the security layer: authentication middleware, rate limiting, CSRF protection, HTTP security headers, and server-side input validation require manual implementation after Bolt generates the code. The Cloud Security Alliance documented 20 security incidents in AI-powered applications in February 2026 alone. All of these gaps are standard hardening steps, fixable once identified.

What does a Bolt.new security audit check?

An LRC Bolt.new security audit covers four dimensions: Security (auth middleware, credential exposure, CSRF, rate limiting, HTTP headers, input validation), Reliability (error handling, uncaught exceptions, graceful degradation), Performance (N+1 queries, missing indexes, bundle bloat), and Monitoring (error tracking, uptime checks, alerting). Methodology: OWASP Top 10, CWE Top 25, CVSS v3 severity scoring.

What are the most common Bolt.new security issues?

In order of severity: missing authentication middleware on API routes (P0), credentials in the client bundle or Git history (P0), Supabase RLS disabled — the CVE-2025-48757 class (P0), no rate limiting on auth endpoints (P1), CSRF protection absent (P1), HTTP security headers not configured (P1), server-side input validation missing (P2), no production error tracking (P2).

Does Bolt.new need a database security check?

Yes. Bolt apps that use Supabase have the same RLS exposure as Lovable apps. Supabase ships with RLS disabled by default on every table. Bolt-generated schemas do not enable it. Any user with the public anon key — which is in the client bundle by design — can read all data in unprotected tables. Use the free Supabase RLS Checker or run SELECT tablename, rowsecurity FROM pg_tables WHERE schemaname = 'public'; directly in your Supabase SQL editor.

How much does a Bolt.new security audit cost?

A free Launch Readiness Score is available at launchreadycode.com — URL-based, no signup, 60 seconds. The full Launch Readiness Audit Report is $499 one-time, delivered in under 2 minutes. Ongoing monitoring starts at $149/month. Code Care DFY Technical Setup ($1,999 setup fee + $2,999/mo) implements every fix with a named engineer reviewing every change before it merges.

Sources: CVE-2025-48757 (NVD / Matt Palmer, May 2025); Cloud Security Alliance AI Application Security Report, February 2026; OWASP Top 10 2021; CWE Top 25 2024; Supabase documentation. This page provides general security guidance, not a certification or guarantee.

Compliance Wing

Security fixed. Now check your compliance.

EU AI Act enforcement is now live — fines up to €15M or 3% of global turnover for undisclosed AI systems. GDPR, SOC 2 foundations, and ISO 27001 foundations are separate obligations your security scan does not cover. One additional scan, 60 checks, 3 minutes. $799 — credited toward full implementation if you need it.

Run Compliance Score — $799 → 7-day money-back · No code access required