FixVibe

// docs / security guides / bolt.new checklist

Bolt.new security checklist: 23 items before ship

Bolt.new (StackBlitz WebContainer) runs your dev environment in the browser, generates full-stack JS in minutes, and publishes to Bolt hosting by default or to Netlify (Bolt docs). This checklist targets Bolt-specific risks: secrets that were safe in the dev container leak once the project is exported, Express CORS defaults are permissive, session cookies need explicit HttpOnly flags, and credentials pasted into the terminal or chat are hard to take back. 23 items across secrets, database, auth, headers, deployment, and Bolt-specific gotchas.

PRE = pre-deploy (audit your source). DEPLOY = at deploy time. POST = post-deploy verification.

Segreti e chiavi API (5 articoli)

Il WebContainer di Bolt viene eseguito nel browser; l'esportazione in GitHub o Netlify sposta i segreti dal contenitore isolato al repository pubblico.

  1. PRE — Never paste service-role keys into the Bolt terminal or chat. Anything you paste there is hard to take back. Keep keys in .env or your host's environment settings instead.
  2. PRE — Create a .env file, never hardcode secrets in code. Il contenitore di sviluppo di Bolt isola bene .env, ma quando esporti in GitHub, .env deve essere in .gitignore.
  3. PRE — Confirm .gitignore excludes .env, .env.local, .env.*.local. Bolt di solito lo supporta correttamente, ma verificalo prima dell'esportazione.
  4. DEPLOY — Set secrets in Netlify Environment Variables, not in code. Netlify → Impostazioni sito → Crea e distribuisci → Ambiente. Aggiungi lì le tue chiavi, con ambito Production.
  5. POST — Run Secrets in JavaScript Bundles on the deployed URL. Se una chiave ha raggiunto la distribuzione Netlify, la scansione la troverà.

Controllo dell'accesso al database (3 articoli)

Bolt solitamente ponteggi con Supabase o Convesso. Entrambi hanno modalità di apertura predefinita che necessitano di policy esplicite.

  1. PRE — If using Supabase, enable RLS on every public table. Bolt's scaffold might not include ENABLE ROW LEVEL SECURITY or policies. Add both in the migration.
  2. PRE — Write policies that validate user ownership. Ogni politica dovrebbe controllare auth.uid() = user_id o equivalente. Le policy generate da Bolt a volte non riescono a cogliere questo aspetto.
  3. POST — Run a FixVibe scan on the deployed app. Check the Supabase Row-Level Security result: it shows any table an anonymous visitor can read with your public key.

Autenticazione e sessioni (4 articoli)

Bolt genera autenticazione Express o Next.js. Il rischio risiede nella configurazione dei cookie e nella convalida dei token.

  1. PRE — Ensure session cookies are HttpOnly; Secure; SameSite=Lax. Bolt a volte genera cookie senza questi flag. Verificali o aggiungili manualmente.
  2. PRE — Check Bolt's generated auth handlers for server-side token verification. Se viene utilizzato getSession(), sostituirlo con ricerca backend verificata.
  3. PRE — Verify the sign-in redirect guard. Il parametro next deve iniziare con /, mai //. Bolt a volte lo salta; aggiungerlo manualmente se necessario.
  4. POST — Test logout clears the session cookie. Accedi, esci, controlla i cookie. Il cookie di sessione deve essere cancellato al logout.

HTTP intestazioni e CSP (3 elementi)

Gli scaffold Express/Next.js di Bolt raramente includono CSP. Gli host statici necessitano di una configurazione esplicita.

  1. PRE — Add middleware for security headers if using Express. L'impalcatura Express di Bolt necessita di middleware manuale per CSP, HSTS, X-Frame-Options.
  2. PRE — If using Next.js, ensure src/middleware.ts exists with CSP. Bolt potrebbe supportarlo, ma verificare che la logica CSP nonce sia corretta.
  3. POST — Run HTTP Security Headers on the deployed Netlify URL. La scansione segnala intestazioni mancanti.

Igiene della distribuzione (5 articoli)

Bolt esporta in GitHub e Netlify. Entrambi necessitano di un'attenta configurazione.

  1. DEPLOY — Ensure Bolt exports include .gitignore with .env listed. Verificare che il repository GitHub non contenga file .env dopo l'esportazione.
  2. DEPLOY — Set Netlify env vars via Site settings, not GitHub secrets. Le variabili d'ambiente di Netlify sono crittografate quando sono inattive; I segreti GitHub sono progettati per CI, non per la distribuzione.
  3. DEPLOY — Audit the Netlify deploy log for secret echo. Se il registro di compilazione stampa qualsiasi env var, è compromesso.
  4. DEPLOY — Configure Netlify build command to not run echo $SECRET. Controlla package.json e crea script per qualsiasi output segreto.
  5. POST — Verify Netlify redirect for HTTP → HTTPS exists. Bolt le app dovrebbero forzare HTTPS. Netlify può imporlo tramite le impostazioni.

Bolt trucchi specifici (3 articoli)

Modelli univoci per il flusso WebContainer-to-export di Bolt:

  1. WebContainer isolation is lost on export. L'ambiente di sviluppo di Bolt isola in modo sicuro i segreti, ma una volta esportato in GitHub, sei responsabile della disciplina .gitignore e env-var.
  2. Treat the terminal and chat like a shared log. Don't paste credentials into either; put them in .env or your host's environment settings.
  3. L'impalcatura Express di Express cors({ origin: '*' }) is the default. Bolt spesso include CORS permissivo. Sostituisci con cors({ origin: 'https://yourdomain.com', credentials: true }).

Prossimi passi

Esamina general vibe coding security checklist per 51 elementi cross-tool. Vedere step-by-step hardening per CSP, RLS e modelli di autenticazione.

// scansiona la tua app

Smetti di leggere. Inizia a trovare le falle nella tua.

Drop in a URL — FixVibe runs every passive check from this guide plus the rest of its 230+ passive checks, usually in under a minute. Free, no install, no card.

  • Free tier — 3 scansioni / mese, senza carta.
  • Scansioni passive contro qualsiasi URL — nessuna verifica di dominio.
  • Ottimizzato per Cursor, Claude Code, Lovable, Bolt, v0, Replit.
  • Coding-agent prompts for code/config findings, plus operator steps for DNS/provider fixes.
Bolt.new security checklist: 23 items before ship · FixVibe