अपने secrets को AI-जनित कोड और Git commits से बाहर कैसे रखें
VCA Newsroom द्वारा
AI कोडिंग एजेंट तेज़ हैं, पर उनमें एक अंधा बिंदु है: वे बेझिझक किसी API key को किसी फ़ाइल में चिपका देते हैं, किसी token को किसी log में दिखा देते हैं, या ऐसे .env को commit कर देते हैं जिसे आप लोकल ही रखना चाहते थे। टर्मिनल एक्सेस वाला हर एजेंट — Claude Code, Cursor, Gemini CLI, Codex — आपकी shell config और प्रोजेक्ट फ़ाइलें भी पढ़ सकता है, और ठीक यहीं credentials छिपे रहते हैं। यह गाइड एक व्यावहारिक, परतदार सेटअप के ज़रिए ले चलती है ताकि आपके secrets AI-जनित कोड से और आपके Git इतिहास से बाहर रहें।
AI के साथ यह और भी ज़्यादा क्यों मायने रखता है
लीक हुई key सॉफ़्टवेयर की सबसे आम और सबसे महँगी गलतियों में से एक है, और AI असिस्टेंट दो तरह से जोखिम बढ़ा देते हैं। पहला, वे कोड तेज़ी से जनरेट करते हैं, इसलिए एक hardcoded key आपके ध्यान देने से पहले ही दर्जन भर फ़ाइलों में पहुँच सकती है। दूसरा, एजेंट संदर्भ (context) को आक्रामक रूप से ग्रहण करते हैं — जैसा कि एक secret-management लेख कहता है, आपकी shell config में keys का उल्लेख होना चाहिए, उनका होना नहीं, क्योंकि एजेंट वह सब पढ़ सकता है जो आपकी dotfiles उजागर करती हैं। समाधान टूल पर अविश्वास करना नहीं है; समाधान यह सुनिश्चित करना है कि उसके पाने के लिए कोई plaintext secret हो ही नहीं।
चरण 1: secrets को environment variables में रखें, कभी कोड में नहीं
बुनियादी नियम: कोई भी API key, password, या token कभी भी source code में एक literal string के रूप में नहीं दिखना चाहिए। उन्हें अपने प्रोजेक्ट रूट में एक .env फ़ाइल में रखें और runtime पर पढ़ें।
# .env — never committed
ANTHROPIC_API_KEY=sk-ant-...
DATABASE_URL=postgres://...
// app.js — reads from the environment, no secret in the file
const apiKey = process.env.ANTHROPIC_API_KEY;
इस तरह, आप (और आपका AI एजेंट) जो कोड संपादित करते हैं उसमें secret का सिर्फ़ नाम होता है, उसका मान कभी नहीं।
चरण 2: सुनिश्चित करें कि .env कभी commit न हो सके
एक भी secret लिखने से पहले इसे .gitignore में जोड़ें:
.env
.env.local
*.env
इसके बजाय खाली placeholders वाली एक .env.example commit करें, ताकि सहयोगियों को पता चले कि कौन-से variables सेट करने हैं:
ANTHROPIC_API_KEY=
DATABASE_URL=
अगर आप पहले ही एक असली .env commit कर चुके हैं, तो उसे किसी नए commit में हटाना पर्याप्त नहीं है — वह इतिहास में बना रहता है। उजागर हुई key को तुरंत rotate करें और उसे समझौता हो चुका (compromised) मानें।
चरण 3: GitHub push protection चालू करें
GitHub का push protection आपके push करते समय commits को स्कैन करता है और अगर उसे कोई secret मिलता है तो push को रोक देता है, यानी लीक रिमोट तक पहुँचने से पहले ही रुक जाता है। यह AWS, OpenAI, Stripe जैसे प्रदाताओं और कई और के 200+ secret पैटर्न पहचानता है, और 2026 के अपडेट्स ने डिफ़ॉल्ट रूप से रोके जाने वाले पैटर्न को और बढ़ा दिया। यह public repositories के लिए मुफ़्त है — इसे अपने repo की Settings → Code security में चालू करें। इसे उस पल के लिए एक seatbelt की तरह समझें जब कोई एजेंट (या आप) चूक जाए।
चरण 4: एजेंट्स को आपकी shell config बटोरने न दें
shell एक्सेस वाले एजेंट .zshrc, .bashrc, और .zshenv पढ़ सकते हैं। अगर आपने सुविधा के लिए वहाँ keys export कर रखी हैं, तो एजेंट उन्हें देख सकता है। मशीन-व्यापी secrets को अपनी dotfiles से बाहर रखें — shell स्टार्टअप पर plaintext export करने के बजाय उन्हें ज़रूरत पड़ने पर किसी secrets manager या OS keychain से लोड करें।
चरण 5: दायरा सीमित करें और rotate करें
दो आदतें कुछ लीक होने पर नुकसान को सीमित कर देती हैं, यह सलाह OpenAI की API key safety guide में भी दोहराई गई है:
- न्यूनतम विशेषाधिकार (least privilege): हर key को उतना ही संकीर्ण दायरा दें जितनी उसे ज़रूरत है, और हर प्रोजेक्ट तथा environment के लिए अलग keys इस्तेमाल करें ताकि एक लीक सब कुछ उजागर न कर दे।
- नियमित rotate करें: keys को एक तय शेड्यूल पर rotate करें और जैसे ही उजागर होने का शक हो, तुरंत। एक rotate की गई key किसी सेंध को एक गैर-घटना (non-event) में बदल देती है।
एक त्वरित चेकलिस्ट
इससे पहले कि आप किसी एजेंट को किसी repo पर खुली छूट दें:
- secrets
.envमें रहें,process.envके ज़रिए पढ़े जाएँ — कभी hardcoded न हों। .env.gitignoreमें हो; सिर्फ़.env.examplecommit हो।- रिमोट पर push protection चालू हो।
- shell dotfiles में कोई plaintext keys न हों।
- keys का दायरा संकीर्ण हो और एक शेड्यूल पर rotate होती रहें।
एक बार सेट हो जाने के बाद इनमें से कोई भी चीज़ आपको धीमा नहीं करती — और यह आपको अपने AI एजेंट को कहीं ज़्यादा काम सौंपने देती है, वह भी कहीं कम चिंता के साथ।
SOURCES
Auto-generated by Vibe Coding Academy on June 20, 2026, grounded in the real sources linked above. We review for accuracy, but please verify time-sensitive details against the primary sources.
Build Blueprint · Creator
कोई आइडिया है? वह स्पेक पाएँ जिससे आपका AI एजेंट बना सके।
किसी भी प्रोडक्ट का वर्णन करें और एक संपूर्ण बिल्ड ब्लूप्रिंट पाएँ — स्टैक, डेटा मॉडल, स्क्रीन, API और Claude Code या Cursor के लिए तैयार-पेस्ट प्रॉम्प्ट। PDF में एक्सपोर्ट करें।
ब्लूप्रिंट खोलें ▸