𝗛𝗶𝗱𝗶𝗻𝗴 𝗶𝘀 𝗡𝗼𝘁 𝘁𝗵𝗲 𝗦𝗮𝗺𝗲 𝗮𝘀 𝗦𝗲𝗰𝘂𝗿𝗶𝗻𝗴

एक गैर-इंजीनियर कार्यकारी (executive) ने हाल ही में दो दिनों में एक B2B SaaS बनाया। उन्होंने सब कुछ लिखने के लिए AI का उपयोग किया। उत्पाद काम करता है। ग्राहक इसका उपयोग करते हैं। फीचर्स तेज़ी से शिप होते हैं।

फिर मुझे इंफ्रास्ट्रक्चर की जिम्मेदारी मिली। मेरा काम उस कोड में जोखिमों को ढूंढना है जो पहले से ही प्रोडक्शन में चल रहा है।

मुझे एक बड़ी सुरक्षा खामी मिली। API key सीधे सोर्स कोड में हार्डकोड की गई थी।

मैंने कार्यकारी को बताया कि यह खतरनाक है। उन्होंने इसे तुरंत ठीक कर दिया।

की (key) कोड से हट गई थी, लेकिन अब यह सेटअप स्टेप के रूप में README फ़ाइल में थी। सीक्रेट कोड से हटकर डॉक्यूमेंटेशन में चला गया था। यह अभी भी रिपॉजिटरी के अंदर ही था। वास्तव में अब इसे ढूंढना और भी आसान था।

मैंने फिर से समस्या समझाई। इस बार, उन्होंने की (key) को डेटाबेस में स्थानांतरित कर दिया।

यह प्रगति जैसा लगा। की (key) रिपॉजिटरी से बाहर थी। लेकिन जब मैंने डेटाबेस की जांच की, तो की (key) वहां प्लेनटेक्स्ट (plaintext) में थी। कोई एन्क्रिप्शन नहीं था। डेटाबेस एक्सेस रखने वाला कोई भी इसे पढ़ सकता था।

की (key) तीन बार स्थानांतरित हुई:

स्थान बदल गया, लेकिन सुरक्षा में सुधार नहीं हुआ। वे सीक्रेट को केवल छिपा रहे थे, उसे सुरक्षित रूप से गुप्त (conceal) नहीं बना रहे थे।

छिपाने (Hiding) का अर्थ है किसी चीज़ को नज़र से दूर रखना। सुरक्षित रूप से गुप्त बनाने (Concealing) का अर्थ है उसे हमलावर के लिए बेकार बना देना।

सॉफ्टवेयर में, आपको इन नियमों का पालन करना चाहिए:

ऐसा तब भी हुआ जब कार्यकारी ने उपलब्ध सबसे उन्नत AI मॉडल का उपयोग किया था।

AI आपको ऐसा कोड देने के लिए बनाया गया है जो चलता है। यदि आप इसे अन्यथा नहीं बताते हैं, तो यह खुशी-खुशी ऐसा कोड लिख देगा जिसमें प्लेनटेक्स्ट सीक्रेट शामिल हो। AI क्षमता प्रदान करता है, लेकिन यह स्वचालित रूप से सुरक्षा प्रदान नहीं करता है।

बुद्धिमत्ता तभी सुरक्षा बनती है जब आप जानते हैं कि क्या सुरक्षित करना है।

यदि आपको लगता है कि आपने केवल स्थान बदलकर सुरक्षा की कमी (security hole) को ठीक कर दिया है, तो रुकिए। खुद से पूछें:

एक सीक्रेट का स्थान सही होना चाहिए, न कि केवल अदृश्य।

Source: https://dev.to/jun_uen0/playing-hide-and-seek-with-an-api-key-our-cfos-claude-code-kept-hiding-job

Optional learning community: https://t.me/GyaanSetuAi