- हाल ही में Google Safe Browsing सेवा के कारण Immich से जुड़ी सभी साइटों पर खतरनाक होने की चेतावनी दिखने लगी
- पूरे immich.cloud डोमेन पर असर पड़ा, जिससे अधिकांश ब्राउज़र में पहुंच व्यावहारिक रूप से अवरुद्ध हो गई
- कारण यह था कि Preview environment जैसे आंतरिक deployment URL अपने-आप crawl होकर false positive के रूप में चिह्नित हो गए
- Google Search Console में आपत्ति दर्ज कर अल्पकालिक रूप से बहाली की गई, लेकिन हर नए Preview के बनने पर समस्या फिर दोहराई गई
- open source·self-hosting सेवा की प्रकृति के कारण यह एक संरचनात्मक समस्या है, और आगे Preview environment को अलग डोमेन में विभाजित करने की योजना है
Google ने Immich साइटों को खतरनाक साइट के रूप में चिह्नित करने की घटना
20 अक्तूबर 2025
By Jason Rasmussen
अवलोकन
- इस महीने की शुरुआत में
*.immich.cloudकी सभी वेबसाइटों को खतरनाक साइट के रूप में वर्गीकृत कर दिया गया, और उपयोगकर्ताओं को ब्राउज़र में सुरक्षा चेतावनी (जिसे "red-screen-of-death" भी कहा जाता है) दिखाई देने लगी - टीम में किसी को भी इस ब्राउज़र सुविधा के काम करने के तरीके की स्पष्ट जानकारी नहीं थी, लेकिन अब यह संबंधित ज्ञान 'cursed knowledge' की सूची में जुड़ गया है
पृष्ठभूमि
- Google Safe Browsing सेवा मुफ्त में उपलब्ध कराता है, जिसका उद्देश्य malware, unwanted software और social engineering जैसे जोखिमों का पता लगाना है
- Chrome, Firefox जैसे प्रमुख ब्राउज़र इस सेवा को एकीकृत करते हैं
- सेवा वास्तव में जोखिम का फैसला कैसे करती है, यह स्पष्ट नहीं है
- किसी साइट को खतरनाक के रूप में वर्गीकृत कर दिए जाने पर, अधिकांश उपयोगकर्ता उस साइट का उपयोग नहीं कर पाते
- केवल बहुत कम उपयोगकर्ता 'ज्यादा जानकारी' और 'सुरक्षित साइट पर जाएं' लिंक के जरिए ही आगे बढ़ सकते हैं
Flagged स्थिति का पता चलना
- इस महीने की शुरुआत में
immich.cloudडोमेन की कई साइटों पर "खतरनाक" संकेत दिखाई दिया, और उपयोगकर्ताओं ने शिकायत की कि उनके self-hosted Immich instance भी flagged हो गए हैं - आंतरिक रूप से इस्तेमाल हो रहे Preview environment सहित सभी internal साइटों पर भी यही चेतावनी दिखाई दी
- हर बार "सुरक्षित साइट" देखने की प्रक्रिया से गुजरना एक लगातार परेशानी बन गया
Google Search Console के जरिए जवाबी कार्रवाई
-
कई दिन बीत जाने के बाद भी चेतावनी नहीं हटी, इसलिए आधिकारिक जवाबी कार्रवाई मार्ग Google Search Console का उपयोग करने का निर्णय लिया गया
-
इस सेवा के लिए Google account बनाना, Search Console का उपयोग करना, और flagged साइटों के लिए review request भेजना अनिवार्य है
-
Search Console ने जोखिम वर्गीकरण के कारणों पर कुछ जानकारी दी
- "Google ने आपकी साइट के कुछ पेजों पर हानिकारक सामग्री का पता लगाया है"
- "इन पेजों में unwanted software install करवाने या व्यक्तिगत जानकारी उजागर होने जैसे जोखिम हो सकते हैं"
-
समस्या वाले पूरे URL की सूची देखने पर पता चला कि वे सभी Preview environment से जुड़े URL थे
-
सबसे चौंकाने वाली बात यह थी कि केवल एक individual subdomain के flagged होने पर भी पूरे डोमेन को खराब माना जा रहा था
प्रभाव
- Preview environment और internal services (
zitadel,outline,grafana,victoria metricsआदि) सभी प्रभावित हुए - Production tile server (
tiles.immich.cloud) भी इसकी चपेट में आया - हालांकि tile server JavaScript के जरिए request किया जाता है और उसका सीधा user interface नहीं है, इसलिए यह सामान्य रूप से काम करता हुआ पाया गया
समस्या को "हल" करने की कोशिश
- Google Search Console में
Request Reviewफीचर के जरिए आपत्ति दर्ज करनी होती है और यह बताना होता है कि समस्या कैसे हल की गई - यदि वास्तव में समस्या हल किए बिना केवल review मांगा जाए, तो जांच की अवधि लंबी हो जाती है
खतरनाक साइट बहाली अनुरोध
-
चूंकि वास्तविक रूप से कोई समस्या नहीं पाई गई, इसलिए नीचे दिए अनुसार स्पष्टीकरण भेजा गया
- Immich self-hosting के लिए एक application है, और Immich टीम(https://immich.app/) पूरे संबंधित डोमेन का सीधे प्रबंधन और संचालन करती है
- flagged की गई सभी साइटें आधिकारिक self-deployed environment हैं और किसी अन्य का प्रतिरूपण नहीं करतीं
-
1–2 दिनों के भीतर डोमेन को फिर सामान्य माना गया और पहुंच बहाल हो गई
समस्या को कम करने के प्रयास
-
GitHub Pull Request पर
previewlabel जोड़ने से Immich Preview environment अपने-आप बनता है, और बनते ही verification comment के साथ Preview URL तैयार हो जाता हैhttps://pr-<num>.preview.internal.immich.cloud/ -
हर बार नया Preview environment बनने पर
immich.cloudडोमेन फिर से खतरनाक घोषित कर दिया जाता है -
अनुमान है कि Google GitHub को crawl करते हुए नए URL खोजता है, उन्हें एक्सप्लोर करता है, और फिर खतरनाक के रूप में चिह्नित कर देता है
-
वर्तमान उपाय के रूप में Preview environment को अलग समर्पित डोमेन (
immich.build) में विभाजित करने की योजना बनाई जा रही है
इससे भी बड़ी समस्या
- Google Safe Browsing system ऐसा लगता है कि open source और self-hosting software की प्रकृति को ध्यान में रखकर डिज़ाइन नहीं किया गया
- Immich के अलावा कई लोकप्रिय प्रोजेक्ट्स ने भी ऐसी ही समस्या का अनुभव किया है
- Google मनमाने ढंग से किसी भी डोमेन को ब्लॉक कर सकता है, और इसके खिलाफ व्यावहारिक रूप से Google से लगातार review मांगने के अलावा कोई खास उपाय नहीं है
Cheers,
The Immich Team
1 टिप्पणियां
Hacker News टिप्पणियाँ
अगर आप user content को subdomain पर host करने वाले हैं, तो साइट को Public Suffix List में register करना चाहिए https://publicsuffix.org/list/
इससे किसी संक्रमित subdomain का असर पूरी साइट पर नहीं पड़ेगा
अगर आप user-generated content host करते हैं, तो PSL में होना web developers के बीच एक तरह की implicit common knowledge मानी जाती है
Immich के issue जैसी चीज़ें पहले से झेली न हों तो यह जानना मुश्किल है, इसलिए ज़्यादातर लोगों को यह तब तक पता नहीं चलता जब तक वे खुद इसका सामना न करें
पहले browsers एक ऐसा algorithm इस्तेमाल करते थे जो सिर्फ उन domains पर broadly cookie set होने से रोकता था जिनमें dot नहीं होता था, जैसे
.com,.orgलेकिन
.co.ukजैसे sublevel domains में cookies सभी नीचे registered domains तक leak हो जाती थींहर top-level domain की registration policy अलग होने की वजह से इसे development के स्तर पर हल करने का तरीका नहीं था, इसलिए अंत में Public Suffix List जैसी manually maintained list का तरीका आया
यह देखकर कि browser में यह सीमा मूल रूप से मौजूद है, web कुछ-कुछ duct tape से बनी कार जैसा लगता है https://publicsuffix.org/learn/
इस पोस्ट से जुड़े कई links देखने पर लगता है कि वास्तव में दो समस्याएँ हैं
पहली समस्या PSL के बारे में पता हो तो अपेक्षाकृत आसान है, लेकिन दूसरी समस्या ज़्यादा पेचीदा है, खासकर जब domain name में software का नाम शामिल हो
समस्या user content नहीं है, बल्कि यह है कि मैंने Immich का release build सीधे अपने server पर host किया और Google ने मेरा पूरा domain block कर दिया
ऐसा इसलिए नहीं हुआ कि Immich वास्तव में user content host कर रहा था, बल्कि यह issue PR preview subdomain पर हुआ
मेरे हिसाब से यह साफ़ तौर पर Google के code की समस्या है
मैं Immich टीम की पूरी ‘Cursed Knowledge’ सूची एक बार देखने की सलाह दूँगा https://immich.app/cursed-knowledge
सूची की कुछ बातें तो उल्टा बिल्कुल obvious security design जैसी लगती हैं
उदाहरण के लिए, ‘कुछ phones location permission न रखने वाले app द्वारा image पढ़े जाने पर GPS information अपने-आप हटा देते हैं’
यह तो बल्कि स्वाभाविक और desirable behavior लगता है
अच्छा होगा अगर इस तरह की जानकारी हर project में
CURSED.mdजैसी किसी standard file में साझा की जा सकेइससे सब लोग field में सीखी गई तरह-तरह की practical knowledge सीख पाएँगे
‘Postgres query parameters की limit 65,000 है’
दिलचस्प यह है कि वह भी कम पड़ सकती है
ऐसी warning language में मुझे हमेशा एक बात पर हैरानी होती है
वे सीधे किसी को ‘scammer’ या ‘attacker’ जैसा label दे देते हैं, तो क्या यह defamation नहीं बनता
Microsoft की unverified executable warning में भी यही बात है
पहले वे कहते थे, ‘हमें नहीं पता कि यह safe है या नहीं’, लेकिन आजकल यह ज़्यादा ‘आप attacker हैं’ जैसी निर्णायक भाषा लगती है
actual warning message में ‘scammer’ शब्द इस्तेमाल नहीं होता, बल्कि ‘site पर attacker हो सकता है’, ‘might’ जैसी wording होती है
इसमें third-party hacker intrusion के मामले भी शामिल होते हैं
यह site owner को attacker नहीं कहता
कानूनी टीम ने शायद wording को काफ़ी सावधानी से review किया होगा
मैं वकील नहीं हूँ, लेकिन मुझे नहीं लगता कि ऐसी warning wording को लेकर मामला कभी अदालत तक गया है
फिर भी यह defamation हो सकता है
यह शायद बहुत बड़ी समस्या न हो, लेकिन मैं सोच रहा हूँ कि Immich जैसी जगहों पर क्या कोई भी PR submit करके सिर्फ preview tag लगते ही उस content को
https://pr-<num>.preview.internal.immich.cloudपर host करा सकता हैआख़िर इसका मतलब तो यह हुआ कि कोई भी कुछ भी freely upload कर सकता है, है न?
GitHub में label जोड़ने की अनुमति collaborators तक सीमित होती है, इसलिए यह पूरी तरह खुला नहीं है
फिर भी अगर कोई collaborator पहले एक वैध PR भेजकर label हासिल कर ले और उसके बाद कुछ भी upload कर सके, तो उसमें risk है
यह तो बिना पैसे वाला phishing idea लगता है
यह मानना मुश्किल है कि एक company यह तक नियंत्रित कर सकती है कि आप किन sites तक पहुँच सकते हैं
app execution restrict करना ही काफ़ी नहीं था, अब बात यहाँ तक पहुँच गई है
यह अमेरिका की Congress के लंबे समय तक अक्षम ढंग से चलने के असर का एक और परिणाम है
मुझे हैरानी है कि ads को नापसंद करने वाले users तक को भी कैसे इन बड़ी कंपनियों को ‘cool’ मानने पर राज़ी कर लिया गया
ads कोई नहीं चाहता, लेकिन company के लिए वही कमाई का ज़रिया हैं
समझ नहीं आता कि Google जैसी अनैतिक company को कैसे ‘cool’ image में पैकेज कर दिया गया
ऐसा लगता है कि open internet खत्म हो चुका है
अब सब कुछ monopolies के नियंत्रण में है
मेरी iOS app 3 साल से store में थी, फिर अचानक Apple ने एक नया license माँगना शुरू कर दिया जो असल में मौजूद ही नहीं था, और कहा कि उसके बिना app हटा दी जाएगी
तीन साल में कुछ बदला भी नहीं था, फिर भी यही हुआ
अब self-hosting तक भी अपनी मर्ज़ी से न कर पाने की स्थिति से मैं धीरे-धीरे थक गया हूँ
मेरे एक दोस्त और client ने WordPress-आधारित hosting और एक simple redirect इस्तेमाल किया था
किसी बिंदु पर host ‘dangerous site’ blacklist में चला गया
redirect हटाने के बाद भी उसका अपना domain दूषित बना रहा, और इसके कारण Google उस domain से email भी बिल्कुल स्वीकार नहीं कर रहा था
review request के ज़रिए blacklist से निकल तो गया, लेकिन email blocking का असर स्थायी रहा
आख़िरकार उसने नया domain register किया, और Google का ऐसा behavior तो उल्टा सिर्फ one-off accounts बनाते रहने की प्रेरणा देता है
मैंने भी 25 साल से अपना domain ठीक-ठाक चलाया है, और अगर वह गलती से blacklist हो जाए और email तक रुक जाए, तो यह कल्पना ही डरावनी है
मेरा निष्कर्ष यह है कि अलग-अलग उपयोगों के लिए अलग domains इस्तेमाल करना बेहतर है
वैश्विक स्तर पर कई TLDs होने से यह कमी रहती है कि वे official service जैसे न लगें, लेकिन इस मामले ने मुझे और आश्वस्त किया है
उदाहरण के लिए
www.contoso.com (public)
www.contoso.blog (public, user comments सहित)
contoso.net (internal)
staging.contoso.dev (development/zero-trust endpoint)
raging-lemur-a012afb4.contoso.build (snapshot) की तरह इस्तेमाल किया जा सकता है
लेकिन domains इस तरह अलग करने से users को phishing जैसा लगने का ख़तरा कहीं ज़्यादा हो जाता है
मुझे पहले ‘githubnext.com’ से mail मिला था, और मैं Github = github.com मानता था, इसलिए मैंने स्वाभाविक रूप से उसे phishing या spam समझा
बाद में पता चला कि वह असली service थी
अच्छा तरीका है
मैं भी अभी अपने domain पर यही समस्या झेल रहा हूँ
Google ने हमारे family Immich instance को dangerous site मान लिया, और उसी domain पर चल रही बाकी सभी services भी Chrome में inaccessible हो गईं
तकनीकी रूप से warning bypass की जा सकती है, लेकिन अपनी सास को भेजा गया photo album ही बेकार हो जाता है
इसी साल की शुरुआत में self-hosted Umami Analytics के साथ मेरा भी बिल्कुल यही अनुभव रहा था
https://news.ycombinator.com/item?id=42779544#42783321
जब मैंने Google Search Console में आपत्ति दर्ज करते हुए ‘legal action’ का ज़िक्र किया, तभी जाकर flag हटा
मैं भी कई सालों से यही समस्या झेल रहा हूँ
https://news.ycombinator.com/item?id=45678095