Google marca o site do Immich como perigoso
(immich.app)- Recentemente, o serviço Google Safe Browsing passou a exibir alertas de risco para todos os sites relacionados ao Immich
- Todo o domínio immich.cloud foi afetado, fazendo com que o acesso ficasse praticamente bloqueado na maioria dos navegadores
- A causa foi que URLs internas de deploy, como ambientes de Preview, foram rastreadas automaticamente e tratadas como falsos positivos
- A equipe conseguiu restaurar temporariamente o acesso por meio de um recurso no Google Search Console, mas o problema volta a ocorrer sempre que um novo Preview é criado
- Por se tratar de uma característica estrutural de serviços open source e self-hosted, a equipe pretende separar os ambientes de Preview em um domínio distinto no futuro
Incidente em que o Google marcou o site do Immich como perigoso
20 de outubro de 2025
Por Jason Rasmussen
Visão geral
- No começo deste mês, todos os sites em
*.immich.cloudforam classificados como perigosos, e os usuários passaram a ver no navegador uma tela de alerta de segurança (a chamada "red-screen-of-death") - Ninguém da equipe entendia claramente como esse recurso do navegador funcionava, mas agora esse conhecimento entrou para a lista de 'cursed knowledge'
Contexto
- O Google oferece gratuitamente o serviço Safe Browsing, cujo objetivo é determinar se um site contém malware, software indesejado ou golpes de engenharia social
- Navegadores importantes como Chrome e Firefox integram esse serviço
- Não está claro como o serviço determina, na prática, que algo é perigoso
- Quando um site é classificado como perigoso, a maioria dos usuários deixa de conseguir utilizá-lo
- Apenas uma parcela muito pequena dos usuários consegue entrar por meio dos links 'ver detalhes' e 'visitar este site não seguro'
Como descobriram a sinalização
- No começo do mês, vários sites do domínio
immich.cloudpassaram a aparecer como "perigosos", e usuários começaram a reclamar que suas próprias instâncias self-hosted do Immich também estavam sendo sinalizadas - Todos os sites internos usados pela equipe, incluindo ambientes de Preview, também passaram a exibir alertas
- Isso trouxe o incômodo contínuo de precisar passar toda vez pelo processo de visualizar um "site seguro"
Resposta via Google Search Console
-
Como o alerta não foi removido mesmo após vários dias, a equipe decidiu usar o Google Search Console, que é o canal oficial de resposta
-
Esse serviço exige criar uma conta Google, usar o Search Console e solicitar revisão para o site sinalizado
-
O Search Console fornece alguma explicação sobre o motivo da classificação de risco
- "O Google detectou conteúdo nocivo em algumas páginas do seu site"
- "Essas páginas apresentam fatores de risco, como induzir a instalação de software indesejado ou expor informações pessoais"
-
Ao verificar a lista completa de URLs apontadas como problemáticas, todas eram URLs relacionadas ao ambiente de Preview
-
O ponto mais chocante foi que, mesmo que apenas um subdomínio seja sinalizado, todo o domínio passa a ser tratado como problemático
Impacto
- Os ambientes de Preview e serviços internos (zitadel, outline, grafana, victoria metrics etc.) foram todos afetados
- O tile server de produção (
tiles.immich.cloud) também entrou na área de impacto - Ainda assim, como o tile server é acessado via JavaScript e não tem uma interface direta para o usuário, foi confirmado que ele continuou funcionando normalmente
Tentativa de "resolver" o problema
- No Google Search Console, é necessário usar o recurso
Request Reviewpara contestar a sinalização e explicar a resolução - Se a equipe pedir a revisão sem realmente corrigir o problema, o processo de análise demora mais
Solicitação de restauração de site perigoso
-
Como concluíram que não havia nenhum problema real, enviaram a seguinte explicação
- O Immich é uma aplicação self-hosted, e a equipe do Immich (https://immich.app/) gerencia e opera diretamente todo esse domínio
- Todos os sites sinalizados eram apenas ambientes oficiais de deploy interno, e não estavam fingindo ser outra pessoa ou serviço
-
Em 1 a 2 dias, o domínio voltou a ser considerado normal e o acesso foi restaurado
Esforços para minimizar o problema
-
Ao adicionar o rótulo
previewem um Pull Request no GitHub, um ambiente de Preview do Immich é criado automaticamente e, assim que fica pronto, um comentário de verificação é publicado junto com a URL do Previewhttps://pr-<num>.preview.internal.immich.cloud/ -
Sempre que um novo ambiente de Preview é criado, o domínio
immich.cloudvolta a ser classificado como perigoso -
A equipe suspeita que o Google rastreie o GitHub, descubra novas URLs, as explore e então as marque como perigosas
-
A medida em estudo no momento é separar os ambientes de Preview para um domínio exclusivo (
immich.build)
Um problema maior
- O sistema Google Safe Browsing parece ter sido projetado sem considerar as características de softwares open source e self-hosted
- Além do Immich, vários projetos populares já passaram por problemas semelhantes
- O Google pode bloquear arbitrariamente qualquer domínio e, na prática, há poucas formas de reação além de continuar pedindo revisão ao Google
Cheers,
Equipe do Immich
1 comentários
Comentários do Hacker News
Se você pretende hospedar conteúdo de usuários em subdomínios, precisa registrar o site na Public Suffix List https://publicsuffix.org/list/
Assim, um subdomínio contaminado não afeta o site inteiro
Se você hospeda conteúdo gerado por usuários, estar na PSL é praticamente um conhecimento tácito entre desenvolvedores web
É difícil saber disso sem passar por algo como o problema do Immich antes, então a maioria das pessoas só descobre na prática
Antigamente, os navegadores usavam um algoritmo que só bloqueava a definição ampla de cookies quando o domínio não tinha ponto algum (ex.:
.com,.org)Mas isso causava o problema de vazar cookies para todos os domínios registrados abaixo de domínios em subnível como
.co.ukComo cada TLD tem políticas de registro diferentes, não havia uma forma de resolver isso do ponto de vista de desenvolvimento, então acabaram recorrendo à manutenção manual de uma lista como a Public Suffix List
Ver que o navegador tem esse tipo de limitação desde a origem faz a web parecer um carro feito com fita adesiva https://publicsuffix.org/learn/
Pelos vários links deste post, na prática existem dois problemas
O primeiro é relativamente simples se você conhece a PSL, mas o segundo é mais complicado, especialmente quando o nome do software aparece no domínio
O problema não é o conteúdo do usuário em si, e sim que eu subi a build de release do Immich diretamente no meu servidor e o Google bloqueou o meu domínio inteiro
Isso não aconteceu porque o Immich realmente hospedava conteúdo de usuários, e sim em um subdomínio de preview de PR
Na minha opinião, isso é claramente um problema no código do Google
Recomendo dar uma olhada na lista inteira de “Cursed Knowledge” da equipe do Immich https://immich.app/cursed-knowledge
Algumas coisas da lista na verdade parecem mais um design de segurança óbvio
Por exemplo: “alguns celulares removem automaticamente as informações de GPS quando um app sem permissão de localização lê uma imagem”
Isso me parece um comportamento natural e desejável
Seria ótimo se projetos pudessem compartilhar esse tipo de conhecimento em um arquivo padrão como
CURSED.mdAssim todo mundo aprenderia esse tipo de lição adquirida na prática
“Parâmetros de consulta do Postgres têm limite de 65.000”
É curioso que até isso possa ser insuficiente
Sempre fico curioso com esse tipo de aviso
Eles praticamente rotulam alguém diretamente como “golpista” ou “atacante”; isso não seria difamação?
O mesmo vale para os avisos da Microsoft sobre executáveis não verificados
Antes a mensagem era algo como “não sabemos se isso é seguro”, mas hoje parece mais “você é um atacante”
A palavra “golpista” não aparece no aviso em si; a formulação é algo como “atacantes podem estar neste site”, “might”
Isso inclui casos em que um hacker terceirizado invadiu o site
Não estão chamando o dono do site de atacante
O jurídico provavelmente revisou o texto com bastante cuidado
Não sou advogado, mas não me lembro de isso já ter ido parar em tribunal
Parece que poderia se encaixar em difamação
Talvez isso nem seja um problema tão grave, mas fico me perguntando se, em um lugar como o Immich, qualquer pessoa pode enviar um PR e, se receber apenas a tag de preview, esse conteúdo passa automaticamente a ser hospedado em https://pr-<num>.preview.internal.immich.cloud
No fim, isso não significaria que qualquer um pode publicar o que quiser livremente?
No GitHub, quem pode adicionar labels é limitado a colaboradores, então não é totalmente aberto
Ainda assim, há risco se um colaborador puder primeiro enviar um PR legítimo, ganhar acesso à label e depois publicar qualquer coisa
Parece uma ideia de phishing que realmente não custa nada
É difícil acreditar que uma única empresa consiga determinar até quais sites você pode acessar
Como se limitar a execução de apps já não fosse suficiente, agora chegamos a esse nível
Vários problemas são consequência de o Congresso dos EUA ter operado de forma ineficiente por muito tempo
É impressionante como conseguiram fazer até usuários que odeiam publicidade acharem essas big techs “legais”
Ninguém quer anúncios, mas para a empresa eles são uma fonte de receita
Não entendo como o Google consegue embalar essa imagem empresarial antiética como se fosse algo “descolado”
Tenho a sensação de que a internet aberta acabou
Agora os monopólios controlam tudo
Mantive um app iOS na loja por 3 anos, e de repente a Apple exigiu uma nova licença que nem sequer existe, dizendo que removeria o app se eu não a apresentasse
Nada mudou em 3 anos, mas mesmo assim foi isso que aconteceu
Estou cada vez mais cansado de ver que nem self-hosting dá mais para fazer livremente
Um amigo meu, que também é cliente, usava hospedagem do ecossistema WordPress com um redirecionamento simples
O host acabou entrando em uma blacklist de “site perigoso”
Mesmo depois de remover o redirecionamento, o domínio dele continuou contaminado, e por causa disso o Google simplesmente deixou de aceitar emails vindos desse domínio
Ele conseguiu sair da blacklist após pedir revisão, mas o efeito de bloqueio de email permaneceu para sempre
No fim, registrou um novo domínio; esse tipo de atitude do Google só incentiva a criação contínua de contas descartáveis
Só de imaginar meu domínio, que uso há 25 anos sem problemas, sendo colocado por engano em blacklist e tendo até o email bloqueado, já é horrível
Minha conclusão é que vale a pena separar domínios por finalidade
Isso tem a desvantagem de fazer vários TLDs parecerem serviços oficiais em escala global, mas este caso me deixou ainda mais convencido
Por exemplo:
www.contoso.com (público)
www.contoso.blog (público, com comentários de usuários)
contoso.net (interno)
staging.contoso.dev (desenvolvimento/endpoint zero-trust)
raging-lemur-a012afb4.contoso.build (snapshots)
Mas, se você separar os domínios assim, do ponto de vista do usuário o risco de parecer phishing fica muito maior
Uma vez recebi um email de
githubnext.com; como para mim GitHub = github.com, achei naturalmente que era phishing ou spamNo fim, era um serviço real
Boa abordagem
Também estou enfrentando o mesmo problema no meu domínio neste momento
O Google marcou a nossa instância familiar do Immich como site perigoso, e todos os outros serviços servidos no mesmo domínio também ficaram inacessíveis no Chrome
Na prática dá para contornar o aviso, mas isso torna impossível usar o álbum de fotos que enviei para a minha sogra
Passei exatamente pela mesma experiência no começo deste ano ao fazer self-host do Umami Analytics
https://news.ycombinator.com/item?id=42779544#42783321
Só removeram a marcação depois que mencionei “medidas legais” ao contestar no Google Search Console
Estou com o mesmo problema há anos
https://news.ycombinator.com/item?id=45678095