Google menandai situs Immich sebagai situs berbahaya
(immich.app)- Baru-baru ini, semua situs terkait Immich menerima peringatan berbahaya akibat layanan Google Safe Browsing
- Seluruh domain immich.cloud terdampak, sehingga akses praktis terblokir di sebagian besar browser
- Penyebabnya adalah URL deployment internal seperti lingkungan Preview yang ter-crawl secara otomatis lalu diperlakukan sebagai positif palsu
- Mereka sempat memulihkannya dalam jangka pendek melalui pengajuan banding di Google Search Console, tetapi masalah terus berulang setiap kali Preview baru dibuat
- Ini merupakan masalah struktural karena sifat layanan open-source·self-hosting, dan ke depannya lingkungan Preview akan dipisahkan ke domain terpisah
Insiden Google menandai situs Immich sebagai situs berbahaya
20 Oktober 2025
Oleh Jason Rasmussen
Ringkasan
- Pada awal bulan ini, semua situs web
*.immich.clouddiklasifikasikan sebagai situs berbahaya, dan pengguna melihat layar peringatan keamanan di browser (yang dijuluki "red-screen-of-death") - Tidak ada seorang pun di tim yang benar-benar memahami cara kerja fitur browser ini, tetapi kini pengetahuan itu telah masuk ke daftar 'cursed knowledge'
Latar belakang
- Google menyediakan layanan Safe Browsing secara gratis, yang bertujuan menilai apakah suatu situs mengandung malware, perangkat lunak yang tidak diinginkan, atau penipuan rekayasa sosial
- Browser utama seperti Chrome dan Firefox terintegrasi dengan layanan tersebut
- Cara sebenarnya layanan ini menentukan suatu risiko tidaklah jelas
- Jika sebuah situs diklasifikasikan sebagai berbahaya, sebagian besar pengguna menjadi tidak bisa menggunakan situs tersebut
- Hanya segelintir pengguna yang dapat masuk melalui tautan 'Lihat detail' dan 'Kunjungi situs aman'
Menyadari situasi pemblokiran
- Pada awal bulan ini, banyak situs di domain
immich.cloudditandai sebagai "berbahaya", dan ada keluhan dari pengguna bahwa instance Immich self-hosted mereka juga ikut ditandai - Semua situs internal yang digunakan secara internal, seperti lingkungan Preview, juga memunculkan peringatan
- Ini menyebabkan ketidaknyamanan berkelanjutan karena setiap kali harus melewati proses "lihat situs aman"
Penanganan melalui Google Search Console
-
Karena peringatannya tidak dicabut bahkan setelah beberapa hari, mereka memutuskan menggunakan jalur respons resmi, yaitu Google Search Console
-
Layanan ini mengharuskan pembuatan akun Google, penggunaan Search Console, dan pengajuan permintaan peninjauan untuk situs yang ditandai
-
Search Console memberikan sebagian penjelasan mengenai alasan penandaan berbahaya
- "Google mendeteksi konten berbahaya di beberapa halaman situs Anda"
- "Halaman-halaman ini memiliki elemen berisiko seperti mendorong pemasangan perangkat lunak yang tidak diinginkan atau mengekspos informasi pribadi"
-
Saat memeriksa daftar lengkap URL yang ditunjuk sebagai masalah, semuanya adalah URL terkait lingkungan Preview
-
Hal yang paling mengejutkan adalah jika hanya satu subdomain saja ditandai, seluruh domain ikut dianggap bermasalah
Dampak
- Lingkungan Preview dan layanan internal (zitadel, outline, grafana, victoria metrics, dll.) semuanya terdampak
- Server tile production (
tiles.immich.cloud) juga termasuk sasaran - Namun, karena server tile dipanggil melalui JavaScript dan tidak memiliki antarmuka pengguna langsung, dipastikan masih berfungsi normal
Upaya "menyelesaikan" masalah
- Di Google Search Console, mereka perlu menggunakan fitur
Request Reviewuntuk mengajukan banding dan menjelaskan penyelesaiannya - Jika hanya meminta peninjauan tanpa benar-benar menyelesaikan masalah, waktu peninjauan akan menjadi lebih lama
Permintaan pemulihan situs berbahaya
-
Karena mereka menilai sebenarnya tidak ada masalah substantif, penjelasan respons berikut dikirimkan
- Immich adalah aplikasi untuk self-hosting, dan tim Immich (https://immich.app/) secara langsung mengelola dan mengoperasikan seluruh domain terkait
- Semua situs yang ditandai hanyalah lingkungan deployment resmi mereka sendiri, dan tidak menyamar sebagai pihak lain
-
Dalam 1–2 hari, domain tersebut kembali dinilai normal dan akses dipulihkan
Upaya meminimalkan masalah
-
Jika label
previewditambahkan ke GitHub Pull Request, lingkungan Immich Preview akan dibuat secara otomatis, dan segera setelah dibuat akan muncul URL Preview beserta komentar verifikasi identitashttps://pr-<num>.preview.internal.immich.cloud/ -
Setiap kali lingkungan Preview baru dibuat, domain
immich.cloudkembali menerima penilaian sebagai situs berbahaya -
Diduga Google menemukan, menjelajahi, lalu menandai URL baru itu sebagai berbahaya saat melakukan crawling terhadap GitHub
-
Solusi yang sedang dipersiapkan saat ini adalah memisahkan lingkungan Preview ke domain khusus terpisah (
immich.build)
Masalah yang lebih besar
- Sistem Google Safe Browsing tampaknya dirancang tanpa mempertimbangkan karakteristik perangkat lunak open-source dan self-hosting
- Selain Immich, banyak proyek populer lain juga mengalami masalah serupa
- Google dapat memblokir domain mana pun secara sepihak, dan dalam situasi ini praktis tidak ada cara lain selain terus-menerus meminta peninjauan ke Google
Salam,
Tim Immich
1 komentar
Komentar Hacker News
Jika Anda berencana meng-host konten pengguna di subdomain, situs harus didaftarkan ke Public Suffix List https://publicsuffix.org/list/
Dengan begitu, subdomain yang terkontaminasi tidak akan memengaruhi seluruh situs
Di kalangan pengembang web, ini semacam pengetahuan implisit bahwa jika Anda meng-host konten buatan pengguna, Anda wajib ada di PSL
Sulit mengetahui hal seperti ini kalau belum pernah mengalaminya lebih dulu, jadi kebanyakan orang memang tidak tahu sampai benar-benar menghadapinya
Dulu browser memakai algoritme yang hanya mencegah penyetelan cookie secara luas jika domain tidak memiliki titik sama sekali (mis. .com, .org)
Tetapi pada domain sublevel seperti .co.uk, muncul masalah cookie yang bocor ke semua domain terdaftar di bawahnya
Karena kebijakan pendaftaran tiap top-level domain berbeda-beda, tidak ada cara untuk menyelesaikannya dari sisi pengembangan, sehingga akhirnya muncullah pendekatan pemeliharaan daftar manual seperti Public Suffix List
Melihat browser memang punya keterbatasan bawaan seperti ini, web terasa seperti mobil yang dibuat dengan lakban https://publicsuffix.org/learn/
Dari berbagai tautan di postingan ini, tampaknya sebenarnya ada dua masalah
Yang pertama relatif mudah jika Anda tahu soal PSL, tetapi yang kedua lebih merepotkan, terutama jika nama domain memuat nama perangkat lunaknya
Masalahnya bukan pada konten pengguna itu sendiri, melainkan saya mengunggah release build Immich langsung ke server saya dan Google memblokir seluruh domain saya
Ini bukan karena Immich benar-benar meng-host konten pengguna, melainkan masalah itu terjadi pada subdomain untuk PR preview
Menurut saya ini jelas masalah pada kode Google
Saya merekomendasikan untuk melihat seluruh daftar ‘Cursed Knowledge’ milik tim Immich https://immich.app/cursed-knowledge
Sebagian isi daftar itu justru terasa seperti desain keamanan yang wajar
Misalnya, ‘beberapa ponsel secara otomatis menghapus informasi GPS saat aplikasi tanpa izin lokasi membaca gambar’
Itu justru terasa seperti perilaku yang alami dan diinginkan
Akan bagus jika pengetahuan praktis semacam ini bisa dibagikan per proyek lewat file standar seperti CURSED.md
Dengan begitu semua orang bisa belajar dari beragam pengetahuan yang diperoleh di lapangan
‘Parameter query Postgres dibatasi sampai 65.000’
Lucu juga bahwa jumlah sebanyak itu masih terasa kurang
Ada hal yang selalu saya penasaran dari pesan peringatan seperti ini
Mereka secara langsung memberi label ‘penipu’ atau ‘penyerang’; apakah itu tidak termasuk pencemaran nama baik
Peringatan untuk executable yang belum diverifikasi dari Microsoft juga sama
Dulu bunyinya seperti ‘kami tidak tahu apakah ini aman’, tetapi sekarang tampilannya lebih seperti ‘Anda adalah penyerang’
Kata ‘penipu’ sebenarnya tidak dipakai di peringatannya; yang dipakai adalah kalimat seperti ‘penyerang mungkin ada di situs ini’, ‘might’ atau ‘mungkin’
Itu juga mencakup kasus ketika peretas pihak ketiga telah menyusup
Itu bukan menuduh pemilik situs sebagai penyerang
Tim legal pasti meninjau redaksinya dengan sangat hati-hati
Saya bukan pengacara, tetapi setahu saya belum pernah ada kasus seperti ini yang sampai ke pengadilan
Mungkin saja itu bisa dianggap pencemaran nama baik
Mungkin ini sebenarnya bukan masalah besar, tetapi saya penasaran apakah pada layanan seperti Immich siapa pun bisa mengirim PR, lalu jika hanya diberi tag preview maka isinya pasti di-host di https://pr-<num>.preview.internal.immich.cloud
Kalau begitu, bukankah pada akhirnya siapa pun bisa mengunggah apa saja dengan bebas?
Di GitHub, orang yang bisa menambahkan label dibatasi pada kolaborator, jadi ini tidak sepenuhnya terbuka
Meski begitu, jika seorang kolaborator bisa lebih dulu mengirim PR yang normal, lalu setelah mendapat label bisa mengunggah apa pun, tetap ada faktor risiko
Kedengarannya seperti ide phishing yang benar-benar gratis
Sulit dipercaya bahwa satu perusahaan bisa sampai menentukan situs apa yang boleh diakses
Membatasi eksekusi aplikasi saja belum cukup, sekarang sudah sampai level ini
Ini akibat Kongres AS yang telah lama berjalan tidak efisien, dan dampaknya merembet ke banyak masalah
Saya heran bagaimana mereka bisa membuat bahkan pengguna yang membenci iklan tetap menganggap perusahaan besar seperti ini ‘keren’
Tidak ada yang menginginkan iklan, tetapi bagi perusahaan itu adalah alat untuk menghasilkan uang
Saya tidak paham bagaimana Google bisa membungkus citra perusahaan yang tidak etis seperti ini seolah justru ‘keren’
Saya merasa internet terbuka sudah berakhir
Sekarang semuanya dikuasai para monopoli
Saya menaruh aplikasi iOS di App Store selama 3 tahun, lalu tiba-tiba Apple meminta lisensi baru yang sebenarnya tidak ada, dan mengatakan aplikasi akan diturunkan jika saya tidak menyediakannya
Padahal selama 3 tahun itu tidak ada yang berubah
Saya makin muak karena sekarang bahkan self-hosting pun terasa tidak bisa dilakukan dengan bebas
Teman saya yang juga klien saya pernah memakai hosting berbasis WordPress dan redirect sederhana
Tiba-tiba host itu masuk blacklist ‘situs berbahaya’
Bahkan setelah redirect dihapus, domain miliknya sendiri tetap ikut tercemar, dan akibatnya Google sama sekali tidak menerima email dari domain itu
Memang akhirnya blacklistnya dicabut lewat permintaan peninjauan, tetapi efek pemblokiran emailnya tetap permanen
Akhirnya dia mendaftarkan domain baru; tindakan Google seperti ini justru hanya memberi insentif untuk terus membuat akun sekali pakai
Membayangkan domain saya yang sudah saya pakai dengan baik selama 25 tahun tiba-tiba masuk blacklist karena kesalahan lalu emailnya ikut diblokir terasa mengerikan
Kesimpulan saya adalah lebih baik memisahkan domain berdasarkan kegunaannya
Memang ada kelemahannya karena berbagai TLD di seluruh dunia bisa terlihat seolah layanan resmi, tetapi kasus ini membuat saya makin yakin
Contohnya
www.contoso.com (publik)
www.contoso.blog (publik, dengan komentar pengguna)
contoso.net (internal)
staging.contoso.dev (pengembangan/endpoint zero-trust)
raging-lemur-a012afb4.contoso.build (untuk snapshot)
Namun jika domain dipisahkan seperti itu, dari sudut pandang pengguna justru risikonya terlihat jauh lebih mirip phishing
Saya pernah menerima email dari ‘githubnext.com’, dan karena saya tahunya Github = github.com, saya tentu menganggap itu phishing atau spam
Ternyata itu layanan yang asli
Pendekatan yang bagus
Saya juga sedang mengalami masalah yang sama dengan domain saya sekarang
Google menilai instance Immich keluarga kami sebagai situs berbahaya, sehingga semua layanan lain yang disajikan dari domain yang sama juga tidak bisa diakses di Chrome
Memang peringatannya bisa dilewati, tetapi album foto yang saya kirimkan ke ibu mertua saya jadi sama sekali tidak bisa dipakai
Saya mengalami hal yang persis sama awal tahun ini saat self-hosting Umami Analytics
https://news.ycombinator.com/item?id=42779544#42783321
Saat mengajukan keberatan ke Google Search Console, barulah flag itu dicabut setelah saya menyebut ‘tindakan hukum’
Saya juga sudah mengalami masalah yang sama selama beberapa tahun
https://news.ycombinator.com/item?id=45678095