FixVibe

// docs / security guides / claude code checklist

Claude Code सुरक्षा चेकलिस्ट: 26 आइटम

Claude Code (एंथ्रोपिक का CLI एजेंट) स्लैश कमांड के माध्यम से संपूर्ण कोडबेस बनाता है, मल्टी-फ़ाइल रिफैक्टरिंग का प्रबंधन करता है, और बैश के माध्यम से /writes फ़ाइलों को पढ़ता है। यह चेकलिस्ट Claude Code के विशिष्ट जोखिमों को लक्षित करती है: कोई डिफ़ॉल्ट सुरक्षा नीतियां नहीं, दर-सीमितता शायद ही कभी जोड़ी जाती है, <code>.claude/CLAUDE.md</code> आपकी सुरक्षा-गार्डरेल फ़ाइल के रूप में, और <code>.env</code> या कैश्ड टोकन का जोखिम। रहस्य, डेटाबेस, प्रमाणीकरण, हेडर, परिनियोजन, और Claude Code-विशिष्ट गोचस में 26 आइटम।

PRE = पूर्व-तैनाती (अपने स्रोत का ऑडिट करें)। DEPLOY = तैनाती के समय। POST = तैनाती के बाद सत्यापन। आइटम संदर्भ FixVibe जहां प्रासंगिक हो वहां category.check-id फॉर्म में आईडी जांचें।

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

Claude Code संपूर्ण स्रोत वृक्षों को पढ़ता है और संपूर्ण फ़ाइलों को आउटपुट करता है। आपके संदर्भ में रहस्य आउटपुट में रहस्य बन जाते हैं।

  1. PRE — Create .claude/CLAUDE.md with security policies. जोड़ें: "Security Rules: क्लाइंट बंडलों में कभी भी service_role कुंजियाँ इनलाइन न करें। हमेशा संवेदनशील संचालन को सर्वर-केवल एंडपॉइंट के माध्यम से रूट करें। सत्यापित करें कि NEXT_PUBLIC_* एनवी संस्करण में केवल सुरक्षित मान हैं (कोई कुंजी नहीं, कोई टोकन नहीं)।" प्रोजेक्ट मार्गदर्शन के लिए Claude Code पढ़ता है .claude/CLAUDE.md
  2. PRE — Ensure .env.local is in .gitignore. Claude Code रिफैक्टर के दौरान गलती से .env.local हो सकता है। क्या ट्रैक किया गया है यह जाँचने के लिए git ls-files .env* चलाएँ। यदि .env.local मौजूद है, तो यह उजागर हो गया है।
  3. PRE — Audit generated API routes for env-var verification. Claude Code कभी-कभी यह सत्यापित करना भूल जाता है कि process.env.SECRET इसका उपयोग करने से पहले सर्वर-साइड मौजूद है। यदि कोई env var गायब है तो रूट तेजी से विफल होने चाहिए, डिफ़ॉल्ट में नहीं आना चाहिए।
  4. PRE — Check the .claude cache directory. Claude Code वार्तालाप संदर्भ को .claude/cache या .claude/history में कैश करता है। ये फ़ाइलें प्रतिबद्ध नहीं होनी चाहिए. .claude/ को .gitignore में जोड़ें।
  5. POST — Run secrets.browser-storage on the deployed app. यदि Claude Code एक कुंजी इनलाइन है, तो निष्क्रिय स्कैन इसे प्रस्तुत बंडल में ढूंढ लेगा।

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

