AI ने ७२ तासांत ३०० WordPress प्लगइनमधील त्रुटी (bugs) शोधल्या
AI वेगाने त्रुटी शोधते. ते वेगाने कोड देखील लिहिते. यामुळे प्लगइन डेव्हलपर्ससाठी एक धोकादायक दरी निर्माण होते.
सुरक्षा संशोधकांनी WordPress इकोसिस्टममध्ये ३०० हून अधिक गंभीर 'झिरो-डे' (zero-day) त्रुटी शोधण्यासाठी AI चा वापर केला. त्यांनी हे काम केवळ ७२ तासांत पूर्ण केले.
समस्या 'vibe coding' मध्ये आहे. जेव्हा डेव्हलपर्स LLMs द्वारे तयार केलेला असा कोड वापरतात ज्याचे ते ऑडिट (तपासणी) करू शकत नाहीत, तेव्हा असे घडते. यामुळे एका प्लगइनमध्ये १०० वेगवेगळ्या सुरक्षा समस्या आढळल्या.
AI तुमच्या दोन जुन्या संरक्षणात्मक कवच काढून टाकते: वेळ आणि गोपनीयता (obscurity).
हल्लेखोर आता त्रुटी शोधण्यासाठी AI वापरत आहेत. डेव्हलपर्स कोड लिहिण्यासाठी AI वापरत आहेत. या कोडमध्ये अनेकदा खालील सुरक्षा पायऱ्यांकडे दुर्लक्ष केले जाते:
- Escaping data
- Capability checks
- Nonce validation
सार्वजनिक बग रिपोर्टपासून ते मोठ्या प्रमाणावर त्याचा गैरफायदा घेईपर्यंतचा (mass exploitation) वेळ आता केवळ पाच तास आहे. ही प्रतिक्रिया देण्यासाठी पुरेशी वेळ नाही. ही अशी शर्यत आहे जी तुम्ही हरणारच.
मी हा धडा कठीण अनुभवातून शिकलो. मी एक AI चॅटबॉट प्लगइन बनवले होते. सुरक्षा पुनरावलोकनामध्ये (security review) माझ्या कोडमध्ये ३५ त्रुटी आढळल्या. त्यातील एक HTML injection होती.
मी एक चूक केली. मी AI च्या आउटपुटवर विश्वास ठेवला. मला वाटले की मॉडेलने मजकूर तयार केला आहे, म्हणून तो सुरक्षित असेल. पण तसे नव्हते. मॉडेलच्या आउटपुटमध्ये वापरकर्ते आणि बाह्य साइट्सचा डेटा असतो. तुम्ही त्याला 'अविश्वासार्ह' (untrusted) मानले पाहिजे.
मी माझी कार्यपद्धती बदलली. कोड चालतोय म्हणून तो सुरक्षित आहे असे मी आता मानत नाही. मी AI ने लिहिलेला प्रत्येक भाग तीन क्षेत्रांमध्ये मॅन्युअली तपासतो:
- Input: डेटा सिस्टममध्ये कसा प्रवेश करतो.
- Output: डेटा सिस्टममधून कसा बाहेर पडतो.
- Permissions: कोण कृती करू शकते.
आउटपुटच्या बाबतीत, मी आता esc_html आणि wp_kses सारखी फंक्शन्स वापरतो. प्रत्येक डेटाबेस राईटसाठी मी $wpdb->prepare वापरतो. प्रत्येक एन्ट्री पॉईंटवर मी current_user_can द्वारे परवानग्या तपासतो.
खरी समस्या केवळ त्रुटींची नाही, तर प्रतिसादाच्या वेळेची (response time) आहे.
- ५२% डेव्हलपर्स बग सार्वजनिक होण्यापूर्वी पॅच (patch) रिलीज करत नाहीत.
- ४६% जाहीर झालेल्या त्रुटींसाठी कोणतीही उपाययोजना (fix) उपलब्ध नाही.
बहुतेक डेव्हलपर्स हे एकटेच काम करणारे (solo authors) असतात. त्यांना वेगाने त्रुटी सुधारण्यासाठी पैसे मिळत नाहीत. AI मुळे ही दरी स्पष्टपणे दिसून येते.
जर तुम्ही प्लगइन्स रिलीज करत असाल, तर फक्त काळजीपूर्वक लिहिणे आणि आशा करणे पुरेसे नाही. हल्लेखोर काही सेकंदात तुमच्या त्रुटी शोधतील असे गृहीत धरा.
खालील सुरक्षा उपाययोजना करा:
- सर्व इनपुट, आउटपुट आणि परवानग्यांची स्वतः तपासणी करा.
- मॉडेलच्या सर्व प्रतिसादांचे सॅनिटायझेशन (sanitize) करा.
- लोकांना खाजगीरित्या त्रुटी कळवण्यासाठी एक मार्ग तयार करा.
तुमच्या readme फाईलमध्ये एक साधा सुरक्षा संपर्क (security contact) देणे ही एक सुरुवात आहे. एखादी त्रुटी सार्वजनिक धोका बनण्यापूर्वी, रिपोर्ट करण्यासाठी तुमच्याकडे एक चॅनेल असणे आवश्यक आहे.
