- 3 अगस्त 2025 DrawAFish! वेबसाइट पर लगभग 6 घंटे तक एक बड़ा सुरक्षा उल्लंघन हुआ
- एडमिन पासवर्ड लीक, बिना authentication वाला API और JWT कमजोरी जैसी मुख्य सुरक्षा कमजोरियाँ हमले के लिए खुल गईं
- नतीजतन सभी यूज़रनेम अपमानजनक शब्दों में बदल दिए गए, अनुचित चित्रों को approve किया गया और साथ ही पहले से मौजूद सुरक्षित चित्र हट गए
- मैनुअल रिकवरी, authentication लॉजिक में सुधार और बैकअप की पुष्टि जैसी कार्रवाइयों से समस्या का समाधान किया गया
- मुख्य सबक यह था कि तेज़ डेवलपमेंट (“vibe-coding”) और टेस्टिंग व कोड रिव्यू की कमी सुरक्षा पर गंभीर परिणाम ला सकती है
DrawAFish.com का अवलोकन और 3 अगस्त 2025 की घटना का संक्षिप्त विवरण
- DrawAFish.com वह वेबसाइट है जहाँ यूज़र खुद मछली बनाते हैं और अन्य यूज़र्स के साथ उसे एक टैंक में तैराते हैं
- 1 अगस्त 2025 को यह साइट Hacker News की शीर्ष सूची में नंबर 1 पर पहुँची और काफी ध्यान आकर्षित किया। डेवेलपर ने Copilot जैसे टूल्स से फीचर जल्दी बनाने के लिए ‘vibe-coding’ अपनाया
- लेकिन 3 अगस्त 2025 की सुबह एक गंभीर सुरक्षा घटना हुई
- करीब 6 घंटे तक सभी यूज़रनेम गंदी/अपमानजनक भाषा में बदल दिए गए और अनुचित चित्र approve हो गए, जिससे अराजक स्थिति बन गई
- अंततः एडमिन ने मैन्युअली rollback करके स्थिति ठीक की
कमजोरियों का विस्तृत विश्लेषण
1. पहले लीक हो चुका 6-अंकों वाला एडमिन पासवर्ड
- डेवेलपर ने शुरुआत में अपना बचपन वाला ID और पासवर्ड (6 अंकों का) एडमिन अकाउंट में सेट कर दिया था
- यह पासवर्ड पहले ही Neopets जैसी साइटों की डेटा लीक के कारण ऑनलाइन सार्वजनिक हो चुका था
- बाद में उसने Google Auth लगाया, लेकिन पुराने पासवर्ड को हटाया नहीं, जिससे attacker के लिए vulnerability बनी रही
- attacker ने लीक हुए डेटा का इस्तेमाल कर एडमिन authentication सफलतापूर्वक पास कर ली और abusive actions कीं, जैसे अपमानजनक चित्रों की approval और सामान्य चित्र हटाना
2. बिना authentication वाला यूज़रनेम बदलने वाला API
- प्रोफाइल बैकएंड बनाते समय तेज़ डेवलपमेंट के लिए authentication check के बिना यूज़रनेम-चेंज API implement किया गया
- व्यवहार में कोई भी किसी का भी यूज़रनेम बदल सकता था
3. JWT सत्यापन की कमी
- JWT token-based authentication में token तथा userId/email के match बिना एडमिन ऑपरेशन संभव थे
- यानी attacker के पास अगर सिर्फ़ एडमिन क्रेडेंशियल से issued token हो तो वह किसी भी request पर एडमिन अधिकार से काम कर सकता था
- रोचक यह रहा कि एक Hacker News यूज़र ने इसी कमजोरी का उपयोग करके घुसपैठिए से पहले कुछ अनुचित सामग्री हटाई और आपातकालीन response में मदद की
रिकवरी प्रक्रिया
- डेवेलपर ने सुबह लगभग 7:45 बजे स्थिति बिगड़ने का एहसास होते ही तुरंत डेस्कटॉप से response शुरू किया
- Firebase backup सेट नहीं था, इसलिए बैकअप पर निर्भर नहीं रहा जा सका; कोड में तुरंत patch करके authentication को mandatory कर दिया गया
- सभी moderation logs को ट्रैक कर malicious actions को undo करने के लिए script बनाई गई (यह भी vibe-coding तरीके से लिखी गई)
- आपात स्थिति में एडमिन privilege वाले तीसरे पक्ष (Hacker News यूज़र) के access account को भी block करने के बाद उससे संपर्क कर codebase की security refactoring पर feedback ली और अतिरिक्त patches जारी किए
विकास संस्कृति और सबक
- डेवेलपर ने अनुभव किया कि “vibe-coding” यानी तेज़ prototyping और minimal review culture मज़ेदार और high productivity दे सकता है, लेकिन वास्तविक दुनिया में यह गंभीर security vulnerabilities भी पैदा कर सकता है
- LLM (Copilot) जल्दी code generate करने में बहुत उपयोगी है, लेकिन code quality और security की जिम्मेदारी फिर भी डेवेलपर की ही होती है
- टेस्टिंग, authentication लॉजिक और code review जैसी बेसिक सुरक्षा प्रक्रियाओं को छोड़ने पर छोटे project में भी बाहर से attack होने का जोखिम बहुत बढ़ जाता है—यह इसका वास्तविक उदाहरण है
निष्कर्ष और इनसाइट्स
- DrawAFish.com केस दिखाता है कि वास्तविक सेवा संचालन में अक्सर नज़रअंदाज़ किए जाने वाले मूलभूत सुरक्षा उपाय कितने महत्वपूर्ण हैं
- ओपन सोर्स टूल्स और तेज़ डेवलपमेंट टूल्स पर निर्भर रहने पर भी टेस्टिंग, authentication, code review, password management जैसे बेसिक मुद्दों की जाँच आवश्यक है
- अचानक बढ़ी दृश्यता (जैसे Hacker News की top rank) के साथ attack surface और risk तेजी से बढ़ सकते हैं
- Postmortem को पारदर्शी तरीके से डॉक्युमेंट करने से भविष्य के समान startups या independent developers को व्यावहारिक security lessons मिलती हैं
अभी कोई टिप्पणी नहीं है.