Claude Code स्कीमा तैयार करने में उत्कृष्ट है, लेकिन RLS नीतियों को स्पष्ट निर्देश की आवश्यकता है।

  1. PRE — Instruct Claude Code on RLS in .claude/CLAUDE.md. जोड़ें: "प्रत्येक माइग्रेशन में ALTER TABLE ... ENABLE ROW LEVEL SECURITY और FORCE ROW LEVEL SECURITY शामिल होना चाहिए। प्रत्येक नीति को उपयोगकर्ता के auth.uid() को मान्य करना होगा।"
  2. PRE — Review generated migrations for FORCE ROW LEVEL SECURITY. Claude Code ENABLE उत्पन्न हो सकता है लेकिन FORCE भूल जाओ। FORCE के बिना, टेबल मालिक (माइग्रेशन रनर) RLS को बायपास कर देते हैं। गुम होने पर इसे मैन्युअल रूप से जोड़ें।
  3. DEPLOY — Test RLS enforcement after deploy. Supabase स्टूडियो खोलें, एक टेबल चुनें, पुष्टि करें कि RLS टॉगल ON है। यदि Claude Code का माइग्रेशन FORCE के बिना ENABLE का उपयोग किया जाता है, तो टॉगल ON कहेगा लेकिन प्रवर्तन अधूरा है।
  4. POST — Run the baas.supabase-rls active check. यह एनॉन कुंजी के साथ लिखने का प्रयास करता है। यदि यह सफल होता है, तो RLS अधूरा है। माइग्रेशन और पुनः तैनाती में FORCE जोड़ें।

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

Claude Code प्रमाणीकरण प्रवाह अच्छी तरह से उत्पन्न करता है लेकिन स्वचालित रूप से दर-सीमित नहीं जोड़ता है या सभी टोकन दावों को सर्वर-साइड सत्यापित नहीं करता है।

  1. PRE — Mandate server-only auth verification in .claude/CLAUDE.md. जोड़ें: "हर API रूट जो डेटा को बदलता है, उसे सर्वर पर await supabase.auth.getUser() के साथ उपयोगकर्ता को सत्यापित करना होगा। अनुरोध निकाय से कभी भी getSession() या उपयोगकर्ता ID पर भरोसा न करें।"
  2. PRE — Check generated auth handlers for token expiry. मैजिक-लिंक और पासवर्ड-रीसेट टोकन को सर्वर-प्रवर्तन की आवश्यकता है expires_at। पूछें Claude Code: "एक चेक जोड़ें जो 1 घंटे से अधिक पुराने टोकन को अस्वीकार कर देता है।"
  3. PRE — Verify sign-in redirect guards. next परम रीडायरेक्ट / से शुरू होना चाहिए न कि // से। .claude/CLAUDE.md में जोड़ें: "next पैरामीटर को मान्य करें: / से शुरू होना चाहिए, अगर यह // से शुरू होता है या इसमें कोई प्रोटोकॉल है तो इसे अस्वीकार कर दें।"
  4. POST — Test logout clears cookies. साइन इन करें, साइन आउट करें, एप्लिकेशन का निरीक्षण करें → कुकीज़। सत्र कुकी साफ़ होनी चाहिए. यदि यह बना रहता है, तो लॉगआउट समापन बिंदु स्थिति को नष्ट नहीं कर रहा है।

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

जब तक आप न पूछें Claude Code डिफ़ॉल्ट रूप से मिडलवेयर उत्पन्न नहीं करता है।

  1. PRE — Add middleware request to .claude/CLAUDE.md. शामिल करें: "प्रति-अनुरोध नॉन्स, HSTS, एक्स-फ़्रेम-ऑप्शंस, और एक्स-कंटेंट-टाइप-ऑप्शंस हेडर का उपयोग करके Content-Security-Policy के साथ src/middleware.ts जेनरेट करें।" फिर इसे लागू करने के लिए Claude Code से पूछें।
  2. PRE — Verify src/middleware.ts exists and has CSP. Next.js src/ लेआउट के साथ, मिडलवेयर src/middleware.ts पर होना चाहिए, प्रोजेक्ट रूट पर नहीं। सत्यापित करें कि CSP हेडर में 'strict-dynamic' और एक गैर शामिल है।
  3. POST — Run headers.security-headers on the deployed URL. चेक गुम हेडर की रिपोर्ट करता है और आपके प्लेटफ़ॉर्म के लिए समाधान सुझाता है।

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

