Also known as: AI-assisted coding, AI-generated code, Lovable-style coding
Definition
Vibe coding is the practice of building applications primarily through AI code generation (Copilot, Cursor, Lovable, Bolt, v0) with minimal manual review. The pattern produces shippable prototypes quickly but introduces a documented class of security bugs, including service_role in client bundles, missing input validation, and IDOR.
Vibe coding is a colloquial term for building software primarily by prompting an AI agent and accepting its output. The phrase emerged around 2024-2025 as tools like Cursor, Lovable, Bolt, and v0 made it possible to generate working apps from natural-language prompts. The "vibe" refers to the loose, prototype-first workflow.
Five categories, documented across the 2025-2026 wave of breaches (Lovable, Vercel exposure, Bitwarden incident, Moltbook): service_role keys in client components, Server Actions that trust user IDs from form payloads (IDOR), missing Zod validation on inputs, unsigned or unverified webhook handlers, and tables with RLS disabled. Each is the AI's default-pattern bias: the easiest code that runs is also the least secure.
Audit-first, then harden. The migration playbook walks four phases: audit the data access layer (find every Supabase client instantiation and verify which key it uses), audit Server Actions for user-ID-from-payload patterns, verify every webhook handler does signature verification, and enable RLS deny-all on every table before adding policies one at a time. Most vibe-coded apps need two to four days of audit work before production-ready.