FixVibe

// docs / security guides / v0 checklist

v0 security checklist: 22 items for Next.js

v0 generates React + Tailwind + shadcn/ui components and full Next.js apps for Vercel. This checklist targets v0-specific risks: design iterations that re-add dangerouslySetInnerHTML, exported codebases that lose middleware, Server Actions that skip auth verification, and environment variables that have to be set again once the code lives in your own repo. 22 items across secrets, database, auth, headers, deployment, and v0-specific gotchas.

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

रहस्य और API कुंजियाँ (4 आइटम)

v0 संपादक में env vars को अच्छी तरह से संभालता है लेकिन निर्यात किए गए रेपो को वह संरचना विरासत में नहीं मिलती है।

  1. PRE — After exporting, audit all NEXT_PUBLIC_ vars in the exported .env. क्लाइंट बंडल में NEXT_PUBLIC_ से पहले लगा हुआ कुछ भी भेजा जाता है। पुष्टि करें कि वे सुरक्षित हैं (API एंडपॉइंट, केवल कुंजियाँ, सेवा भूमिकाएँ कभी नहीं)।
  2. PRE — Verify .env.local (or .env.*.local) is in .gitignore. जब आप v0 से निर्यात करते हैं, तो निर्यातित रेपो में .gitignore में .env*.local होना चाहिए। इसे सत्यापित करें.
  3. PRE — Check that v0 didn't hardcode Stripe / Anthropic / OpenAI test keys. v0 के निर्यातित कोड में कभी-कभी घटकों में हार्डकोडेड sk_test_* या pk_test_* कुंजियाँ शामिल होती हैं। उत्पादन में तैनात करने से पहले env vars से बदलें।
  4. POST — Run Secrets in JavaScript Bundles on the deployed Vercel Preview. यदि कोई कुंजी बंडल तक पहुंचती है, तो स्कैन उसे ढूंढ लेता है।

डेटाबेस अभिगम नियंत्रण (3 आइटम)

v0 का डेटा फ़ेचिंग आमतौर पर Next.js सर्वर क्रियाओं के माध्यम से रूट किया जाता है। डेटाबेस कनेक्शन स्वयं सर्वर-साइड है, लेकिन RLS नीतियां स्पष्ट होनी चाहिए।

  1. PRE — If using Supabase, enable RLS on every public table. v0 doesn't generate RLS by default. Add ENABLE ROW LEVEL SECURITY to every CREATE TABLE migration.
  2. PRE — Write explicit RLS policies per table and role. प्रत्येक नीति को auth.uid() के माध्यम से उपयोगकर्ता स्वामित्व को मान्य करना होगा।
  3. POST — Run the Supabase Row-Level Security active check on a verified domain. चेक RLS प्रवर्तन की पुष्टि करता है।

प्रमाणीकरण और सत्र (4 आइटम)

v0 प्रमाणीकरण को सक्षम करता है लेकिन सर्वर-साइड सत्यापन को स्वचालित रूप से लागू नहीं करता है।

  1. PRE — Ensure Server Actions use getUser(), not getSession(). सर्वर एक्शन फ़ंक्शन में किसी भी getSession() को await supabase.auth.getUser() से बदलें।
  2. PRE — Verify that magic-link tokens have server-enforced expiry. डिफ़ॉल्ट Supabase 1 घंटा है। यदि v0 का जेनरेट किया गया कोड इसे ओवरराइड करता है, तो डिफ़ॉल्ट पर वापस लौटें।
  3. PRE — Check the sign-in redirect guard. next पैरामीटर / से शुरू होना चाहिए, कभी // से नहीं। v0 में आमतौर पर यह शामिल होता है, लेकिन सत्यापित करें।
  4. POST — Test logout clears the session. साइन इन करें, साइन आउट करें, कुकीज़ का निरीक्षण करें (DevTools → एप्लिकेशन → कुकीज़)। सत्र कुकी साफ़ होनी चाहिए.