Claude Code आपके परिनियोजन प्लेटफ़ॉर्म को कॉन्फ़िगर नहीं करता है - यह आपकी ज़िम्मेदारी है, लेकिन जाँच के लायक है।

  1. DEPLOY — Scope env vars per environment in Vercel (or equivalent). सेटिंग्स → पर्यावरण चर → प्रत्येक रहस्य को केवल Production को निर्दिष्ट करें। पूर्वावलोकन या विकास के साथ कभी भी sk_live_* साझा न करें।
  2. DEPLOY — Audit your CI workflow for secret echo. यदि GitHub क्रियाएँ या अन्य CI में कहीं भी echo $SECRET है, तो उसे हटा दें। बिल्ड लॉग संग्रहीत हैं; लॉग में रहस्यों से समझौता किया जाता है।
  3. DEPLOY — Prefer platform-native secret storage. Vercel की सेटिंग्स → पर्यावरण चर एन्क्रिप्टेड है; GitHub क्रिया रहस्य कुछ भी नहीं होने से बेहतर हैं लेकिन प्लेटफ़ॉर्म-मूल भंडारण से मेल नहीं खाते हैं।
  4. POST — Rotate any key that reached a public build. यदि कोई कुंजी Vercel पूर्वावलोकन URL या किसी सार्वजनिक आर्टिफैक्ट में कुछ सेकंड के लिए भी दिखाई देती है, तो यह समझौता हो गया है। तुरंत घुमाएँ.

Claude Code-विशिष्ट गोचर (5 आइटम)

Claude Code के आर्किटेक्चर और वर्कफ़्लो के लिए अद्वितीय पैटर्न:

  1. Claude Code forks work into subagents. बड़े कार्यों पर, Claude Code एकाधिक उप-एजेंट उदाहरण उत्पन्न कर सकता है, प्रत्येक आंशिक कोडबेस संदर्भ के साथ। यदि एक उप-एजेंट एक गुप्त-सुरक्षित पैटर्न को मतिभ्रम करता है जो दूसरा नहीं करता है, तो असंगतता उभरती है। अंतिम अंतर की सावधानीपूर्वक समीक्षा करें।
  2. Bash operations are unverified. Claude Code सीधे बैश कमांड निष्पादित करता है। git commit -m "fix" सुविधाजनक है, लेकिन यदि कार्यशील निर्देशिका में .env फ़ाइल है और एक ग्लोब में यह शामिल है, तो यह प्रतिबद्ध है। Claude Code प्रतिबद्ध होने से पहले हमेशा git diff --cached की समीक्षा करें।
  3. Context window boundaries create gaps. यदि आपका कोडबेस बड़ा है, तो Claude Code का संदर्भ कई विंडो में विभाजित हो सकता है। एक विंडो की .env.local हैंडलिंग दूसरे से भिन्न हो सकती है। .claude/CLAUDE.md में नीति लागू करें और आउटपुट सत्यापित करें।
  4. Rate-limiting is almost never added without asking. Claude Code कार्यशील CRUD उत्पन्न करता है लेकिन इसमें शायद ही कभी दर-सीमित हेडर या घातीय बैकऑफ़ तर्क शामिल होता है। .claude/CLAUDE.md में स्पष्ट रूप से इसके लिए पूछें।
  5. .claude/CLAUDE.md is read but not enforced. Claude Code आपके .claude/CLAUDE.md को एक संकेत के रूप में पढ़ता है, बाधा के रूप में नहीं। यदि संकेत कार्य के साथ टकराव करता है, तो Claude Code इसे अनदेखा कर सकता है। हमेशा आउटपुट की समीक्षा करें.

अगले चरण

44 क्रॉस-टूल आइटम के लिए general vibe coding security checklist जांचें, फिर परिनियोजन-समय पैटर्न के लिए step-by-step hardening देखें। यदि आप भी Cursor का उपयोग कर रहे हैं, तो Cursor security checklist देखें।

// scan your app

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

एक URL में छोड़ें - FixVibe इस गाइड से प्रत्येक निष्क्रिय जांच और 200+ अन्य को एक मिनट से कम समय में चलाता है। Free, कोई इंस्टाल नहीं, कोई कार्ड नहीं।

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

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

Claude Code सुरक्षा चेकलिस्ट: 26 आइटम — Docs · FixVibe