बिना सीक्रेट्स लीक किए AI का उपयोग करना
आपको एक एरर मिलता है। आप स्टैक ट्रेस (stack trace) कॉपी करते हैं। आप AI से उसे ठीक करने के लिए कहते हैं। आप भूल जाते हैं कि उस टेक्स्ट में आपका DATABASE_URL और पासवर्ड है। AI चार सेकंड में जवाब दे देता है। अब आपका सीक्रेट एक रिक्वेस्ट लॉग या ट्रेनिंग सेट में है। आप इसे डिलीट नहीं कर सकते।
AI में सीक्रेट्स पेस्ट करना उन्हें किसी सार्वजनिक साइट पर पेस्ट करने जैसा है। आप उन्हें वापस नहीं ले सकते।
मैं कोड शिप करने के लिए हर दिन AI का उपयोग करता हूँ। मैं इससे बचता नहीं हूँ। मैं इसका उपयोग एक थ्रेट मॉडल (threat model) के साथ करता हूँ।
अधिकांश लोग सोचते हैं कि प्रॉम्प्ट एक प्राइवेट चैट है। ऐसा नहीं है। यह एक आउटबाउंड रिक्वेस्ट (outbound request) है।
- फ्री टियर्स अक्सर मॉडल्स को ट्रेन करने के लिए आपके डेटा का उपयोग करते हैं।
- पेड टियर्स आमतौर पर आपके डेटा पर ट्रेन न करने का वादा करते हैं।
- पेड टियर्स भी दुरुपयोग का पता लगाने और मानवीय समीक्षा के लिए लॉग स्टोर करते हैं।
डेटा तीन तरीकों से लीक होता है:
- जो आप पेस्ट करते हैं: कोड स्निपेट्स, कॉन्फ़िग्स, या ट्रेसेस।
- जो टूल्स ऑटो-अटैच करते हैं: खुली हुई फाइलें, रेपो कॉन्टेक्स्ट, या टर्मिनल आउटपुट।
- जो मॉडल वापस भेजता है: PR डिस्क्रिप्शन या लॉग में दोहराए गए सीक्रेट्स।
AI प्रोवाइडर एक भरोसेमंद थर्ड पार्टी है। आप उनके इंटरनल पाइपलाइन्स का ऑडिट नहीं कर सकते। प्रॉम्प्ट बॉक्स को एक अनट्रस्टेड नेटवर्क कॉल (untrusted network call) की तरह समझें।
इन्हें भेजना बंद करें:
- लाइव API keys या टोकन।
.envफाइलों की सामग्री।- प्राइवेट कीज़ या सर्टिफिकेट्स।
- असली ग्राहकों के नाम, ईमेल, या पेमेंट डेटा।
- प्रोप्रायटरी लॉजिक (proprietary logic) जिसे आप ओपन-सोर्स नहीं करेंगे।
इसके बजाय प्लेसहोल्डर्स (placeholders) का उपयोग करें। [API_KEY] या [DB_PASSWORD] का उपयोग करें। AI मास्क के साथ भी उतना ही अच्छा काम करता है।
ये तीन आदतें डालें:
- एक AI ignore फ़ाइल का उपयोग करें।
.envऔर सीक्रेट फ़ोल्डर्स को टूल के कॉन्टेक्स्ट से बाहर रखें। - भेजने से पहले स्कैन करें। पेस्ट करने से पहले अपने टेक्स्ट पर एक सीक्रेट डिटेक्टर चलाएं।
- सीक्रेट्स को एन्क्रिप्टेड रखें। यदि सीक्रेट्स केवल रनटाइम पर मेमोरी में मौजूद हैं, तो आप उन्हें पेस्ट नहीं कर सकते।
आपके विकल्पों का सारांश:
- फ्री/कंज्यूमर: पब्लिक डॉक्यूमेंट्स या अस्थायी स्निपेट्स के लिए उपयोग करें।
- पेड प्रो/टीम: अधिकांश इंजीनियरिंग कार्यों के लिए उपयोग करें। इसमें कॉन्ट्रैक्टुअल सुरक्षा होती है।
- लोकल/सेल्फ-होस्टेड: रेगुलेटेड डेटा के लिए उपयोग करें जिसे आपकी मशीन पर ही रहना चाहिए।
'नो-ट्रेनिंग गारंटी' एक कॉन्ट्रैक्ट है। यह कोई तकनीकी ढाल नहीं है। यह जोखिम को कम करता है लेकिन उसे खत्म नहीं करता।
AI के आपके कोड को छूने से पहले इन चरणों का पालन करें:
- अपने AI टूल्स के लिए एक ignore फ़ाइल जोड़ें।
- जो कुछ भी आप पेस्ट करते हैं, उसे स्कैन करें।
- सभी क्रेडेंशियल्स को प्लेसहोल्डर्स के साथ मास्क करें।
- प्रोप्रायटरी काम के लिए पेड टियर्स का उपयोग करें।
- सीक्रेट्स को प्लेनटेक्स्ट से दूर रखने के लिए KMS का उपयोग करें।
- AI आउटपुट को अपने लॉग्स या कमिट्स में जाने से पहले रिव्यू करें।
चार सेकंड वाला जवाब अभी भी तेज़ है। बस यह आपकी सुरक्षा की कीमत पर नहीं होना चाहिए।
Optional learning community: https://t.me/GyaanSetuAi