HTTP हेडर और CSP (3 आइटम)

v0 के निर्यातित ऐप्स को CSP के लिए मिडलवेयर की आवश्यकता है। संपादक का आंतरिक CSP आगे नहीं बढ़ता।

  1. PRE — Create src/middleware.ts with CSP if it doesn't exist. v0 कभी-कभी बिना मिडलवेयर के निर्यात करता है। यदि गुम है, तो इसे गैर-आधारित CSP के साथ उत्पन्न करें।
  2. संपादक में PRE — Verify CSP includes 'strict-dynamic' and a per-request nonce. v0 का CSP सुरक्षित है लेकिन निर्यातित संस्करण अधूरा हो सकता है।
  3. POST — Run HTTP Security Headers on a Vercel Preview. स्कैन गुम हेडर और फिक्स मार्गदर्शन की रिपोर्ट करता है।

परिनियोजन स्वच्छता (5 आइटम)

v0 आपके GitHub रेपो पर निर्यात करता है और आप Vercel पर तैनात करते हैं। पर्यावरण व्यवस्था आपकी जिम्मेदारी है.

  1. DEPLOY — Verify .env.local is in .gitignore in the exported repo. जाँचने के लिए git ls-files .env* चलाएँ।
  2. DEPLOY — Set production env vars in Vercel Settings → Environment Variables. प्रत्येक का दायरा केवल Proडक्शन तक है। पूर्वावलोकन के साथ कभी भी sk_live_* साझा न करें।
  3. DEPLOY — Audit Vercel build logs for secret echo. जांचें कि आपके बिल्ड कमांड में कोई echo $SECRET या समकक्ष नहीं है।
  4. DEPLOY — Confirm Vercel Preview redeploys work correctly. प्रत्येक पूर्वावलोकन परिनियोजन को एक ताज़ा CSP नॉन उत्पन्न करना चाहिए।
  5. POST — Rotate any test key that reached production. यहां तक कि sk_test_* कुंजियों को उत्पादन प्रदर्शन के बाद घुमाया जाना चाहिए।

v0-विशिष्ट गोचर (3 आइटम)

V0 के संपादक-से-रेपो निर्यात के लिए अद्वितीय पैटर्न:

  1. dangerouslySetInnerHTML can come back during design iterations. Review each exported version and replace any occurrences with sanitized alternatives (like react-markdown with remark).
  2. Exported middleware is sometimes incomplete. v0 के src/middleware.ts निर्यात में CSP या HSTS की कमी हो सकती है। परिनियोजन से पहले सत्यापित करें कि यह पूर्ण है.
  3. Server Actions don't automatically verify auth. v0 अंतर्निहित प्रमाणीकरण जांच के बिना सर्वर क्रियाएँ उत्पन्न करता है। प्रत्येक स्थिति बदलने वाली सर्वर कार्रवाई में मैन्युअल रूप से const { user } = await supabase.auth.getUser() जोड़ें।

अगले चरण

51 क्रॉस-टूल आइटम के लिए general vibe coding security checklist की जाँच करें। फिर CSP, RLS, और सर्वर एक्शन सुरक्षा पर गहन पैटर्न के लिए step-by-step hardening की समीक्षा करें।

// scan your app

पढ़ना बंद करें। अपने ऐप की खामियाँ ढूँढना शुरू करें।

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 टियर - 3 स्कैन/माह, कोई कार्ड नहीं।
  • किसी भी URL के विरुद्ध निष्क्रिय स्कैन - किसी डोमेन सत्यापन की आवश्यकता नहीं है।
  • Cursor, Claude Code, Lovable, Bolt, v0, रेप्लिट के लिए ट्यून किया गया।
  • Coding-agent prompts for code/config findings, plus operator steps for DNS/provider fixes.
मुफ़्त स्कैन चलाएँ →

साइन-अप की ज़रूरत नहीं

v0 security checklist: 22 items for Next.js · FixVibe