# Phishing por "instalar como aplicativo": quando um site finge ser software

> O Chrome permite que qualquer site se instale como um aplicativo independente. Uma técnica documentada usa isso para falsificar toda uma janela de login, barra de endereço incluída. O que consegue e o que não consegue esconder, e como verificar o que está realmente instalado.

HisnLabs Security & Research Team · Published 2026-09-25
Canonical: https://hisnlabs.com/pt-br/blog/pwa-phishing-install-as-app-security-nightmare

Navegadores baseados em Chromium permitem que um usuário transforme quase qualquer página web em algo que parece um aplicativo nativo: sua própria janela, seu próprio ícone no Dock, nenhum elemento visível de navegador. Esse recurso é pensado para sites legítimos que você usa com frequência. O pesquisador de segurança [mr.d0x documentou](https://mrd0x.com/progressive-web-apps-pwa-phishing/), em 11 de junho de 2024, como o mesmo mecanismo pode ser transformado em um kit de phishing: instalar uma página como aplicativo, e depois desenhar uma janela de navegador falsa, barra de endereço e tudo, dentro do próprio HTML do aplicativo.

## Como a ilusão de aplicativo instalado é construída

Na técnica documentada, uma vítima é levada a uma página que a convida a instalá-la como aplicativo, com o próprio aviso de instalação mostrando um nome falsificado como "Microsoft Login." Uma vez instalado, o aplicativo abre em sua própria janela sem elementos de navegador. Como não existe uma barra de endereço real para falsificar, a página desenha a sua própria com CSS: uma falsificação convincente, posicionada exatamente onde a barra de endereço de um navegador estaria, mostrando qualquer URL que o atacante queira exibir. Para alguém treinado a "verificar a barra de endereço," o aplicativo parece passar nesse teste, porque o que essa pessoa está olhando não é, de forma alguma, a barra de endereço do navegador.

> **Note:** Isso tem um limite real, declarado pelo pesquisador: "a janela da PWA exibe brevemente o nome de domínio real no canto superior direito" quando abre pela primeira vez. Esse flash da origem verdadeira é o único sinal honesto que a técnica não consegue suprimir por completo. É fácil de perder, mas está lá.

## O que de fato torna isso convincente

- Instala-se como um software normal: um ícone no Dock ou na pasta Aplicativos, sua própria janela, às vezes notificações push, nada disso exigindo sair do próprio fluxo de instalação do navegador.
- O nome e o ícone do aviso de instalação são o que quer que o manifesto do atacante declare que sejam. Nada na etapa de instalação verifica se o nome corresponde ao site.
- Uma vez rodando, os elementos falsos de navegador persistem por toda a sessão: sem abas de navegador, sem barra de favoritos, sem ícones de extensão para quebrar a ilusão.

## Auditando o que está realmente instalado, pelo terminal

No macOS, o Chrome e navegadores baseados em Chromium instalam esses "aplicativos" como bundles de aplicativo comuns, e cada um registra a URL real de onde foi instalado dentro do seu próprio `Info.plist`, seja qual for o nome exibido no Finder. Confirmamos isso contra um aplicativo real, atualmente instalado neste Mac (um atalho instalado pelo navegador para um painel da Cloudflare):

*Terminal*

```console
$ ls ~/Applications/*.localized/
Cloudflare.app

$ plutil -p ~/Applications/"Brave Browser Apps.localized"/Cloudflare.app/Contents/Info.plist | grep -i CrAppMode
  "CrAppModeShortcutName" => "Cloudflare"
  "CrAppModeShortcutURL" => "https://dash.cloudflare.com/"
```

Esse campo `CrAppModeShortcutURL` é o fato que uma barra de endereço falsa não consegue alterar: ele é definido uma única vez, no momento da instalação, a partir do próprio manifesto da página, e é o que o aplicativo de fato abre toda vez que é iniciado. Um aplicativo chamado "Login do Banco" cujo `CrAppModeShortcutURL` aponta para outro lugar que não o domínio real do seu banco se entregou.

1. Liste todo aplicativo web instalado: `ls ~/Applications/*.localized/*/`, uma vez para cada navegador baseado em Chromium que você usa (`Chrome Apps.localized`, `Brave Browser Apps.localized`, `Edge Apps.localized`, e similares).
2. Para qualquer coisa da qual você não se lembre claramente de ter instalado, ou que lide com login, verifique sua URL real: `plutil -p "<path>/Contents/Info.plist" | grep -i CrAppMode`.
3. Fique atento à origem verdadeira que o Chromium mostra brevemente quando o aplicativo abre, e leia isso, em vez da própria interface desenhada pelo aplicativo.

## Por que isso é um problema de rede, não apenas de interface

Seja qual for a aparência da janela, uma página que coleta credenciais ainda precisa enviar o que coletou para algum lugar, pela rede, a partir de um processo rodando no seu Mac. Um firewall que só pergunta "o binário deste aplicativo está assinado e é confiável" não ajuda aqui: uma PWA instalada roda dentro do próprio executável assinado e confiável do navegador. O que pode ajudar é observar a própria conexão: qual processo está fazendo-a, e para onde ela de fato vai, independentemente do que a janela na tela alega ser.

## Onde FireAI e HisnLabs entram nessa história

Whatever a fake login screen looks like, it still has to send the password it captured somewhere; FireAI shows you exactly which process is trying to phone home and to what destination, installed web app or not, and lets you say no before anything leaves your Mac.

O FireAI é o produto da HisnLabs: um firewall com IA que roda direto no seu Mac. Ele mostra, em linguagem simples, cada conexão que seus aplicativos fazem e deixa você decidir o que sai do seu Mac — a IA roda localmente, então seu tráfego nunca é enviado para nós nem para ninguém. A equipe de pesquisa em segurança da HisnLabs é quem mantém essas decisões confiáveis: cataloga quais domínios são telemetria comum e quais são um serviço de verdade, rastreia o país e a rede por trás de uma conexão e treina o modelo local (o recurso FireAI Pilot) com padrões reais de tráfego, sem que nada disso saia do seu Mac.

Você pode ler as decisões técnicas por trás dele, ou testar o FireAI por 17 dias, em [FireAI, da HisnLabs](https://hisnlabs.com/fireai/pt-br/download).

## Sources

- [mr.d0x: Progressive Web Apps (PWAs) Phishing](https://mrd0x.com/progressive-web-apps-pwa-phishing/)
- [MDN: Progressive web apps](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps)
- [web.dev: What makes a good PWA](https://web.dev/explore/progressive-web-apps)
